Wykład
Wykł.1 Wykł.2 Wykł.3 Wykł.4 Wykł.5 Wykł.6 Wykł.7
Ćwiczenia
Ćw.1
Ćw.2
Ćw.3
Ćw.4
Ćw.5
Ćw.6
Ćw.7
Ćw.8
Ćw.9
Ćw.10
Ćw.11
Ćw.12
Ćw.13
Ćw.14
Ćw.15
Egzamin
Zakres materiału na egzamin:
- wykłady: 1, 2, 3, 4, 7;
- wykłady: 5, 6: znajomość SQL - analiza przedstawionego kodu.
Proszę przynieść ołówki i gumki, aby prace były czytelne.
Wykład 1
Wykład wprowadzający.
Składowe systemu bazy danych. Abstrakcyjny trójwarstwowy model systemu (rozproszonego) z bazą danych. Rodzaje baz danych. Wybrane funkcjonalności systemów baz danych. Dostęp do danych. Typy danych. Wybrane funkcjonalności baz danych.
Wykład 2
Relacyjne bazy danych
Postulaty relacyjnych baz danych, Zapis formalny modelu relacyjnego. Koncepcja relacyjnej bazy danych. Związki encji. Diagramy związków encji.
Wykład 3
Relacyjne bazy danych
Klucze. Zbiory encji słabych. Przekształcanie diagramów związków encji do postaci relacyjnego modelu danych. Anomalie w relacjach. Dekompozycja relacji. Zależności funkcyjne. Zależności wielowartosciowe. Normalizacja modelu relacyjnej bazy danych. Postaci normalne: pierwsza (1NF), druga (2NF), trzecia (3NF), postac normalna Boyce-Codda (BCNF). Dekompozycja do postaci BCNF. Inne postaci normalne.
Wykład 4
Operacje w relacyjnej bazie danych. Proste działania teoriomnogościowe: suma, różnica, iloczyn. Działania złożone: rzut, projekcja, selekcja, iloczyn kartezjański, iloraz, złączenie teta, złączenie naturalne. Inne złączenia: równozłączenie, Złączenie wewnętrzne (inner join), złączenie zewnętrzne lewostronne (left outer join), złączenie zewnętrzne prawostronne (right outer join), złączenie zewnętrzne pełne (full outer join), autozłączenie (self-join). Złożenia. Logika relacji. Działania algebry relacji w języku logiki.
Wykład 5
Język SQL. Składnia SQL. Podstawowe typy danych w języku SQL. Rzutowanie. Operatory. Tworzenie tabel w języku SQL. Wstawianie, modyfikowanie i usuwanie danych w tabelach. Tworzenie i usuwanie indeksów.
Wykład 6
Język SQL. Zapytanie SELECT. Funkcje agregujące. Grupowanie danych. Złączenia. Działania na zbiorach. Zagnieżdżenia zapytań (podzapytania). Zapytania zagnieżdżone a złączenia. Widoki (perspektywy). Transakcje. Procedury składowane. Wyzwalacze (Triggers).
Wykład 7
Realizacja wybranych struktur w relacyjnych bazach danych. Reprezentacja drzew w relacyjnych bazach danych (rozszerzenie zbioru atrybutów obiektów-węzłów/uporządkowany przegląd drzewa). Reprezentacja grafów w relacyjnych bazach danych. Reprezentacja macierzy w relacyjnych bazach danych.
Materiały (folie) do wykładów 1-4: BDw1.rar
Ćw. 1
Zapoznanie się z pakietem MS Access. Na zajęciach będą tworzone schematy relacyjnych baz danych - przygotowanie się w oparciu o materiały z wykładu.
Pomoc we współpracy z pakietem MS Office ->[5]
Ćw. 2
Projektowanie relacyjnych baz danych (cd) - przygotowanie się w oparciu o materiały z wykładu.
Pomoc we współpracy z pakietem MS Office ->[5]
Ćw. 3
Projektowanie relacyjnych baz danych (cd) - postać normalna Boyce-Codda.
Ćw. 4
('Wizualne') Tworzenie kwerend w pakiecie MS Access.
Ćw. 5
Definiowanie schematów relacji w języku SQL. Proszę zapoznać się z możliwościami (opcjami) i składnią poleceń przedstawionych na ostatnim wykładzie (klucze!). Obowiązujący dialekt języka SQL - PostrgreSQL [8], [11]. PSQL dla win32 jest dostępny tutaj: PSQL.zip.
Składnia: psql -h adresserwera nazwabazy "użytkownik" (nazwa bazy na ćwiczeniach: postgres)
Ćw. 6
Konstruowanie prostych zapytań (pojedyncza tabela) do bazy przy użyciu instrukcji SELECT. Przed ćwiczeniem należy zapoznać się ze składnią, możliwościami i właściwościami tej instrukcji.
Ćw. 7
Konstruowanie prostych zapytań (pojedyncza tabela) do bazy przy użyciu instrukcji SELECT. Należy zwrócić szczególną uwagę na operacje na tekstach oraz na sumowanie i grupowanie danych.
Ćw. 8
Działania na zbiorach. Zagnieżdżenia.
Ćw. 9
Złączenia wewnętrzne i zewnętrzne.
Ćw. 10
Transakcje w języku SQL. Należy zapoznać się z konstrukcją transakcji w języku SQL, zatwierdzeniem i wycofaniem. Które instrukcje SQL mogą brać udział w transakcji? Słowa kluczowe: {BEGIN, COMMIT, ROLLBACK}
Ćw. 11
Procedury wbudowane (ang. stored procedures). Należy się zapoznać z dokumentacją na ten temat, zamieszoną pod adresem [8] (np. 'SQL Functions', 'Query Language Functions').
Ćw. 12
Wyzwalacze (ang. triggers). Należy się zapoznać z materiałem pt: 'Triggers' (materiały również pod adresem [8]).
Ćw. 13
Ćw. 14
Ćw. 15
Literatura i zasoby:
[1] Ullman, J.D., Widom J.: Podstawowy wykład z systemów baz danych. WNT, Warszawa 1999
[2] Delobel C., Adiba M.: Relacyjne bazy danych. WNT, Warszawa 1989
[4] Ullman J.D.: Systemy Baz Danych WNT, Warszawa 1988
[5] Materiały do MS Access - pdf OEIiZK Warszawa
[6] http://www.w3schools.com/sql/
[7] Robert Chwastek - Bazy danych, SQL (AGH)
[8] http://www.postgresql.org/
[9] http://www.mysql.com/
[10] MS SQL Server 2005 Express Edition free to download, has no time limits, and is freely redistributable
[11] http://www.commandprompt.com/ppbook/
opr. Adam Piórkowski, 2005
pioro(at)agh.edu.pl