25
Bazy danych
Model hierarchiczny
Model hierarchiczny przypomina odwrócone drzewo. Jeden z elementów pełni role korzenia, a pozostałe tworzą gałęzie i liście. W modelu tym występują związki między obiektami zwane związkami "ojciec-syn". Związki takie charakteryzują się tym, że obiekt nadrzędny (ojciec) może pozostawać w związku z wieloma innymi obiektami podrzędnymi (synowie), natomiast tylko z jednym obiektem nadrzędnym w stosunku do niego (jego ojcem).
Na rys. 1.2 przedstawiono przykład modelu hierarchicznego dla bazy przechowującej informacje o wykładach, wykładowcach oraz studentach uczęszczających na te wykłady.
Model hierarchiczny ma jednak wiele wad. Do najważniejszych należą:
• niemożność zapisania w bazie danych, które nie mają ojca (np. wykładowcy, który w danym roku nie prowadzi wykładów),
• nadmiarowość danych (np. dane o przedmiocie są wpisane w bazie dwa razy - w wykładach i przedmiotach),
• brak możliwości obsługi bardziej złożonych związków między obiektami (np. związków "wiele do wiele").
Zaletą tego modelu jest łatwość (a co za tym idzie szybkość) dojścia do szukanych danych (idziemy od korzenia wzdłuż gałęzi aż do celu), ale pod warunkiem, że znamy strukturę tego modelu.
Model hierarchiczny stosowany jest dziś w systemach plików (struktura katalogów ma strukturę drzewiastą) oraz w wielu popularnych aplikacjach (np. MS Outlook, Lotus Notes).
Model relacyjny
W celu wyeliminowania wad modelu hierarchicznego opracowano na początku lat siedemdziesiątych nowy model zwany modelem relacyjnym. Podstawy teoretyczne dla modelu relacyjnego opracował dr E. Codd pracując w firmie IBM i opublikował w roku 1970 w książce pod tytułem "Relacyjny model logiczny dla dużych banków danych". Model ten oparty jest na silnych podstawach matematycznych głownie teorii mnogości.
Idea modelu relacyjnego bazuje na pojęciu relacji - czyli tabeli. Wszystkie dane w tym modelu są przechowywane w tabelach (relacjach). Tabele te mogą