Przedmiot: Bazy danych Rok: III Semestr: V Rodzaj zajęć i liczba godzin: Studia stacjonarne Studia niestacjonarne Wykład 30 21 Ćwiczenia Laboratorium 30 21 Projekt Liczba punktów ECTS: 4 C1 C2 C3 Cel przedmiotu Zdobycie kompetencji projektowania i budowy transakcyjnej oraz analitycznej bazy danych Zdobycie kompetencji manipulowania danymi i optymalnej eksploracji danych przy pomocy języka SQL w transakcyjnych bazach danych Zdobycie podstawowych kompetencji administrowania bazą danych Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania Efekty kształcenia W zakresie wiedzy: EK 1 Student ma analitycznych baz danych EK 2 Student zna techniki bazy danych EK 3 Student zna danych W zakresie umiejętności: EK 4 zaprojektować i zbudować transakcyjną i analityczną bazę danych EK 5 manipulować danymi i definiować optymalne zapytania do transakcyjnej bazy danych tworzyć użytkowników bazy danych, przyznać im prawa oraz utworzyć kopię bazy danych W zakresie kompetencji społecznych Student posiada świadomość społeczeństwie, ważności bezpieczeństwa danych EK 7 w bazach danych i rozumie konieczność jego zapewnienia EK 8 działać kreatywnie w trakcie projektowania, budowy i eksploracji bazy danych W1 W2 W3 W4 Treści programowe przedmiotu Forma zajęć wykłady Treści programowe Relacyjny model danych i relacyjne bazy danych podstawowe pojęcia, normalizacja, operacje na relacjach, klucze i indeksy, integralność danych, przetwarzanie transakcyjne. Tworzenie struktur danych w transakcyjnej bazie danych przy pomocy języka SQL. Manipulowanie danymi w transakcyjnej bazie danych przy pomocy języka SQL. Selekcja danych przy pomocy języka SQL w transakcyjnej bazie danych eliminowanie powtarzających się wartości, sortowanie wyświetlanych danych, warunkowe wybieranie Studia stacjonarne Studia niestacjonarne 8 6
W5 W6 W7 L1 L2 L3 L4 L5 L6 L7 L8 L9 L11 danych, złączenia zbiorów danych, agregacje Optymalizacja bazy danych generowanie i interpretacja planu wykonania zapytania, wskazówki optymalizatora i sposób ich zastosowania. Hurtownie danych koncepcja analitycznej bazy danych, podstawowe pojęcia, architektura hurtowni danych, obszary zastosowań, modele danych, podstawowe 7 6 operacje analityczne. Administrowanie bazą danych danych, bezpieczeństwo baz danych, archiwizacja i jej zakres, rodzaje kopii zapasowych, narzędzia archiwizacji. Suma godzin: 30 21 Forma zajęć laboratoria Treści programowe Zapoznanie się ze środowiskiem narzędzia dedykowanego do budowy baz Zbudowanie projektu transakcyjnej bazy danych, umożliwiającej realizację zadanej funkcjonalności. Tworzenie struktur tabel relacyjnych, relacji między nimi oraz więzów integralności w języku SQL (instrukcja CREATE 2 2 TABLE) oraz przy zastosowaniu dedykowanego narzędzia. Proste metody modyfikowania zawartości tabel relacyjnych w języku SQL (instrukcje INSERT, UPDATE, DELETE). Wybór danych z tabeli relacyjnej w języku SQL (instrukcja SELECT). Sortowanie danych (klauzula ORDER BY) i eliminowanie powtarzających się wartości (klauzula DISTINCT). Warunkowa selekcja danych w języku SQL (klauzula WHERE). Selekcja danych z wielu tabel w języku SQL. Zastosowanie różnych typów złączeń INNER JOIN, LEFT JOIN, RIGHT 2 2 JOIN, CROSS JOIN. Tworzenie prostych agregatów danych klauzula GROUP BY. Zastosowanie funkcji agregacji. Warunkowe wybieranie agregatów (klauzula HAVING). Generowanie planu zapytania, jego analiza i zastosowanie wskazówek optymalizatora podczas tworzenia zapytań do relacyjnej bazy Zbudowanie modelu pojęciowego i logicznego prostej hurtowni danych, umożliwiającej realizację zadanej 5 3 funkcjonalności. Zbudowanie struktur danych prostej hurtowni danych, umożliwiającej realizację zadanej funkcjonalności. 3 2 Tworzenie użytkowników bazy danych, przydzielanie im praw i zasobów, tworzenie różnych kopii zapasowych bazy Suma godzin: 30 21 Narzędzia dydaktyczne 1 Projektor multimedialny 2 Prezentacje multimedialne, na poszczególne bloki programowe 3 Indywidualne stanowiska komputerowe wyposażone w odpowiednie oprogramowanie
F1 P1 P2 Sposoby oceny Ocena formująca Laboratorium 6 krótkich testów wstępnych sprawdzających przygotowanie do zajęć laboratoryjnych, nawiązujących do materiału wykładowego Ocena podsumowująca Wykład pisemny egzamin testowy, zawierający pytania zamknięte. Laboratorium zaliczenie na ocenę. Ocena końcowa wyznaczana jest na podstawie oceny pracy bieżącej (50%) oraz ocen z dwóch kolokwiów pisemnych (50%). Forma aktywności [Godziny kontaktowe z wykładowcą, realizowane w formie zajęć dydaktycznych łączna liczba godzin w semestrze] [Godziny kontaktowe z wykładowcą, realizowane w formie np. konsultacji w odniesieniu łączna liczba godzin w semestrze] [Przygotowanie się do laboratorium łączna liczba godzin w semestrze] [Przygotowanie się do zajęć łączna liczba godzin w semestrze] [Wykonanie samodzielnie projektów łączna liczba godzin w semestrze] Obciążenie pracą studenta Średnia liczba godzin na zrealizowanie aktywności na studiach stacjonarnych Średnia liczba godzin na zrealizowanie aktywności na studiach niestacjonarnych 60 42 5 5 7 15 8 18 20 20 Suma 100 100 Sumaryczna liczba punktów ECTS dla przedmiotu 4 4 Literatura podstawowa i uzupełniająca 1 C.J. Date: Wprowadzenie do systemów baz danych, seria Klasyka Informatyki, WNT, Warszawa, 2000 2 J.D. Ullman, J. Widom: Podstawowy wykład z systemów baz WNT, 2000 3 C.J. Date, Hugh Darwen: SQL Omówienie standardu języka. WNT, 2008 Todman Chris: Projektowanie hurtowni Wspomaganie zarządzania relacjami z klientami. Helion, 4 2011 5 Pelikant Adam: Hurtownie Od przetwarzania analitycznego do raportowania. Helion, 2011 6 Dan Tow, SQL. Optymalizacja. Helion, 2004 7 Zasoby Internetu Efekt kształcenia EK 1 Odniesienie danego efektu kształcenia do efektów zdefiniowanych dla całego programu (PEK) I1A_W03 I1A_W04 Macierz efektów kształcenia Cele przedmiotu C1 Treści programowe W1, W2, W6, L2, L3, L9, Narzędzia dydaktyczne Sposób oceny EK 2 I1A_W03 C2 W4, W5, L5, L6,
L7, L8 EK 3 I1A_W03 C3 W7, L11 I1A_U15 EK 4 W1, W2, W6, C1 L1, L2, L3, L9, I1A_U19 I1A_W20 EK 5 I1A_U08 W3, W4, W5, C2 L4, L5, L6, L7, L8 C3 W7, L11 EK 7 I1A_K02 C3 W7, L11 EK 8 I1A_K05 C1, C2 L2, L3, L4, L5, L6, L7, L8, L9, EK 1 EK 2 EK 3 EK 4 Formy oceny szczegóły Na ocenę 2 (ndst) Na ocenę 3 (dst) Na ocenę 4 (db) Na ocenę 5 (bdb) Student nie posiada podstawowej wiedzy w analitycznych baz Student nie wie czym jest plan wykonania zapytania, nie wie w jaki sposób jest on generowany, nie potrafi interpretować planu nie zna żadnej techniki bazy Student nie zna żadnych zadań i obowiązków Student nie potrafi zaprojektować i zbudować transakcyjnej i analitycznej bazy Student posiada ograniczoną analitycznych baz plan wykonania zapytania, wie w jaki sposób go wygenerować, potrafi ogólnie go zna jedną z technik bazy danych i potrafi ogólnie ją opisać. Student zna pojedyncze ogólnie opisać. zaprojektować i zbudować transakcyjną uwzględniając tylko niektóre wymagania podane w specyfikacji funkcjonalnej. Student posiada rozszerzoną analitycznych baz plan wykonania zapytania, wie w jaki sposób go wygenerować, potrafi szczegółowo go zna kilka technik zapytań do transakcyjnej bazy danych i potrafi ogólnie je opisać. Student zna wszystkie ogólnie opisać. zaprojektować i zbudować transakcyjną wymagania podane w specyfikacji funkcjonalnej oraz potrafi zaprojektować i zbudować analityczną Student posiada pełną analitycznych baz plan wykonania zapytania, wie w jaki sposób go wygenerować, potrafi szczegółowo go zna kilka technik bazy danych i potrafi dokładnie je opisać. Student zna wszystkie dokładnie opisać. zaprojektować i zbudować transakcyjną i analityczną wymagania podane w specyfikacji funkcjonalnej.
EK 5 EK 7 EK 8 Student nie potrafi wydać żadnego polecenia SQL do manipulowania danymi i do selekcji Student nie potrafi utworzyć użytkownika bazy danych lub nie potrafi przypisać mu praw oraz nie potrafi utworzyć żadnej kopii bazy Student nie jest świadomy społeczeństwie i nie rozumie znaczenia bezpieczeństwa danych w bazach danych a także konieczności jego Student nie potrafi działać w sposób kreatywny w trakcie projektowania, budowy i eksploracji bazy wykonać przy pomocy poleceń SQL, potrafi wygenerować plan zastosować jedną z technik optymalizacji zapytania, jednak popełnia przy tym nieznaczne błędy. użytkownika bazy danych i przypisać mu prawa, jednak nie potrafi utworzyć żadnej kopii bazy społeczeństwie, rozumie znaczenie bezpieczeństwa danych w bazach danych, potrafi wymienić oraz ogólnie opisać niektóre techniki jego znaleźć innowacyjne rozwiązanie w zakresie projektowania, budowy i eksploracji bazy danych przy dużej pomocy ze strony prowadzącego. wymagania funkcjonalne. bezbłędnie wykonać przy pomocy poleceń SQL, potrafi wygenerować plan zastosować kilka technik optymalizacji zapytania, jednak popełnia przy tym nieznaczne błędy. użytkownika bazy danych i przypisać mu prawa, potrafi także utworzyć kopię bazy danych, jednak popełnia przy tym nieznaczne błędy. społeczeństwie, dobrze rozumie znaczenie bezpieczeństwa danych w bazach danych, potrafi wymienić oraz ogólnie opisać większość technik jego znaleźć innowacyjne rozwiązanie w zakresie projektowania, budowy i eksploracji bazy danych przy nieznacznej pomocy ze strony prowadzącego. bezbłędnie wykonać przy pomocy poleceń SQL, potrafi wygenerować plan bezbłędnie zastosować kilka technik optymalizacji zapytania. użytkownika bazy danych i przypisać mu prawa, a także bezbłędnie utworzyć kopię bazy społeczeństwie, doskonale rozumie znaczenie bezpieczeństwa danych w bazach danych, potrafi wymienić oraz szczegółowo opisać wszystkie techniki jego Student samodzielnie potrafi znaleźć innowacyjne rozwiązanie w, budowy i eksploracji bazy Autor programu: Adres e-mail: Jednostka organizacyjna: dr inż. Piotr Muryjas p.muryjas@pollub.pl Instytut Informatyki, Politechnika Lubelska