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).