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.