Typy bazy danych

advertisement
Typy bazy danych
Typy bazy danych
•
•
bazy tekstowe,
– Textract, http://www.textract.com - bazy tekstowe, np.
archiwum gazety, dla setek gigabajtów, szybkie
wyszukiwanie i indeksacja informacji
bazy danych bez struktury (free form) - informacja
nieustrukturizowana
Bazy oparte na płaskich plikach
tekstowych (ang. flat file)
•
Stosowane w latach 60-70 stosowane w komputerach
mainframe. Informacje s umieszczane w polach, które albo
maj stała szeroko , albo s rozdzielane znakiem specjalnym,
na przykład “;”. Znak rozdzielaj cy nie mo e wyst powa w
samych danych.
•
Wyst puj pola
– Numer Identyfikacyjny - 4 kolumny,
– Profesja
- 5 do 15 kolumny,
– Imi i Nazwisko - 16 do 40 kolumny.
Bazy oparte na płaskich plikach
tekstowych (ang. flat file)
•
Przykład danych opartych na plaskich plikach oddzielonymi “;”.
1234;ksi gowy;Adam Rutkowski;
3241;tokarz;Rafal Baniewicz;
•
Przykład danych opartych na plaskich plikach o stałej
szeroko ci.
Adam Rutkowski
1234 ksi gowy
3241 tokarz
Rafal Baniewicz
Bazy oparte na płaskich plikach
tekstowych (ang. flat file)
•
•
•
Płaskie pliki s cz sto wykorzystywane do przenoszenia danych
pomi dzy ró nymi implementacjami baz danych.
Na przykład
– plik Exportu z jednej wiersji Oracle jest Importowany do
wy szej wersji bazy danych Oracle;
– dane s przenoszone z jednej bazy do drugiej.
System zarz dzania bazy danych Oracle potrafi widzie płaski
pliki w systemie operacyjnym jako tabela bazy danych, je eli
– opiszemy struktur plików;
– podamy miejsce pliku - dysk, katalog.
Bazy hierarchiczne
•
•
•
•
Architektura modelu hierarchicznej bazy danych opiera si na relacji
nadrz dny / podrz dny.
Na wierzchu hierarchicznej struktury jest główna tabela, która wskazuje
tabele podrz dne, zwi zane z ni .
Model hierarchicznej bazy danych ma posta typu odwróconego
drzewa.
Przykłady hierarchicznej bazy danych
– baza domen w Internecie
– Wydawca
• Wykonawca
Sklepy
– Album
Album Stan magazynu Sprzeda
» Piosenka
Bazy hierarchiczne
•
•
•
•
•
•
W bazie danych powinno si przechowywa jak najmniej
nadmiarowych informacji.
Przy aktualizacji danych koniecznie jest aktualizacji tych danych
zawsze w wielu miejscach w celu unikni cia powstawania
niespójno ci danych.
Tabela nadrz dna mo e posiada wiele tabel podrz dnych.
Tabela podrz dna mo e mie tylko jedn tabel nadrz dn .
W celu odczytania danych z tabeli podrz dnej trzeba najpierw
odczyta tabelÍ nadrz dn .
System zarz dzania bazy danych Oracle ma mo liwo
implementacji w relacyjnej bazie danych modelu
hierarchicznego - drzewa (ang. tree) i wyszukiwania informacji w
nim poprzez zapytania, które przeszukuj drzewa.
Model sieciowy
•
•
•
•
•
•
•
Rozwój modelu hierarchicznego.
Tabele podrz dne mog mie wiele tabel nadrz dnych.
Nie ma konieczno ci odczytywanie głównej tabeli w celu
uzyskania dost pu do danych z tabel podrz dnych.
Relacje pomi dzy tabelami w modelu sieciowym nosz nazw
struktury grupowej, w której jedna tabela jest wła cicielem a
inne tabele s członkami struktury.
Struktury grupowe umo liwiaj realizacj relacji jeden-do-wielu
pomi dzy tabelami.
Je li zostanie zmieniona struktura bazy danych, zmiany
wymaga równie aplikacja.
Trudna zmiana, modyfikacja struktury raz utworzonych bazach
danych.
Model sieciowy
– Wydawca
• Wykonawca
Album
Sklepy
Zamówienia
» Piosenka
Stan Magazynu
Sprzeda
Relacyjny model
•
•
•
•
Najcz ciej u ywanym obecnie modelem baz danych jest model
relacyjny.
Ojciec koncepcji relacyjnego modelu bazy danych jest badac z
firmy IBM dr E.F. Codd. Jako podstaw formaln relacyjnego
modelu baz danych uznaje si opracowany przez niego
dokument ang. “A Relational Model of Data for Large Shared
Data Banks” - 1970 (“Relacyjny model danych dla du ych
współu ytkowanych banków danych”)
W tym modelu jest najłatwiej zaimplementowa kontroli
integralno ci danych po przez stosowaniu ograniczeniach (ang.
constraints).
Łatwo mo na zmienia struktur bazy danych.
Relacyjny model
•
•
U ytkownicy widz logiczny sposób przechowywania danych i
nie musz zna ani rozumie fizycznego sposobu ich
przechowywania.
Łatwiejszy proces odczytywania danych.
Koncepcje relacyjnego modelu
według E.F. Codda
•
•
•
Wszystkie informacje w relacyjnej bazie danych (ł cznie z
nazwami tabel i kolumn) s reprezentowane bezpo rednio, jako
warto ci przechowywane w tabelach.
Ka da warto w relacyjnej bazie danych musi by dost pna
poprzez okre lenie nazwy tabeli, warto ci klucza podstawowego
i nazwy kolumny. Oznacza to, e nie trzeba zna fizycznej
lokalizacji danych i e mo na w sposób niezale ny
bezpo rednio odczytywa dowolne rekordy znajduj ce si w
tabelach bazy danych.
DBMS powinien obsługiwa puste warto ci (dane nieznane lub
nieadekwatne), odró niaj c je od warto ci domy lnych i (w
sposób niezale ny) od ich dziedziny.
Koncepcje relacyjnego modelu
według E.F. Codda
•
•
•
Opis bazy danych i jej zawarto ci jest reprezentowany na
poziomie logicznym, w postaci tabel, i mo e by odczytywany
za pomoc zapyta wyra onych w j zyku bazy danych.
Oznacza to, e meta dane, czyli dane opisuj ce dane, s
przechowywane równie w tabelach bazy danych.
Co najmniej jeden j zyk rozumiany przez baz danych musi
mie dokładnie zdefiniowan składni i musi by zrozumiały dla
u ytkowników. Musi on umo liwia definiowanie danych,
modyfikacj danych, definiowanie reguł integralno ci,
autoryzacj i obsług transakcji.
System musi umo liwia aktualizacj danych poprzez wszystkie
perspektywy, które teoretycznie pozwalaj modyfikowa dane.
Koncepcje relacyjnego modelu
według E.F. Codda
•
•
•
•
DBMS musi pozwala na odczytywanie, wstawianie,
aktualizacj i usuwanie danych na poziomie zbiorów.
Zmiana metod dost pu lub struktur przechowuj cych dane na
poziomie fizycznym nie mo e wpływa logicznie na napisane
aplikacje i zapytania.
Zmiany w strukturze tabel maj mie jak najmniejszy wpływ na
napisane aplikacje i zapytania. W przypadku rozdzielenia jednej
tabeli na dwie, aplikacja b dzie musiała ulec zmianie ñ tak aby
odpowiednie kolumny były odczytywane z obu tabel.
J zyk bazy danych musi umo liwia definiowanie reguł
integralno ci chroni cych dane. Reguły te musz by
przechowywane w dost pnym na bie co katalogu i nie mo e
istnie mo liwo ich pomini cia podczas modyfikacji danych.
Koncepcje relacyjnego modelu
według E.F. Codda
•
•
Fizyczne rozmieszczanie i przemieszczanie danych nie mo e
mie wpływu na napisane aplikacje i zapytania.
Musi istnie mo liwo pomini cia reguł integralno ci danych
poprzez u ycie j zyków niskiego poziomu.
Relacyjny model - wymagania
wobec u ytkownika
•
U ytkownicy musz si nauczy j zyka SQL.
•
U ytkownicy musz wiedzie , jakie s relacje pomi dzy
tabelami i kto jest ich wła cicielem.
•
W celu odczytania danych zawartych w pojedynczej tabeli
nale y:
– zna jej wła ciciela,
– struktury tabeli i
– mie uprawnienia do jej odczytania.
Obiektowe bazy danych
•
•
Obiektowa baza danych (ang. object-oriented database) to taka
baza, w której dane mo na przechowywa , definiowa i
korzysta z nich za po rednictwem j zyków programowania
obiektowego.
– J zyki programowania obiektowego - C++, Visual Basic,
Java.
W obiektowych bazach wyró niamy dwie podstawowe struktury:
– obiekty (ang. objects) strukturami posiadaj cymi
identyfikatory umo liwiaj ce tworzenie powi za z innymi
obiektami
– literały (ang. literals) to warto ci zwi zane z obiektami,
które nie posiadaj identyfikatorów.
Obiektowe bazy danych
•
•
•
•
Obiekty mog dziedziczy wła ciwo ci od innych obiektów.
Poprzez nadawanie warto ci wła ciwo ciom obiektów okre la
si mi dzy innymi sposób ich zachowania.
W przypadku bazy obiektowej j zyk programowania
obiektowego słu y zarówno do definiowania struktury bazy
danych, jak i do tworzenia aplikacji b d cej interfejsem tej bazy.
Obiektowy model danych okre la
– zbiór obiektów;
– ich stan;
– uch zachowanie;
– relacje mi dzy nimi
Obiektowe bazy danych
•
•
•
Odpowiednikiem tabeli w bazie relacyjnej jest klasa w bazie
obiektowej.
– Obiekty klasy;
– dziedziczenie...
Do odczytywania warto ci z innych klas oraz do dodawania i
usuwania warto ci słu operacje.
Typ w relacyjnej bazie danych mo na zdefiniowa jako grup
obiektów i literałów posiadaj cych ten sam zestaw wła ciwo ci,
które mo na modyfikowa dla konkretnych obiektów.
Obiektowe bazy danych
•
•
•
•
•
Do operowania na danych w obiektowej bazie danych słu y
obiektowy j zyk zapyta (ang. object query language - OQL).
Jest on oparty na standardowym j zyku baz relacyjnych - SQL,
ale posiada dodatkowe mo liwo ci, dzi ki którym mo na
wykonywa operacje na danych przechowywanych w postaci
obiektów posiadaj cych wła ciwo ci.
Je yk zapyta Object Query Language (OQL)
grupowanie obiektów
zamki - metoda zamykania przez transakcje dost pu do
obiektów
zasady zachowania integralno ci bazy danych
– poprawno dziedziczenia
– hierarchia dziedziczenia
Obiektowo - relacyjne bazy
danych (ang. object-relational)
•
•
•
•
•
ł cz cy w sobie koncepcje relacyjnego modelu bazy danych z
obiektowym stylem programowania.
Model ten ma stanowi poł czenie najlepszych wła ciwo ci
modelu obiektowego i relacyjnego.
Mi dzynarodowa Organizacja Normalizacyjna (ang.
International Standards Organization ñ ISO) uj ła koncepcje
obiektowo-relacyjne w nowym standardzie j zyka SQL o nazwie
SQL3, nazywanym równie SQL99.
Architektura relacyjnej bazy danych staje si bardziej
trójwymiarowa.
Mo na tworzy własne typy danych.
Obiektowo - relacyjne bazy
danych (ang. object-relational)
•
•
U ytkownik musi rozumie zarówno koncepcje obiektowe, jak i
relacyjne.
W niektórych implementacjach modelu obiektowo-relacyjnego
nie jest mo liwe dziedziczenie wła ciwo ci obiektów.
Według przeznaczenia
•
OLTP (On Line Transaction Processing) - systemy
transakcyjne. Transakcja - pełny obieg danych i aktualizacja
bazy.
– system sprzeda y,
– system rezerwacji biletów
– system finansowo - ksi gowy
– system obsługi tranaskacji bankowych
•
DSS (Decision Support Systems) - Systemy wspomagaj ce
podejmowania decyzji.
– system obsługi wniosków o udzielania kredytów
Typy bazy danych według miejsca
•
Rozproszone bazy danych - na wielu systemach
komputerowych
•
Sieciowe bazy danych, udost pnianie baz danych przez
WWW.
Download