BAZY DANYCH
 
 


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