background image

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.  
 

background image

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 

background image

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 

background image

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