Model danych to po prostu sposób jak opisać świat w bazie danych. W prawdziwym świecie istnieją rzeczy (np. klienci, konta, zamówienia itd.) i między nimi są jakieś relacje (klient posiada konto itd.) Bazie danych trzeba to jakoś formalnie zapisać, i temu właśnie służy model danych.
Model danych to zbiór zasad i struktur opisujących:
Model danych = sposób reprezentacji struktury + reguły jej używania
Tu dane są ustawione w drzewo: jeden rekord-rodzic, wiele dzieci. Przykład: samochód → silnik → cylindry. Dostęp jest szybki ale struktura sztywna - drzewo narzuca jedną hierarchię.
Rozluźnienie hierarchicznego - rekord może wskazywać wiele rekordów różnych typów, nie tylko jako “dziecko rodzica”. Działa przez wskaźniki danych. Szybki dostęp, ale bardzo trudny do programowania i zmiany, bo aplikacja musi wiedzieć jak chodzić po wskaźnikach
Dane w tabelach (relacjach). Każdy wiersz to krotka (pojedynczy obiekt). Klucze i powiązania logiczne, a nie fizyczne wskaźniki. SQL do zapytań. Duży nacisk na spójność i logikę danych.
Relacja = tabela z wierszami i kolumnami. Relacja musi spełniać reguły: