M. Muraszkiewicz, H. Rybiński: Bazy danych. Warszawa, 1993. J. D. Ullman: Systemy baz danych. WNT, Warszawa 1988.
· pamięć trwała danych (persistant data)
· określona struktura i reguły integralności
· niezawodność zapisu
· integralność danych
· sprawność zapytań
· wygodne interfejsy
· wielodostęp
· zabezpieczenia dostępu
· izoluje programy od reprezentacji fizycznej
· słownik danych
o język opisu danych
o extended dictionary
· mechanizmy dostępu:
o język zapytań i manipulacji danymi
o optymalizacja dostępu
· mechanizmy ochrony:
o autoryzacja dostępu
o ochrona spójności
o mechanizmy do odtwarzania po awarii
· wielodostęp i dostęp przez sieć
o zarządzanie transakcjami
o klient-serwer
o mechanizmy dla rozproszonych b.d.
· narzędzia do budowy interfejsów:
o narzędzia do zapytań interakcyjnych
o dostęp z języków 3GL
o specjalizowane narzędzia 4GL
· systemy finansowo-księgowe
· systemy rezerwacji (np. lotniczej)
· systemy wspomagające zarządzanie
· CAD (Computer Aided Design)
· GIS (Geographical Information Systems)
· struktura danych
· reguły integralności
· dane
· aplikacja:
o formularze
o raporty
o programy przetwarzające
o zapytania ad-hoc
· budowa:
o proceduralne
o nieproceduralne
· typ dostępu:
o nawigacyjne (rekord bieżący)
o zwracające struktury (np. tabele)
· systemy plikowe (flat files):
o sekwencyjne (SAM)
o indeksowo-sekwencyjne (ISAM)
o z dostępem bezpośrednim
· język Cobol
· użytkownik -- odbiorca systemu
· analityk
· projektant
· programista
· administrator b.d. (DBA)
· opisuje świat z punktu widzenia użytkowników b.d.
· może istnieć wiele modeli zewnętrznych tej samej rzeczywistości
· nie musi być związany z konkretnym modelem danych
· tworzony przez analityków
· opisuje świat w kategoriach konkretnego modelu danych
· abstrahuje od szczegółów implementacji
· odpowiada na pytanie "co?" a nie "jak?"
· tworzony przez projektantów b.d.
· opisuje projekt struktury w kontekście konkretnej implementacji
· model struktury zgodny z modelem danych, a nie z ich fizyczną reprezentacją
· może zawierać parametry dotyczące reprezentacji fizycznej, np.:
o partycjonowania danych
o alokacji pamięci
· tworzona przez SZBD
· izolowana od aplikacji przez SZBD
· zarządzana przez administratora
o
· struktura danych ma postać drzewa
· węzły -- typy opisywanych obiektów
· łuki -- związki typu ojciec-syn
· drzewo jest uporządkowane, tj. na każdym poziomie kolejność węzłów jest określona
· opis obiektu (rekord) zbudowany z pól zawierających dane opisujące obiekt
· związki zrealizowane jako wskaźniki
Hierarchiczna struktura danych
· o charakterze nawigacyjnym
· operacje typu:
· GET LEFTMOST typ WHERE warunek
· GET NEXT typ
· nie ma związków typu n-m (np. oddziały pomieszane w kilku budynkach)
· tylko jeden rodzaj związku między dwoma typami obiektów
· dodatkowe związki (np. pracownik-budynek):
o dodatkowe drzewa hierarchii
o odsyłacze do rekordów "oryginału"
· system IBM IMS (1978)
o bardzo wielkie dane zgromadzone
o poprzednik użyty w programie Apollo
· nowych projektów nie robi się
· struktura danych ma postać grafu (sieci)
· wierzchołki grafu -- typy obiektów
· łuki w grafie -- wiązania między typami
· reprezentacja wiązań (wskaźniki):
o odesłanie bezpośrednie (jednowart.)
o odesłanie inwersyjne (wielowart.)
o wiązanie codasylowe
· rekordy powiązane stanowią kolekcję (set)
o jeden rekord nadrzędny
o wiele rekordów podrzędnych
· kolekcja realizowana jako lista zamknięta
· brak bezpośredniej reprezentacji wiązań n-m
· języki manipulowania -- nawigacyjne
· CODASYL: język definiowania danych pozwala określić sposób automatycznego włączania rekordów do kolekcji
Więzy i ich realizacja w CODASYL
Sposób realizacji wiązania m-n
· system IDS (General Electric)
· obecnie raczej nie używany
· dane zawarte w tabelach
· tabele składają się z kolumn
· liczba kolumn i typy -- stałe
· liczba wierszy zmienna
· wiersze nie mają tożsamości innej niż wynikająca z zawartości kolumn
· związki pomiędzy wierszami tabel -- zdefiniowane poprzez zależności między wartościami wybranych kolumn, tzw. kluczy (nie ma wskaźników)
· z punktu widzenia teorii model można opisać algebrą relacji między zbiorami atrybutów
· nieproceduralne: SQL, Sequel, QUEL, QBE
· proceduralne: xBase
· model dominujący w zastosowaniach komercyjnych
· przykłady SZBD: Oracle, Informix, Sybase, Ingres, DB2, Progress, Gupta, Access, dBase, Paradox
Przykładowy schemat danych -- związek 1-n
# Id * Nazwa * Id
departamentu oddziału
... ... ...
# Id * Nazwisko * o Stanowisko * Id
pracownika Imię departamentu
... ... ... ... ...
Realizacja relacyjna
· brak bezpośredniej reprezentacji związków n-m
· dla trudniejszych problemów -- bardzo wiele tabel
· mało naturalna reprezentacja danych
...
renia993