04. Modele danych
Data utworzenia: 17-10-2024 13:07:28
Model danych - integralny zbiór zasad, opisujący dane i powiązania pomiędzy nimi oraz określający ograniczenia nakładane tak na dane, jak i na operacje na nich wykonywane. Model danych spełnia 3 zasadnicze role: rola strukturalna - określenie sposobu przechowywania danych (w sposób uporządkowany) - rola integralna - zagwarantowanie stabilności systemu przechowywanych danych - rola manipulacyjna - zapewnienie możliwości bezpiecznej modyfikacji danych oraz ewentualnych zmian struktury danych Struktury danych są zaawansowanymi pojemnikami na dane, które gromadzą je i układają w odpowiedni sposób: - ich różnorodność jest ogromna, a dla każdej znaleziono wiele zastosowań - powszechnie spotykane jest używanie jednych struktur danych do przetwarzania informacji zgromadzonych w innych - są one fundamentalnym narzędziem programisty i ich znajomość jest niezbędna w profesjonalnym programowaniu DBMS = Database Management System SZBD = System zarządzania bazą danych Model jednorodny - używamy w nim tylko jednego zgromadzenia danych (np. tabeli, kartoteki, spisu, katalogu). Model ten cechuje się konceptualną prostotą, lecz jego wadą jest trudność odnalezienia niektórych danych oraz możliwa redundancja (nadmiarowość) związana z próbami usprawnienia wyszukiwania rekordów bądź atrybutów. Model hierarchiczny - oparty na drzewiastych (hierarchicznych) strukturach danych, charakteryzujących się stosowaniem związków nadrzędny - podrzędny. Wadą tego modelu jest brak elastyczności w operacjach na danych - wstawianie rekordów podrzędnych wymaga powiązania z nadrzędnym, zaś usuwanie rekordów nadrzędnych powoduje usunięcie wszystkich podrzędnych. Model obiektowy - oparty na podejściu, które znamy z programowania obiektowego: rzeczywistość reprezentowana jest przez obiekty, które rozumiemy jako instancje klas. Klasę zaś (encję) rozumiemy jako zestaw atrybutów i metod (czyli funkcji, procedur). Dostęp do obiektów zapewniamy więc jedynie poprzez udostępniony interfejs metod, zapewniających danym bezpieczeństwo i integralność. Obiektowy język zapytań to OQL (ang. Object Query Language). Model sieciowy - modyfikacja modelu hierarchicznego, oparta na typach kolekcji oraz typach rekordów, zaś reprezentacja powiązań przyjmowała postać tzw. grafu zorientowanego, który nazywano siecią (i stąd nazwa: model sieciowy). Model relacyjno - obiektowy - model mieszany, w którym mechanizm przechowywania danych jest relacyjny, jednak w operowaniu na danych możemy użyć interfejsu metod wykorzystujących mechanizmy obiektowe.