Model bazy danych
Z Wikipedii
Model bazy danych
Pod tym terminem kryje się zbiór zasad, którymi należy się posługiwać podczas tworzenia bazy danych. W modelu danych określa się reguły, zgodnie z którymi dane umieszcza się w strukturach. Określane są również dozwolone operacje. Definiuje się strukturę danych poprzez specyfikację reprezentacji dozwolonych w modelu obiektów (encji) oraz ich związków. W informatyce wyróżniamy główne modele baz danych:
- hierarchiczny model danych,
- relacyjny model danych,
- grafowy (sieciowy) model danych,
- obiektowy model danych,
- sieci semantyczne,
[edytuj] Hierarchiczny model danych
W modelu hierarchicznym dane są na zasadzie rekordów nadrzędnych-podrzędnych, tzn. rekordy przypominają strukturę drzewa. Każdy rekord (za wyjątkiem głównego) jest związany z dokładnie jednym rekordem nadrzędnym.
Dane w takim modelu, są znajdowanie na zasadzie wyszukiwania rekordów podrzędnych względem rekordu nadrzędnego. Przykładem takiego modelu może być struktura katalogów na dysku twardym komputera.
[edytuj] Hierarchiczny model danych
Hierarchiczna forma przechowywania danych zakłada grupowanie danych w formie kolejnych poziomów drzewa danych. Począwszy od zbioru podstawowego, będącego korzeniem drzewa (np. w przypadku podziału struktury służby zdrowia można rozpocząć od Regionalnej Kasy Chorych) poprzez kolejne podzbiory - rozgałęzienia (np. szpitale i przychodnie z którymi dana kasa ma podpisaną umowę) dochodzimy do ostatnich zbiorów danych - liście (np. zbiory oddziałów, pracowni czy gabinetów). System hierarchiczny jest często przedstawiany poprzez model rodzic-potomek. Rodzic posiada pewną liczbę potomków, potomkowie ci mogą mieć swoich potomków, ci z kolei ... Zbiór danych w tym modelu (najczęściej w formie pojedynczej tabeli) jest powiązany (ma relacje) z innymi zbiorami w tym samym drzewie (w tej samej rodzinie). Wyszukiwanie danych polega więc na kolejnym zagłębianiu się w coraz to kolejne zbiory danych. System hierarchiczny budowany jest przeważnie w formie indukcyjnej tzn. dane są grupowane od ogółu do szczegółu. Oznacza to prostą formę wyszukiwania danych danej klasy przechodząc poprzez kolejne poziomy szczegółowości. Specyficzna budowa takiej bazy danych umożliwia tworzenie prostych kryteriów wyszukiwania danych i w miarę potrzeby uszczegółowiania tych kryteriów wraz ze znajdywaniem kolejnych partii danych. Doskonałym przykładem hierarchii są wszelkie systemy klasyfikacji (np. chorób czy procedur medycznych). Często wadą tego modelu jest brak możliwości budowania relacji pomiędzy rekordami różnych drzew. Hierarchiczna baza danych zakłada podstawowe warunki integralności danych: - każdy rekord (z wyjątkiem pierwszego rodzica - korzenia drzewa) musi posiadać własnego, jednego rodzica - jeżeli dany rekord posiada więcej rodziców niż jeden musi być skopiowany dla każdego rodzica oddzielnie tak, aby prawdziwa była powyższa zasada, - jeżeli usunięty zostaje dany rekord oznacza to, że usunięte zostają również wszystkie wywodzące się z niego rekordy - potomkowie. Podstawową relacją jaka występuje w tym modelu jest jeden do wielu ( korzeń - gałęzie) i wielu do jednego (gałęzie – korzeń). Dobrym przykładem hierarchicznej organizacji kartotek jest praktycznie każdy komputerowy system plików. System plików zakłada, że istnieje dokładnie jeden korzeń drzewa hierarchii (tj. jeden dla każdego typu napędu nośnika, np. dysk stały oznaczany jako „c:” w systemach plików wywodzących się z DOSa jak Windows 95, Windows 98, Windows NT, Windows 2000, itp.). Od korzenia systemu plików wywodzą się liczne katalogi, które mogą posiadać podkatalogi, i tak dalej. W różnych katalogach i podkatalogach znajdują się pliki danych, a więc kartoteki (rekordy) systemu plików.
[edytuj] Relacyjny model danych (RDBMS)
Relacyjny model baz danych został wymyślony przez E.F. Codda na przełomie lat 70. i 80. zeszłego stulecia. Standard RDBMS został ostatecznie opracowany przez ANSI X3H2. Dane w takim modelu przechowywane są w tabelach, z których każda ma stałą liczbę kolumn i dowolną liczbę wierszy. Każda tabela (relacja) ma zdefiniowany klucz danych (key) - wyróżniony atrybut lub kilka takich atrybutów, którego wartość jednoznacznie identyfikuje dany wiersz. Wyszukiwanie danych odbywa się za pomocą odwołania się programu do danego klucza i identyfikacji danego wiersza za pomocą tegoż.