Modele baz danych
Modele baz danych
Co to jest Model bazy danych
Model bazy danych to zbiór zasad opisujących strukturę danych i dozwolone operacje w bazie danych.
Model danych składa się z:
- Część strukturalna
- Część manipulacyjna (kto i co można zrobić)
- Reguły integralności
Modele baz danych:
Jednorodny
Jest to model, w którym wszystkie dane są umieszczone w jednej tabeli. Zaletami tego modelu jest łatwość i szybkość odczytywania danych, a wadami możliwość występowania dużej ilości duplikatów zwiększających zużycie zasobów maszyny. Przykładem takiego modelu jest książka telefoniczna. Zawiera ona dane ułożone w.g. nazwisk, więc gdybyśmy chcieli wyszukać nazwisko mając numer telefonu byłoby to trudne, gdyż książka telefoniczna nie jest przystosowana do szukania nazwisk po numerze telefonu.
Hierarchiczny
W tym modelu przechowywane dane są zorganizowane w postaci drzewa. Informacja jest zawarta w dokumentach oraz w strukturze drzewa. Zaletą takiej bazy danych jest duża szybkość działania, wadą – powstawanie nadmiarowych danych.
Sieciowy
Model sieciowy baz danych organizuje dane w formie grafu, gdzie rekordy mogą mieć wiele wzajemnych powiązań, umożliwiając bardziej złożone relacje niż w modelu hierarchicznym.
Relacyjno - obiektowy
Łączy cechy modelu relacyjnego i obiektowego, co pozwala na używanie tabel relacyjnych, ale z obsługą bardziej złożonych typów danych (obiektów), jak w programowaniu obiektowym. Zalety: Obsługa zaawansowanych typów danych (np. multimedia, struktury). Elastyczność obiektów przy zachowaniu prostoty relacyjnej. Wady: Większa złożoność niż w czystym modelu relacyjnym. Może być mniej wydajny przy dużych zbiorach danych niż model relacyjny.
Obiektowy
To sposób przechowywania danych jako obiektów, które łączą dane i operacje na nich. Używa klas, dziedziczenia, enkapsulacji i polimorfizmu, co pozwala na bardziej złożone struktury danych niż w tradycyjnych bazach relacyjnych.
Rozproszona baza danych
To baza, której dane są przechowywane na wielu serwerach, ale użytkownicy widzą ją jako jedną całość. Wykorzystuje replikację i fragmentację danych, by zapewnić skalowalność, dostępność i wydajność.
Relacyjny
Model relacyjny to sposob przechowywania danych w tabelach, gdzie każda tabela zawiera wiersze (rekordy) i kolumny (atrybuty). Tabele mogą być ze sobą powiązane za pomocą kluczy, co pozwala na rozpowszechnianie informacji.
Zalety modelu relacyjnego to:
- Prostota – dane są przechowywane w łatwych do zrozumienia tabelach.
- Elastyczność – łatwo dodawać, modyfikować i usuwać dane bez wpływu na inne tabele.
- Spójność danych – dzięki kluczom i ograniczeniom integralności dane są dokładne i zgodne.
- Łatwość wyszukiwania – język SQL pozwala na szybkie tworzenie zapytań i analizowanie danych.
- Skalowalność – model relacyjny dobrze radzi sobie z dużymi zbiorami danych.
Wady modelu relacyjnego to:
- Złożoność przy dużych danych – przy bardzo dużych zbiorach danych lub skomplikowanych zapytaniach wydajność może spadać.
- Słaba obsługa danych nieustrukturyzowanych – model relacyjny nie radzi sobie dobrze z danymi takimi jak multimedia czy teksty.
- Złożoność relacji – w przypadku bardzo złożonych relacji między danymi, tworzenie i zarządzanie tabelami może stać się trudne.
- Kosztowna skalowalność – skalowanie poziome (dodawanie kolejnych serwerów) bywa trudniejsze niż w przypadku innych modeli baz danych, np. NoSQL.
Zadanie 1
Tabela poniżej przedstawia prykładowy tygodniowy plan lekcji. Określ, jaki model danych reprezentuje, i opisz jego cechy charakterystyczne. Odpowiedź zapisz poniżej tabeli.
Nr lekcji | Poniedziałek | Wtorek | Środa | Czwartek | Piątek |
---|---|---|---|---|---|
0 | j. angielski | e. dla bezp. | WF | SK | |
1 | matematyka | historia | j.polski | WF | SK |
2 | montaż komp. | biologia | j.polski | religia | j. angielski |
3 | montaż komp. | informatyka | geografia | matematyka | j. polski |
4 | montaż komp. | religia | fizyka | podst. przed. | j. polski |
5 | BHP | montaż komp. | lekcja wych. | matematyka | |
5 | montaż komp. |
Przedstawia model jednorodny - zawiera jedną tabelę. LUB model relacyjny, który przechowywuje dane w tabelach, gdzie każda tabela zawiera wiersze (rekordy) i kolumny (atrybuty).