Modele baz danych, model relatywny
1) Różne typy baz danych.
Rozróżniamy dwa typy baz danych ze względu na sposób zarządzania nimi. Wyróżniamy:
operacyjne i analityczne bazy danych.
Operacyjne bazy danych przechowują dane dynamiczne. Ten typ baz danych jest
odpowiedzialny za dane, które są na bieżąco aktualizowane. Bazy danych tego typu znajdują
zastosowanie w różnych organizacjach, instytucjach i firmach. Przykładami zastosowań są
np.: bazy danych służące do inwentaryzacji, bazy obsługi zamówień, itp. Jednym słowem
bazy tego typu wykorzystywane są wszędzie tam, gdzie istnieje potrzeba nie tylko na
gromadzenie danych, ale również na możliwość ich modyfikowania.
Natomiast analityczne bazy danych służą do przechowywania archiwalnych danych
statycznych. Przechowują dane z przeszłości w celu dostępu(odczytu). Typowym
zastosowaniem tych baz jest np.: analiza tendencji rynku czy tez prognoz przyszłościowych.
W przeciwieństwie do operacyjnych baz danych tu raczej nie wykonuje się aktualizacji
danych, jeżeli to sporadycznie.
2) Początki modeli baz danych
Terminu „baza danych” pierwszy raz użyto w listopadzie 1963 , podczas sympozjum
nazwanym: "Development and Management of a Computer-centered Data Base", które było
sponsorowane przez jedną z firm komputerowych a mianowicie System Development
Corporation. Termin ten stał się powszechnie używany w Europie w latach 70. XX wieku.
Pierwszy system zarządzania baz danych powstał w latach 60. XX wieku, procesy te świadczą
o początkach rewolucji w świecie informatycznym.
Prekursorem pierwszego systemu był Charles Bachman. Wczesna praca Bachmana nad
tworzeniem bazy danych ujawniła, że jego celem było bardziej efektywne i uniwersalne
wykorzystywanie urządzeń służących do dostępu do składowanych danych, które w tamtych
latach dopiero co stawały się dostępne do użytkowania.
Zanim powstał relacyjny model bazy danych, istniał już wcześniej model hierarchiczny oraz
model sieciowy.
3) Hierarchiczny model baz danych
Hierarchiczny model baz danych używa dwóch struktur danych: typów rekordów oraz
związków nadrzędny-podrzędny. Typ rekordów to struktura danych, z których każda ma
konkretną nazwę i służy do przechowywania pojedynczej informacji określonego typu.
Budowa hierarchicznego modelu bazy danych jest analogią do odwróconego drzewa. Składa
się z powiązań nadrzędny-podrzędny, w których nadrzędny typ rekordu może być połączony
z wieloma podrzędnymi, lecz podrzędny łączy się jedynie z jednym typem rekordu
nadrzędnego.
W wielu podręcznikach można się spotkać także z innym porównaniem, które strukturę
modelu hierarchicznej bazy danych, które ukazuje relacje w bazie danych jako analogiczne do
relacji występujące pomiędzy ojcem a synem.
Zaletą tego typu konstrukcji bazy danych jest szybki dostęp do konkretnych informacji,
wynika to z istnienia bezpośrednich połączeń pomiędzy tabelami. Kolejną zaletą jest
istniejąca integralność, oznacza to że, w momencie skasowania danych z tabeli nadrzędnej
usuwane są automatycznie dane do niej podrzędne.
Natomiast niewątpliwą wadą jest brak możliwości dodania rekordu podrzędnego bez
ówczesnego zdefiniowania odpowiedniego rekordu nadrzędnego, co przyczynia się do
czasochłonnego procesu dodawania danych.
Kolejną wada jest nadmiarowość danych, polegająca na tym, że nie można w HMBD
zdefiniować połączenia wiele- do wielu. Oznacza to że chcąc wprowadzić połączenie tego
typu niektóre z danych musza zostać powielone.
Prezentacja Slajd 6: jeden muzyk gra dla kilku klientów i jeden klient może zatrudniać wielu
muzyków. W tym przypadku w tabeli terminarz zostaną zawarte dane klientów
zatrudniających konkretnych muzyków w danym terminie, przy czym te same dane będą
znajdować się w tabeli muzyków. Może to prowadzić do zaburzenia integralności bazy
danych.
Wyjściem z tego problemu jest zaprojektowanie nowej bazy danych dla muzyków i
oddzielnej dla pośredników (Slajd 7). W tabeli muzyków zawarte będą jedynie nazwy
muzyków, natomiast baza pośredników będzie zawierać tabele: pośredników, klientów oraz
umowy. Tabela terminarzy zostanie pominięta na rzecz powiązania logicznego pomiędzy
tabelą muzyków, a umowami które zostają zawarte. Dzięki czemu łatwo można otrzymać
informacje na temat listy muzyków, którzy zawarli umowy z danym klientem, oraz terminarz
danego muzyka.
4) Sieciowy model danych.
Podobnie do hierarchicznego posiada dwie struktury danych: typy rekordów i typy kolekcji.
Typy rekordów są identyczne jak w hierarchicznym, jednakże mogą one przechowywać wiele
wartości. Powiązania w SMBD opisywane są pojęciem kolekcji, odpowiadającym relacji
jeden do wielu. Definiowanie pojęcia tego typu relacji w postaci struktury drzewiastej bez
powtarzania poszczególnych wartości w ramach obiektu danych, co oznacza że w obrębie
konkretnej struktury każdy rekord z tabeli nadrzędnej może być powiązany z dowolną ilością
rekordów tabeli podrzędnej, przy czym rekordowi podrzędnemu może odpowiadać tylko
jeden rekord w tabeli nadrzędnej, tym samym każdy z rekordów z tabeli podrzędnej musi
mieć odpowiedni rekord w tabeli właściciela, jednak mogą istnieć tabele właścicieli którzy
nie mają żadnych podrzędnych tabel.
Przykładowo: każdy klient ma pośrednika, ale nie każdy pośrednik ma klienta.
Między danymi dwoma tabelami można określić dowolną liczbę kolekcji, poza tym każda
tabela może być wykorzystywana w wielu różnych kolekcjach.
Zaleta SMBD jest szybkość odczytu danych oraz możliwość tworzenia wielu bardziej
złożonych zapytań niż w HMBD. Natomiast za wadę można uznać to że podobnie jak w
HMBD, niezbędna jest u użytkownika znajomość struktury bazy danych, np. użytkownik
musi pamiętać przez które kolekcje musi przejść, aby otrzymać konkretną interesującą go
informacje. Następną wadą jest to, że modyfikacja kolekcji nie może zostać dokonana bez
modyfikacji aplikacji bazodanowej, ponieważ aplikacja ta wyszukuje dane za pośrednictwem
określonych kolekcji. W momencie zmienienia kolekcji, wszystkie odwołania do danej
(zmienionej) kolekcji muszą ulec odpowiedniej modyfikacji.
5) Wstęp do relacyjnej bazy danych
Pretendentem myśli związanej ze stworzeniem relacyjnej bazy danych w odpowiedzi na
potrzebę obsługi dużych ilości informacji był Edgar Frank Codd, wyszedł naprzeciw
nadmiarowości danych oraz braku kompatybilności pomiędzy bazami danych wielu autorów.
Opracował on model matematyczny, który prezentował założenia RMBD oparte na teorii
mnogości [Nazwa jednak nie wywodzi się z faktu istnienia wielu relacji pomiędzy tabelami,
natomiast z pojęcia relacji w teorii mnogości].
W RMBD dane przechowuje się w tabelach definiowanych jako domeny. Każda tabela składa
się z rekordów i atrybutów czyli pól. Natomiast każda relacja posiada unikalną nazwę,
nagłówek oraz zawartość. Relacja jest charakteryzowana właśnie przez m.in. nagłówek, który
jest reprezentowany najczęściej w postaci wiersza w tabeli. W związku z tym, że nagłówek
jest zbiorem atrybutów (pól) nie jest ważna ich kolejność.
Każda relacja posiada tzw. klucz główny. Klucz ten jest unikatowym identyfikatorem w
relacji i może być kombinacją kilku kolumn, często jednak obejmuje jedną kolumnę (jeden
atrybut). Klucz ma za zadanie jednoznacznie identyfikować każdą krotkę (wiersz) – wartości
w wyznaczonych kolumnach są jako zestaw niepowtarzalne w danej tabeli.
Innym rodzajem klucza jest tzw. klucz obcy. Jest to zbiór atrybutów jednej tabeli (relacji)
wskazujący wartości klucza kandydującego innej tabeli. Służy do wskazywania zależności
pomiędzy danymi składowanymi w różnych tabelach. Klucze w modelu relacyjnym służą
m.in. do sprawdzania spójności danych w bazie. Głównie dotyczy to kluczy obcych, na które
nałożony jest wymóg, że w tabeli wskazywanej musi istnieć wartość klucza wskazującego.
Zaletą tego modelu bazy danych jest to że użytkownik nie musi znać dokładnie położenia
rekordu, z którego chce pozyskać dane informacje.
Np. Slajd: każdy pośrednik pracuje dla kilku muzyków i ma kilku klientów. Natomiast klient
z muzykiem jest powiązany ze sobą przez tabele rozliczeń, ponieważ klient może zatrudnić
wielu muzyków, a muzyk może pracować dla wielu klientów.
Dodatkowym elementem modelu relacyjnego jest zbiór operacji służących do przeszukiwania
i manipulacji danymi. Od strony formalnej takie zbiory operacji kojarzone są z tzw. algebrą
relacji oraz z rachunkiem relacyjnym. Od strony praktycznej najbardziej popularnym
językiem zapytań dla modelu relacyjnego jest język SQL
W tym modelu bazy danych dostępne są powiązania: jeden do jednego, jeden do wielu, wiele
do wielu. Każda para tabel jest powiązana w sposób dzielenia między siebie pól o określonej
zawartości. Przykładowo pośrednicy i klienci są powiązani polem ID pośrednika.
Taki typ danych umożliwia pozyskiwanie informacji na wiele sposobów.
Przykład: Slajd” użytkownik mimo tego że tabela „klienci” jest tylko pośrednio powiązana z
muzykami jest w stanie stworzyć listę upodobań danego klienta. Jest to możliwe dzięki
powiązaniu tabeli style muzyczne, z która istnieje powiązanie tabeli muzyków, którzy z kolei
mają bezpośrednią łączność z tabelą zawartych umów, no a ta odnosi się do konkretnych
klientów.
Najpopularniejszym sposobem uzyskania dostępu do informacji w RMBD są zapytania
konstruowane w języku SQL. Pokrótce jest to standardowy język wykorzystywane do
wprowadzania, modyfikowania oraz odczytywania informacji z baz danych.
5) Systemy zarządzania relacyjnymi bazami danych.
Systemy służą do tworzenia i modyfikowania relacyjnych baz danych, a także generowania
aplikacji przeznaczonej dla użytkownika gotowej bazy. Systemy zarządzania ciągle ulegają
modyfikacjom, jak dotąd nikomu nie udało się jeszcze w pełni zaimplementować relacyjnego
modelu logicznego, mimo tego w chwili obecnej widoczny jest postęp względem
wcześniejszych systemów zarządzania.
W momencie upowszechnienia się komputerów osobistych wśród zwykłych użytkowników
programy do zarządzania relacyjnymi modelami baz danych zostały uproszczone i
udostępnione szerszej liczbie odbiorców, nie tylko dla użytkownikom systemów mainframe.
W odpowiedzi na potrzebę szybkiego udostępniania danych stworzono centralną bazę danych
wielu użytkowników typu klient-serwer. Gwarantowało to nie tylko większa szybkość ale też
integralność danych oraz ich bezpieczeństwo