Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Bazy danych 3. Modelowanie baz danych (cd) P. F. Góra semestr letni 2004/05.

Podobne prezentacje


Prezentacja na temat: "Bazy danych 3. Modelowanie baz danych (cd) P. F. Góra semestr letni 2004/05."— Zapis prezentacji:

1 Bazy danych 3. Modelowanie baz danych (cd) P. F. Góra semestr letni 2004/05

2 Bazy danych - wykład 32 Diagramy zwi ą zków encji (E/R) Filmy tytu ł rok TypTa ś myd ł ugo ść Gwiazdy nazwiskoadres Studia nazwa adres Gwiazdy-w Posiada

3 Bazy danych - wykład 33 Diagramy E/R dopuszczaj ą zwi ą zki wieloargumentowe FilmyGwiazdy Studia Kontrakty

4 Bazy danych - wykład 34 W diagramach E/R zwi ą zki mog ą mie ć swoje atrybuty FilmyGwiazdy Studia Kontrakty Wynagrodzenie tytu ł rok TypTa ś myd ł ugo ść nazwiskoadres nazwaadres

5 Bazy danych - wykład 35 Czteroargumentowy zwi ą zek z atrybutami FilmyGwiazdy Studia Kontrakty Wynagrodzenie tytu ł rok TypTa ś myd ł ugo ść nazwiskoadres nazwaadres Studio producenta Studio gwiazdy

6 Bazy danych - wykład 36 Atrybuty zwi ą zków zast ę pujemy dodatkowymi zbiorami encji FilmyGwiazdy Studia Kontrakty Wynagrodzenie tytu ł rok TypTa ś myd ł ugo ść nazwiskoadres nazwaadres Ga ż e Kombinacja Filmu i Gwiazdy wyznacza jednoznaczn ą Ga żę Film wyznacza jednoznaczne Studio producenta Gwiazda wyznacza jednoznaczne Studio gwiazdy

7 Bazy danych - wykład 37 Zwi ą zki wieloargumentowe mo ż na zast ą pi ć dodatkowymi zbiorami encji i zwi ą zkami dwuargumentowymi Gwiazdy Ga ż e Filmy Kontrakty Studia Gwiazda-czego Jaka-ga ż a Studio-prod. Studio-gwiazdy Film-w Zbiór encji Kontrakty nie ma atrybutów, ma same zwi ą zki Wynagrodzenie Mo ż e zbiór encji Ga ż e wcale nie jest potrzebny?

8 Bazy danych - wykład 38 GwiazdyFilmy Kontrakty Studia Gwiazda-czego Studio-prod. Studio-gwiazdy Film-w Zbiór encji Kontrakty ma jeden atrybut i wchodzi w cztery zwi ą zki dwuargumentowe Wynagrodzenie Zbiór encji powsta ł y z rozbicia zwi ą zku wieloargumentowego na relacje binarne nazywa si ę zbiorem łą cz ą cym.

9 Bazy danych - wykład 39 Podklasy i dziedziczenie Je ś li mam zdefiniowan ą klas ę, mog ę zdefiniowa ć podklas ę, która dziedziczy wszystkie atrybuty i zwi ą zki nadklasy, ale mo ż e mie ć swoje w ł asne atrybuty i wchodzi ć w zwi ą zki, w które nadklasa nie wchodzi.

10 Bazy danych - wykład 310 interface Kreskówka: Filmy { relationship Set głosy inverse Gwiazdy::podkłada; }; interface Filmy { attribute string tytuł; attribute integer rok; attribute integer długość; attribute enum Taśma {kolor, czarno-biała} TypTaśmy; relationship Set gwiazdy inverse Gwiazda::występujeW; relationship Studio należyDo inverse Studio::posiada; }; Obiekt klasy Kreskówka ma okre ś lony atrybut tytuł. Obiekt klasy Filmy nie wchodzi w zwi ą zek głosy. Zdefiniowanie podklasy Kreskówka zmusza nas do zmiany definicji klasy Gwiazda !

11 Bazy danych - wykład 311 Dziedziczenie wielokrotne interface Kryminał: Filmy { attribute string broń; }; interface Kreskówka-Kryminał: Kreskówka, Kryminał {}; Podklasa Kreskówka-Kryminał nie wprowadza ż adnych nowych atrybutów b ą d ź zwi ą zków, ale obiekt tej klasy ma wszystkie atrybuty klasy Filmy, wchodzi we wszystkie zwi ą zki zdefiniowane w tej klasie, a ponadto ma atrybut broń oraz wchodzi w zwi ą zek głosy. Kto wrobi ł Królika Rogera Chocia ż mog ł aby…

12 Bazy danych - wykład 312 Problemy z dziedziczeniem wielokrotnym interface Romans: Filmy { attribute enum JakiKoniec {szczęśliwy, smutny} koniec; }; interface Sąd: Filmy { attribute enum JakiWyrok {winny, niewinny} koniec; }; interface Romans-Sąd: Romans, Sąd {}; Ze zbioru jakich warto ś ci pochodzi atrybut koniec obiektu klasy Romans-Sąd ? Sk ł adnia j ę zyka ODL tego nie rozstrzyga, zostawiaj ą c to do (ewentualnej) implementacji.

13 Bazy danych - wykład 313 Problemów z dziedziczeniem wielokrotnym mo ż na unikn ąć … interface Romans: Filmy { attribute enum JakiKoniec {szczęśliwy, smutny} Romans_koniec; }; interface Sąd: Filmy { attribute enum JakiWyrok {winny, niewinny} Sąd_koniec; }; interface Romans-Sąd: Romans, Sąd {}; …je ś li stosuje si ę przemy ś lan ą konwencj ę nadawania nazw atrybutom. W du ż ych projektach jest to nieodzowne.

14 Bazy danych - wykład 314 Podklasy w zwi ą zkach encji A B isa atr 1 atr 2 B jest podklas ą A, mo ż e mie ć swoje atrybuty (i zwi ą zki) B is a A

15 Bazy danych - wykład 315 Wi ę zy Klucze Wi ę zy jednoznaczno ś ci Wi ę zy integralno ś ci referencyjnej Wi ę zy domenowe (zakresu) Wi ę zy ogólne

16 Bazy danych - wykład 316 Klucze Klucz atrybut lub zbiór atrybutów, który jednoznacznie definiuje obiekt wewn ą trz klasy lub encj ę wewn ą trz zbioru encji. W danej klasie nie wyst ę puj ą dwa obiekty, które mia ł yby identyczne warto ś ci atrybutów tworz ą cych klucz. A je ś li wyst ę puj ą i s ą ró ż ne, to znaczy, ż e klucz zosta ł ź le dobrany. Uwaga: abstrakcyjny obiekt w pami ę ci komputera nie musi mie ć klucza, bo jest jednoznacznie identyfikowany przez adres przydzielonego mu obszaru pami ę ci.

17 Bazy danych - wykład 317 Gdyby ś my próbowali utworzy ć w jednej klasie dwa ró ż ne obiekty o takich samych kluczach, DBMS powinien to uniemo ż liwi ć.

18 Bazy danych - wykład 318 W ł a ś ciwy dobór kluczy jest trudny, bo musz ą one dobrze odpowiada ć rzeczywisto ś ci Osoba: Imi ę i Nazwisko? Nie wystarczy. Osoba: Imi ę, Drugie Imi ę i Nazwisko? Nie wystarczy. Osoba: Imi ę, Drugie Imi ę, Nazwisko i Data Urodzenia? W bazie reprezentuj ą cej odpowiedno du ż y zbiór ludzi nie wystarczy. Czasami wprowadza si ę nowe pole tylko po to, aby mog ł o s ł u ż y ć jako indeks Studenci: Numer Indeksu Rz ą dowa baza danych: PESEL Ś ci ś le rzecz bior ą c, PESEL nie s ł u ż y tylko jako indeks, ale to jest zupe ł nie inna historia…

19 Bazy danych - wykład 319 Inny przyk ł ad faktury Firma ma baz ę gromadz ą c ą dane o wystawianych fakturach. Co b ę dzie kluczem? Numer Faktury. Je ś li numeracja zaczyna si ę od pocz ą tku w ka ż dym roku, Numer Faktury i Rok. Je ś li poszczególne dzia ł y stosuj ą w ł asn ą numeracj ę faktur, Numer Faktury i Nazwa Dzia ł u lub Numer Faktury, Nazwa Dzia ł u i Rok. Jak wida ć, w ł a ś ciwy dobór klucza zale ż y od rzeczywisto ś ci, któr ą chcemy przedstawi ć w bazie danych.

20 Bazy danych - wykład 320 Wa ż na uwaga: Przypu ść my, ż e mamy rz ą dow ą baz ę danych osobowych, w której kluczem jest atrybut PESEL. Wówczas zbiór atrybutów {PESEL, Nazwisko} tak ż e jest kluczem!

21 Bazy danych - wykład 321 Podobnie, je ś li tworzymy baz ę danych szkó ł podstawowych, zbiór atrybutów {Ulica, NrDomu, NrSzkoły} b ę dzie kluczem. Za ł ó ż my, ż e tak jest. Je ś li rozszerzymy ten zbiór do {Miasto, Ulica, NrDomu, NrSzkoły}, tak ż e otrzymamy klucz. Podobnie b ę dzie je ś li dodamy informacj ę o województwie. W rzeczywisto ś ci trzebaby to sprawdzi ć …

22 Bazy danych - wykład 322 Klucze minimalne. Nadklucze. W poprzednim przyk ł adzie mo ż e si ę zdarzy ć, ż e w dwu ró ż nych miastach b ę d ą istnie ć ulice Ko ś ciuszki i w dodatku na ka ż dej z tych ulic pod numerem 1 b ę dzie mie ś ci ć si ę szko ł a podstawowa. Podobnie w dwu miastach na ulicy D ą browskiego (ale w budynkach o ró ż nych numerach!) mog ą si ę mie ś ci ć szko ł y podstawowe o numerze 16. Wreszcie mo ż e si ę zdarzy ć, ż e szko ł y o numerze 53 (w ró ż nych miastach) b ę d ą si ę mie ś ci ć w budynku o numerze 8 (przy ulicach o róznych nazwach). Zbiór {Ulica, NrDomu, NrSzkoły} nazywamy w tej sytuacji kluczem minimalnym. Jego nadzbiór nazywamy nadkluczem.

23 Bazy danych - wykład 323 Reprezentowanie kluczy w ODL interface Gwiazda (key nazwisko) { attribute string nazwisko; … }; Atrybut nazwisko jest kluczem interface Filmy (key (tytuł, rok)) { attribute string tytuł; attribute integer rok; … }; Zbiór atrybutów { tytuł, rok } jest kluczem

24 Bazy danych - wykład 324 Uwaga interface Podatnik: Osoba (key (PESEL, NIP)) { attribute integer PESEL; attribute string NIP; … }; interface Podatnik: Osoba (key PESEL, NIP) { attribute integer PESEL; attribute string NIP; … }; Klucz z ł o ż ony z dwu atrybutów Dwa klucze!

25 Bazy danych - wykład 325 Reprezentowanie kluczy w diagramach E/R Filmy tytu ł rok TypTa ś myd ł ugo ść W diagramach E/R nie ma mo ż liwo ś ci reprezentowania wi ę cej ni ż jednego klucza. Nazwy atrybutów, których zbiór tworzy klucz, s ą podkre ś lone.

26 Bazy danych - wykład 326 Wi ę zy jednoznaczno ś ci A R B Istnieje co najwy ż ej jeden obiekt z klasy B, który wchodzi w relacj ę R z pewnym obiektem klasy A. Ten obiekt z klasy B nie musi istnie ć, mo ż e by ć obiektem pustym. Innymi s ł owy, nie wszystkie obiekty z A musz ą wchodzi ć w zwi ą zek R.

27 Bazy danych - wykład 327 Wi ę zy integralno ś ci referencyjnej A R B Istnieje dok ł adnie jeden obiekt z klasy B, który wchodzi w relacj ę R z pewnym obiektem klasy A. Ten obiekt z klasy B musi istnie ć, nie mo ż e by ć obiektem pustym. Innymi s ł owy, wszystkie obiekty z A musz ą wchodzi ć w zwi ą zek R z obiektami B. W ksi ąż ce oznaczaj ą to przez pó ł okr ą g. Na przyk ł ad ka ż da informacja o dostawie towarów do magazynu musi by ć powi ą zana z dostawc ą

28 Bazy danych - wykład 328 Wi ę zy integralno ś ci referencyjnej wymuszaj ą istnienie wskazywanego obiektu. Je ś liby ś my wi ę c za żą dali usuni ę cia obiektu zwi ą zanego wi ę zami integralno ś ci referencyjnej, DBMS 1.Uniemo ż liwi usuni ę cie takiego obiektu lub 2.Usunie tak ż e wszystkie obiekty, które na obiekt usuwany wskazuj ą. Je ś li one te ż s ą zwi ą zane wi ę zami integralno ś ci referencyjnej, usuni ę te zostan ą obiekty, które na nie wskazuj ą. I tak dalej. Usuwanie kaskadowe. Bardzo niebezpieczne nie ka ż dego sta ć na zatrudnienie stu osób do wklepywania utraconych danych.

29 Bazy danych - wykład 329 Inne rodzaje wi ę zów 1. Wi ę zy domenowe (zakresu) atrybut mo ż e przyj ąć warto ś ci tylko z pewnego zakresu. 2. Wi ę zy ogólne na przyk ł ad ograniczenie stopnia zwi ą zku, to jest ilo ś ci partnerów w relacji. FilmyGwiazdy Gwiazdy-w 10 Nie wi ę cej ni ż 10 gwiazd w jednym filmie

30 Bazy danych - wykład 330 Zbiory s ł abych encji Je ś li niektóre (lub wszystkie) elementy klucza pewnego zbioru encji wybiera si ę spo ś ród atrybutów innego zbioru encji, zbiór o tak utworzonym kluczu nazywa si ę zbiorem s ł abych encji. Typowo 1.Przy strukturze hierarchicznej nazwa (czy inny atrybut) obiektu mo ż e identyfikowa ć go w podhierarchii, ale nie w ca ł ej hierarchii. Na przyk ł ad Numer Szko ł y identyfikuje szko łę w mie ś cie, ale nie w województwie. Zbiór encji szko ł y b ę dzie musia ł bra ć cz ęść swojego klucza z innego zbioru encji (miasta), wi ę c b ę dzie to s ł aba encja. 2.Zbiór łą cz ą cy, powsta ł y w celu wyeliminowania relacji wieloargumentowych, prawie zawsze b ę dzie s ł aby.

31 Bazy danych - wykład 331 Reprezentacja graficzna zbiorów s ł abych encji Szko ł y numer Le ż y w mie ś cie Miasto …nazwa Klucz zbioru Szko ł y Liczne inne atrybuty Miasta Zbiór s ł abych encji i zwi ą zki łą cz ą ce go z dostarczycielami (cz ęś ci) klucza oznaczam podwójn ą lini ą.

32 Bazy danych - wykład 332 Zasady projektowania Dok ł adno ść projekt powinien odpowiada ć specyfikacji, klasy lub zbiory encji powinny odzwierciedla ć ś wiat rzeczywisty. Unikanie redundancji bo zajmuje si ę zbyt wiele miejsca i ryzykuje się, ż e nie wszystkie wyst ą pienia danej informacji b ę d ą uaktualnione. Prostota tylko tyle elementów, ile naprawd ę potrzeba. Dobór w ł a ś ciwych elementów nie wszystko modelujemy jako atrybuty!

33 Bazy danych - wykład 333 Caveat emptor! Bazy danych s ą cenne i trzeba je chroni ć. Bazy danych wymagaj ą konserwacji i administracji. DBMS jest potencjalnym kana ł em, przez który cracker mo ż e w ł ama ć si ę do systemu. Bazy danych wymagaj ą regularnego sporz ą dzania kopii zapasowych (backup).


Pobierz ppt "Bazy danych 3. Modelowanie baz danych (cd) P. F. Góra semestr letni 2004/05."

Podobne prezentacje


Reklamy Google