2008
Spis tre±ci 1 Literatura 2 Wprowadzenie Motywacja Podstawowe denicje Charakterystyka baz danych Zadania SZBD Historia SZBD Kryteria podziaªu baz danych Architektura SBD U»ytkownicy SBD Technologie baz danych 3 Model zwi zki-encje Projektowanie bazy danych
Literatura C.J. Date, An Introduction to Database System, vol. II, Adison-Wesley Pub. Comp., równie» WNT, W-wa, (seria: Klasyka Informatyki), 2000 Elmasri R., Navathe S., Fundamentals of Database Systems, Adison-Wesley Pub. Comp.,(4th Edition), 2002 Garcia-Molina H., Ullman J.D., Widom J., Implementacja systemów baz danych, WNT, 2003 (seria: Klasyka Informatyki) Ullman J.D., Principles of database and knowledge base systems, Vol. I and II, Computer Science Press, Rockville, Maryland, 1989 J.D.Ullman, J. Widom, Podstawowy wykªad z systemów baz danych, WNT, W-wa, 2000 (seria: Klasyka Informatyki)
Literatura Elmasri R., Navathe S., Wprowadzenie do systemów baz danych, Wyd. Helion, (4th Edition), 2005 R. Ramakrishnan, J. Gehrke, Database Management Systems, 2nd edition, WCB/McGraw-Hill, 2001 T. Connolly, C. Bagg, Systemy baz danych, Wydawnictwo RM, Warszawa, 2004 http://wazniak.mimuw.edu.pl/index.php?title=
Motywacja Historia ostatnich trzydziestu lat bada«w dziedzinie baz danych to okres wyj tkowo wydajnej pracy, w wyniku której powstaªy systemy baz danych stanowi ce najprawdopodobniej najwi ksze dotychczasowe osi gni cie in»ynierii oprogramowania. staªy si podstaw systemów informacyjnych i istotnie zmieniªy sposób dziaªania wielu instytucji. Ich rozwój doprowadziª do powstania systemów o du»ych mo»liwo±ciach, z których korzysta si w prosty i naturalny sposób. To z kolei sprawiªo,»e systemy te staªy si dost pne dla szerokich kr gów u»ytkowników. Niestety pozorna prostota systemów baz danych zrodziªa tak»e rzesze "twórców" baz danych i zwi zanych z nimi aplikacji, nie posiadaj cych wystarczaj cej wiedzy, aby tworzy systemy wydajne i oszcz dne. T.Connolly, C.Begg
Podstawowe denicje Baza danych dost pny dla wielu u»ytkowników zbiór powi zanych logicznie danych wraz z denicj ich struktury podan w schemacie bazy danych. System zarz dzania baz danych (SZBD) system oprogramowania, który pozwala u»ytkownikom deniowa, tworzy i utrzymywa baz danych oraz kontrolowa do niej dost p. System bazy danych baza danych wraz z sytemem zarz dzania baz danych.
Charakterystyka baz danych Baz danych charakteryzuje: rozmiar: dane nie mieszcz si w pami ci operacyjnej, jest ich zbyt du»o by mogªy by przegl dane liniowo i dlatego potrzebne s zaawansowane mechanizmy efektywnego dost pu do danych; zªo»ono± : dotyczy ona zarówno zªo»ono±ci wzajemnych zale»no±ci, jak i zªo»ono±ci ogranicze«integralno±ciowych; trwaªo± : dane nie mog by utracone, powinny by przechowywane przez dowolnie dªugi czas.
Charakterystyka baz danych Zakªada si,»e dane w bazie s zintegrowane zamiast rozª cznych plików z powielonymi danymi, wszystkie elementy informacji s logicznie poª czone, a ich powtarzalno± ograniczona do minimum; wspóªdzielone te same elementy informacji mog by równocze±nie wykorzystywane przez wielu u»ytkowników dla ró»nych celów.
Zadania SZBD Zadania systemu zarz dzania baz danych: wspieranie j zyka bazy danych sªu» cego do wstawiania, usuwania, modykowania oraz wyszukiwania danych, a tak»e do tworzenia, usuwania i modykowania struktur danych; wspieranie struktur danych pozwalaj cych na przechowywanie i przetwarzanie danych o ogromnej obj to±ci; optymalizowanie dost pu do danych; synchronizacj równoczesnego dost pu do danych; zapewnienie integralno±ci danych; zabezpieczenie przed nieautoryzowanym dost pem do danych; zapewnienie bezpiecze«stwa danych i odtworzenia ich w razie awarii.
Troch historii Poprzednikiem SZBD byªy systemy oparte na przetwarzaniu plików.
Troch historii Poprzednikiem SZBD byªy systemy oparte na przetwarzaniu plików. Pierwsza generacja SZBD: Pierwszy SZBD - system hierarchiczny IMS (Information Management System), dla programu Apollo. System IDS (Integrated Data Store) stworzony przez Bachmanna, system sieciowy. Standard DBTG (Data Base Task Group) 1969. Wady: skomplikowane dost p do danych, maªa niezale»no± danych, brak podstaw teoretycznych.
Troch historii Druga generacja SZBD: Praca Codda dotycz ca modelu relacyjnego 1970. Stworzenie i rozwój standardu SQL. Powstanie komercyjnych relacyjnych SZBD, np. Oracle, DB2. Kolejne SZBD: INGRES II (wielodost pny), Access, FoxPro, InterBase, Paradox itp. (dla komputerów osobistych). Model zwi zków encji Chena 1979.
Troch historii Druga generacja SZBD: Praca Codda dotycz ca modelu relacyjnego 1970. Stworzenie i rozwój standardu SQL. Powstanie komercyjnych relacyjnych SZBD, np. Oracle, DB2. Kolejne SZBD: INGRES II (wielodost pny), Access, FoxPro, InterBase, Paradox itp. (dla komputerów osobistych). Model zwi zków encji Chena 1979. Trzecia generacja SZBD: systemy obiektowe; systemy obiektowo-relacyjne; systemy eksperckie.
Kryteria podziaªu baz danych Ze wzgl du na model danych: hierarchiczne; sieciowe; relacyjne; obiektowe; obiektowo-relacyjne; semistrukturalne (XML).
Kryteria podziaªu baz danych Ze wzgl du na liczb w zªów: scentralizowane; rozproszone.
Kryteria podziaªu baz danych Ze wzgl du na cel stosowania: przetwarzanie transakcyjne (wszystkie systemy ewidencyjne): bardzo wielu u»ytkowników, krótkie interakcje; przetwarzanie analityczne (hurtownie danych): maªo u»ytkowników, dªugie interakcje; przy wspomaganiu zarz dania; wspomaganie projektowania; systemy informacji i nawigacji geogracznej; wytwarzanie oprogramowania.
Architektura SBD W systemie baz danych wyró»nia si 3 nast puj ce schematy: wewn trzny: opisuj cy zyczny sposób skªadowania danych na no±nikach; implementacyjny: odwzorowuj cy schemat wewn trzny w struktury modelu danych, który jest stosowany w bazie danych; zewn trzny (nie musi wyst powa ): interfejs u»ytkownika.
U»ytkownicy SBD U»ytkownicy ko«cowi bezpo±rednio komunikuj cy si z baz danych z terminali; wykorzystuj interfejsy b d¹ gotowe aplikacje (np. interaktywny procesor j zyka zapyta«sql).
U»ytkownicy SBD U»ytkownicy ko«cowi bezpo±rednio komunikuj cy si z baz danych z terminali; wykorzystuj interfejsy b d¹ gotowe aplikacje (np. interaktywny procesor j zyka zapyta«sql). Programi±ci aplikacji; pisz aplikacje wsadowe lub aplikacje dziaªaj ce w trybie online.
U»ytkownicy SBD U»ytkownicy ko«cowi bezpo±rednio komunikuj cy si z baz danych z terminali; wykorzystuj interfejsy b d¹ gotowe aplikacje (np. interaktywny procesor j zyka zapyta«sql). Programi±ci aplikacji; pisz aplikacje wsadowe lub aplikacje dziaªaj ce w trybie online. Projektanci baz danych; zajmuj si projektowaniem struktury logicznej baz danych.
U»ytkownicy SBD U»ytkownicy ko«cowi bezpo±rednio komunikuj cy si z baz danych z terminali; wykorzystuj interfejsy b d¹ gotowe aplikacje (np. interaktywny procesor j zyka zapyta«sql). Programi±ci aplikacji; pisz aplikacje wsadowe lub aplikacje dziaªaj ce w trybie online. Projektanci baz danych; zajmuj si projektowaniem struktury logicznej baz danych. Administratorzy SZBD; gwarantuj ci gªo± pracy systemu, instaluj nowe wersje systemu, zarz dzaj u»ytkownikami ko«cowymi.
Technologie baz danych Fizyczna organizacja danych: pliki uporz dkowane, pliki haszowe, B-drzewa, indeksy bitmapowe.
Technologie baz danych Fizyczna organizacja danych: pliki uporz dkowane, pliki haszowe, B-drzewa, indeksy bitmapowe. Metody dost pu do danych: poªowienie binarne, haszowanie statyczne i dynamiczne, algorytmy ª czenia, sortowania i grupowania.
Technologie baz danych Przetwarzanie transakcyjne: dost p do baz danych jest realizowany przez jednostki interakcji zwane transakcjami, których cechy to atomowo± ; spójno± ; izolacja; trwaªo±. Transakcje musz by zsynchronizowane, w przypadku koniktu transakcji b d¹ awarii musz by stosowane dodatkowe struktury danych, algorytmy i mechanizmy systemowe.
Technologie baz danych Modele danych: poj ciowe: model zwi zki-encje; logiczne: relacyjny, obiektowy, semistrukturalny, relacyjno-obiektowy itp.
Technologie baz danych Modele danych: poj ciowe: model zwi zki-encje; logiczne: relacyjny, obiektowy, semistrukturalny, relacyjno-obiektowy itp. Narz dzia programistyczne: narz dzia modelowania i projektowania np. notacja Chena lub Barkera, procedury normalizacyjne. j zyki budowy aplikacji: j zyki trzeciej generacji np. C++, gdzie komunikacja z baz danych odbywa si przy u»yciu wyspecjalizowanych bibliotek; j zyki 4-tej generacji np. Oracle umo»liwiaj ce bezpo±redni obsªug SQL; j zyki programowania aplikacji webowych np. Java.
Projektowanie bazy danych Fazy projektowania bazy danych: Konceptualne projektowanie bazy danych: utworzenie, po analizie dotycz cej wymaga«odno±nie danych i funkcjonalno±ci projektowanej bazy danych, konceptualnego modelu zagadnienia, niezale»nego od wszystkich szczegóªów implementacyjnych. W tym celu nale»y:
Projektowanie bazy danych Fazy projektowania bazy danych: Konceptualne projektowanie bazy danych: utworzenie, po analizie dotycz cej wymaga«odno±nie danych i funkcjonalno±ci projektowanej bazy danych, konceptualnego modelu zagadnienia, niezale»nego od wszystkich szczegóªów implementacyjnych. W tym celu nale»y: ustali wyst puj ce zbiory encji;
Projektowanie bazy danych Fazy projektowania bazy danych: Konceptualne projektowanie bazy danych: utworzenie, po analizie dotycz cej wymaga«odno±nie danych i funkcjonalno±ci projektowanej bazy danych, konceptualnego modelu zagadnienia, niezale»nego od wszystkich szczegóªów implementacyjnych. W tym celu nale»y: ustali wyst puj ce zbiory encji; ustali wyst puj ce zwi zki i ich typy;
Projektowanie bazy danych Fazy projektowania bazy danych: Konceptualne projektowanie bazy danych: utworzenie, po analizie dotycz cej wymaga«odno±nie danych i funkcjonalno±ci projektowanej bazy danych, konceptualnego modelu zagadnienia, niezale»nego od wszystkich szczegóªów implementacyjnych. W tym celu nale»y: ustali wyst puj ce zbiory encji; ustali wyst puj ce zwi zki i ich typy; okre±li atrybuty poszczególnych encji i zwi zków;
Projektowanie bazy danych Fazy projektowania bazy danych: Konceptualne projektowanie bazy danych: utworzenie, po analizie dotycz cej wymaga«odno±nie danych i funkcjonalno±ci projektowanej bazy danych, konceptualnego modelu zagadnienia, niezale»nego od wszystkich szczegóªów implementacyjnych. W tym celu nale»y: ustali wyst puj ce zbiory encji; ustali wyst puj ce zwi zki i ich typy; okre±li atrybuty poszczególnych encji i zwi zków; poda dziedziny tych atrybutów;
Projektowanie bazy danych Fazy projektowania bazy danych: Konceptualne projektowanie bazy danych: utworzenie, po analizie dotycz cej wymaga«odno±nie danych i funkcjonalno±ci projektowanej bazy danych, konceptualnego modelu zagadnienia, niezale»nego od wszystkich szczegóªów implementacyjnych. W tym celu nale»y: ustali wyst puj ce zbiory encji; ustali wyst puj ce zwi zki i ich typy; okre±li atrybuty poszczególnych encji i zwi zków; poda dziedziny tych atrybutów; ustali klucze relacji;
Projektowanie bazy danych Fazy projektowania bazy danych: Konceptualne projektowanie bazy danych: utworzenie, po analizie dotycz cej wymaga«odno±nie danych i funkcjonalno±ci projektowanej bazy danych, konceptualnego modelu zagadnienia, niezale»nego od wszystkich szczegóªów implementacyjnych. W tym celu nale»y: ustali wyst puj ce zbiory encji; ustali wyst puj ce zwi zki i ich typy; okre±li atrybuty poszczególnych encji i zwi zków; poda dziedziny tych atrybutów; ustali klucze relacji; zwerykowa otrzymany model pod k tem wyst powania redundancji oraz mo»liwo±ci realizowania transakcji.
Projektowanie bazy danych Logiczne projektowanie bazy danych: transformacja modelu konceptualnego w model logiczny z uwzgl dnieniem modelu danych (np. model relacyjny). Otrzymany model jest nadal niezale»ny od SZBD i szczegóªów implementacji zycznej. W przypadku stosowania modelu relacyjnego na tym etapie nale»y: wyznaczy relacje odpowiadaj ce encjom i zwi zkom z modelu konceptualnego; znormalizowa relacje; wyznaczy wi zy integralno±ci; w przypadku tworzenia oddzielnych modeli dla wi kszej liczby u»ytkowników utworzy model globalny.
Projektowanie bazy danych Implementacja: utworzenie opisu implementacji bazy danych, zawieraj cego relacje bazowe, organizacj plików, indeksy stosowane w celu uzyskania efektywnego dost pu do danych, a tak»e wi zy integralno±ci i zagadnienia zwi zane z bezpiecze«stwem.