Modele danych

Modele danych

  • Definicja modelu danych
  • Modele danych: model jednorodny, hierarchiczny model danych, sieciowy model danych, model relacyjno-obiektowy, obiektowy model danych, relacyjny model baz danych
  • Rozproszona baza danych 

Model danych to zintegrowany zbiór zasad opisujących dane, relacje, powiązania (stosunki) pomiędzy danymi, dozwolone operacje i ograniczenia nakładane na dane i operacje.

Model danych jest próbą reprezentacji świata realnego i występujących w nim obiektów, zdarzeń oraz związków zachodzących między nimi. Można go opisać jako konstrukcję składającą się z trzech komponentów:

  • części strukturalnej – składającej się z reguł określających budowę bazy danych;
  • części manipulacyjnej – określającej, które operacje (transakcje) aktualizacji, pobierania i zmiany struktury można wykonywać na danych;
  • części zawierającej reguły integralności – gwarantującej stabilność działania systemu.

Model jednorodny – to model, w którym wszystkie dane są umieszczone w jednej tabeli, jednym arkuszu (pojedynczy arkusz – tabela z danymi może przechowywać duplikaty. Jeśli będzie to np. wypis sprzedanych towarów, wówczas dany towar, który został sprzedany kilkakrotnie, będzie duplikowany w kolejnych wierszach.) (kostce analitycznej). Przykładem takiego modelu jest książka telefoniczna. Cechuje go łatwość i szybkość odczytywania danych. Jego wadą jest duża liczba duplikatów, takich jak pamięć dyskowa czy operacyjna, które mogą się pojawiać i tym samym zwiększyć zużycie zasobów komputera. Dane w modelu jednorodnym nie zawsze będą łatwe do odnalezienia. Gdyby jednorodny model danych prezentować na przykładzie książki telefonicznej, to łatwe byłoby odnalezienie numeru telefonu na podstawie imienia i nazwiska, jednak wyszukanie imienia i nazwiska na podstawie numeru telefonu stwarzałoby problem. Książka telefoniczna zawiera dane ułożone alfabetycznie wg kolejności nazwisk. Dlatego nie jest zoptymalizowana pod kątem przeprowadzania wyszukiwania, w którym dysponujemy numerem, a potrzebujemy odszukać imię i nazwisko. W modelu jednorodnym dane mogą być duplikowane. Dzieje się tak właśnie ze względu na strukturę tego modelu. Na przykład, gdyby w Warszawie mieszkało 50 osób o nazwisku Nowak i każda z nich miała telefon, wówczas w jednorodnym modelu danych otrzymalibyśmy pięćdziesiąt duplikujących się nazwisk w kolejnych wierszach, różniących się adresami i numerami telefonów, przy czym nazwisko byłoby wielokrotnie powtórzone.

Hierarchiczny model danych

Początki sięgają 1960 r., gdy rozpoczęto prace nad projektami IDS (Integrated Data Store) oraz MIS (Management Information System). MIS rozwijany był przez IBM w ramach projektu kosmicznego Apollo. Hierarchiczny model bazy danych pod względem modelu przypomina strukturę odwróconego drzewa:

  • jeden korzeń (tabela nadrzędna)
  • synowie (tabele podrzędne).

Ojciec może mieć wiele dzieci, ale każde dziecko ma tylko jednego ojca.

Każdy rekord (z wyjątkiem głównego, który jest na szczycie) powiązany jest z jednym rekordem nadrzędnym. Model hierarchiczny opiera się zatem na dwóch strukturach danych – typach rekordów i związkach nadrzędny-podrzędny. Powiązanie nadrzędny-podrzędny to związek „jeden do wielu” pomiędzy dwoma typami rekordów. Model ten różni się od relacyjnego, ponieważ w modelu relacyjnym powiązania zachodzą przez klucze obce, a w hierarchicznym przez związek nadrzędny-podrzędny. W hierarchicznym modelu danych nie można wstawić rekordu podrzędnego, dopóki nie zostanie powiązany z nadrzędnym. Usunięcie rekordu nadrzędnego powoduje automatycznie usunięcie wszystkich rekordów podrzędnych.

Sieciowy model

Został ustandaryzowany w 1969 r. przez CODASYL (Conference on Data Systems Languages). Jego twórcą jest Charles Bachman i mimo że nie znalazł szerszego zastosowania, to przyczynił się do powstania relacyjnego modelu baz danych. Sieciowy model przyjmuje, podobnie jak hierarchiczny, strukturę przypominającą odwrócone drzewo z tą różnicą, że gałęzie jednego drzewa mogą być wspólne z gałęziami innych drzew.

Sieciowy model oparty jest zatem na dwóch strukturach danych:

  • typ kolekcji jest opisem związku „jeden do wielu” pomiędzy dwoma typami rekordów,
  • typ rekordów ma swój odpowiednik w modelu hierarchicznym, jednak pola są w stanie przechowywać złożone wartości, które mogą się powtarzać