Wprowadzenie do baz danych

Literatura

M. Muraszkiewicz, H. Rybiński: Bazy danych. Warszawa, 1993. J. D. Ullman: Systemy baz danych. WNT, Warszawa 1988.

Pojęcie bazy danych

Czym jest baza danych

Cele użytkowania b.d.

System zarządzania bazą danych (DBMS)

Przykładowe zastosowania baz danych

Składniki działającego systemu b.d.

Języki dostępu

Alternatywy dla b.d.

Modele baz danych

Podział zadań w projektowaniu b.d.

Model zewnętrzny

Model pojęciowy (konceptualny)

Model logiczny

Reprezentacja fizyczna

Model hierarchiczny

Cechy podstawowe

Przykład

0x08 graphic
0x08 graphic

Hierarchiczna struktura danych

Języki obsługi

Ograniczenia

Znaczenie praktyczne

Model sieciowy

Cechy podstawowe

Realizacja wiązań -- model DBTG CODASYL

Języki obsługi

Przykłady

0x08 graphic
0x08 graphic

Więzy i ich realizacja w CODASYL

0x08 graphic
0x08 graphic

Sposób realizacji wiązania m-n

Znaczenie praktyczne

Model relacyjny

Cechy podstawowe

Języki obsługi

Znaczenie praktyczne

Przykład

0x08 graphic
0x08 graphic

Przykładowy schemat danych -- związek 1-n

# Id * Nazwa * Id

departamentu oddziału

... ... ...

# Id * Nazwisko * o Stanowisko * Id

pracownika Imię departamentu

... ... ... ... ...

Realizacja relacyjna

Ograniczenia

Model obiektowy (object-oriented)

Cechy podstawowe

Cechy dodatkowe

Przykład

0x08 graphic
0x08 graphic

Model obiektowy -- zawieranie i dziedziczenie

Zalety modelu

Znaczenie praktyczne

Relacyjne bazy danych

Literatura

C. Delobel, M Adiba: Relacyjne bazy danych. WNT, Warszawa 1989. M. Muraszkiewicz, H. Rybiński: Bazy danych. AOW, 1993. W. Harris: Bazy danych nie tylko dla ludzi biznesu. WNT, 1994. K. Subieta: Ingres. AOW PLJ, 1994. Wellesley Software: SQL. Język relacyjnych baz danych. WNT. M. Gruber: SQL. Helion, 1996. Ulka Rodgers: Oracle. Przewodnik projektanta baz danych. WNT, 1995. J. Gnybek: Oracle łatwiejszy niż przypuszczasz. Helion, 1996. R. Barker: CASE*Method. Modelowanie związków encji. WNT, 1996.

Podstawy teoretyczne modelu relacyjnego

Pojęcie relacji

Relacyjna baza danych

Klucze

Selekcja

Projekcja (rzut)

Operacje teoriomnogo¶ciowe

Złączenie

Rachunki relacji

Zależno¶ci semantyczne w relacyjnej bazie danych

Ograniczenia integralno¶ci

Rodzaje zależno¶ci

Zależno¶ci wielowarto¶ciowe

Zajęcia Wykładowca Podręcznik

Normalizacja

Redundancja

Anomalie

Imię Nazwisko Nr depart. Nazwa

depart.

Rozkład relacji i normalizacja

Pierwsza postać normalna

Druga postać normalna

# Id prac. # Budynek Nazwisko

Trzecia postać normalna

# Id Nazwisko Stanowisko Pensja

prac.

Postać normalna Boyce-Codda

Czwarta postać normalna

Zajęcia Wykładowca Podręcznik

Związki między postaciami normalnymi

4NF => BCNF => 3NF => 2NF => 1NF

Projektowanie schematów relacyjnych

Model pojęciowy

Cele modelowania pojęciowego

Diagramy związków encji (ERD)

0x08 graphic
Przykład diagramu ERD

Encje

Rodzaje atrybutów

Cechy związków

Poprawność związków

0x08 graphic
0x08 graphic

Związek n-m i jego rozbicie

Identyfikacja encji

Unikalne identyfikatory

Pożądane cechy pierwotnego UID

Przykłady

0x08 graphic

UID faktury: atrybuty
UID pozycji: związek + atrybut (sequence in parent)

0x08 graphic

UID lokalizacji: tylko związki

Typowe konstrukcje

Master - detail

0x08 graphic

Struktura master - detail: faktura-pozycja
Klasyfikacja: faktura-płatno¶ć
Słownik: pozycja-towar

Słowniki

Klasyfikacja

¦ledzenie zmienno¶ci

0x08 graphic

Zapis zmian stanowiska pracownika

Związki wykluczające się

0x08 graphic

Związki wykluczające się (łuk obowiązkowy)

Drzewo

0x08 graphic

Związek rekurencyjny -- hierarchia

Graf

0x08 graphic
0x08 graphic

Reprezentacje grafu materiałów:
w postaci związku rekurencyjnego n-m
i w postaci dwóch encji

Lista

Projekt logiczny

Cele projektowania logicznego

Przekształcenie modeli pojęciowy logiczny

Ograniczenia integralno¶ci

Ograniczenia deklaratywne i proceduralne

Rodzaje ograniczeń deklaratywnych


Wyzwalacze (triggers)

Klucze

Klucz główny (primary key)

Klucze obce

0x08 graphic
0x08 graphic

Realizacja więzów: klucz obcy

Etapy projektowania logicznego

Kolejno¶ć czynno¶ci

Perspektywy

Indeksy

Denormalizacja

Typowe przypadki denormalizacji:

0x08 graphic

Przechowywanie agregatów: ostatni stan

Pre-join: kopia nazwy klienta

Po¶redni klucz obcy: pracownicy-oddziały

Implementacja modelu logicznego

0x01 graphic