Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Bazy danych 2. Modelowanie baz danych P. F. Góra semestr letni 2004/05.

Podobne prezentacje


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

1 Bazy danych 2. Modelowanie baz danych P. F. Góra semestr letni 2004/05

2 Bazy danych - wykład 22 Zanim zaczniemy modelowa ć Analiza danych rzeczywistych To jest trudne! z uwagi na problemy w komunikacji z u ż ytkownikiem

3 Bazy danych - wykład 23 Osoba Imi ę Nazwisko DataUr. Imi ę ojca PłećPłeć Ludwik Janowski Karol M atrybuty Karol Janowski Ignacy M Ignacy Janowski Stanis ł aw M Patrycja Janowska K Ludwik nazwa klasy

4 Bazy danych - wykład 24 Encja (entity): Osoba Imi ę PłećPłeć Nazwisko DataUr

5 Bazy danych - wykład 25 Klasy ODL (Objects Definition Language) interface { }; interface Osoba { attribute string Imię; attribute string Nazwisko; attribute Struct Data (integer DD, integer MM, integer YY} DataUr; attribute enum Płcie {K,M} Płeć; };

6 Bazy danych - wykład 26 Typy atomowe w ODL Ca ł kowity integer Zmiennoprzecinkowy real Znakowy character Tekstowy string Wyliczeniowy enum

7 Bazy danych - wykład 27 Typy strukturalne w ODL Zbiór Set Wielozbiór Bag Lista List Tablica Array Struktura (rekor d ) Struct X {T 1 F 1,…,T n F n } {A,B,B,C} typ, d ł ugo ść typ nazwa pola, typ nazwa pola, … Element B powtarza się

8 Bazy danych - wykład 28 interface Filmy { attribute string tytuł; attribute integer rok; attribute integer długość; attribute enum Taśma {kolor, czarno-biała} TypTaśmy; }; Interface Gwiazda { attribute string nazwisko; attribute Struct Adr {string ulica, string miasto} adres; }; Interface Studio { attribute string nazwa; attribute string adres; }; Ta sama nazwa atrybutu, ale różne klasy!

9 Bazy danych - wykład 29 Zwi ą zki mi ę dzy obiektami Jerzy Janowski M Karol Janowski M Ludwik Janowski M Anna Janowska K mąż żona matka ojciec syn brat jedna ż ona jeden m ąż jeden ojciec jedna matka niekoniecznie jeden syn syn dwu osób … Mnóstwo relacji, straszny ba ł agan! Nie ma gwarancji, ż e zwi ą zek matka wska ż e na kobiet ę

10 Bazy danych - wykład 210 Przyk ł ad z ż ycia, niestety…

11 Bazy danych - wykład 211 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; }; Interface Gwiazda { attribute string nazwisko; attribute Struct Adr {string ulica, string miasto} adres; relationship Set występujeW inverse Filmy::gwiazdy; }; Nazwa relacji Nazwa relacji odwrotnej

12 Bazy danych - wykład 212 W j ę zyku ODL zawsze trzeba okre ś la ć zwi ą zki odwrotne W j ę zyku ODL dopuszczalne s ą tylko zwi ą zki dwuargumentowe, to jest mi ę dzy dwoma klasami

13 Bazy danych - wykład 213 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; }; Interface Studio { attribute string nazwa; attribute string adres; relationship Set posiada inverse Filmy::należyDo; };

14 Bazy danych - wykład 214 interface Osoba { attribute string Imię; attribute string Nazwisko; attribute Struct Data (integer DD, integer MM, integer YY} DataUr; attribute enum Płcie {K,M} Płeć; relationship Osoba małżonek inverse małżonek; relationship Array rodzic inverse potomek; relationship Set potomek inverse rodzic; }; Jeden ma łż onek, dwoje rodziców, dowolna ilo ść potomków Ale troch ę to niezr ę czne…

15 Bazy danych - wykład 215 Liczebno ść (multiplicity) zwi ą zków Wiele do wielu Jeden do wielu Wiele do jednego Jeden do jednego

16 Bazy danych - wykład 216 Zwi ą zek jeden do jednego A = {x 1,x 2,x 3,x 4 } B={y 1,y 2,y 3,y 4,y 5 } Elementy w ż adnej kolumnie nie powtarzaj ą si ę Nie wszystkie elementy musz ą wyst ę powa ć Ale gdyby element x 3 wyst ą pi ł, móg ł y si ę łą czy ć tylko z elementem y nie pojawiaj ą cym si ę gdzie indziej

17 Bazy danych - wykład 217 Zwi ą zek jeden do wielu Zwi ą zek wiele do jednego A = {x 1,x 2,x 3,x 4 } B={y 1,y 2,y 3,y 4,y 5 } A B Zwi ą zek jeden do wielu B A Zwi ą zek wiele do jednego Zwi ą zek odwrotny do A B Interface A{ … relationship Set R 1 inverse B::R 2 ; }; Interface B{ … relationship A R 2 inverse A::R 1 ; };

18 Bazy danych - wykład 218 Zwi ą zek wiele do wielu A = {x 1,x 2,x 3,x 4 } B={y 1,y 2,y 3,y 4,y 5 } Interface A{ … relationship Set R 1 inverse B::R 2 ; }; Interface B{ … relationship Set R 2 inverse A::R 1 ; };

19 Bazy danych - wykład 219 Diagramy zwi ą zków encji (E/R) Filmy tytu ł rok TypTa ś myd ł ugo ść Gwiazdy nazwiskoadres Studia nazwa adres Gwiazdy-w Posiada Encje Atrybuty Zwi ą zki Strza ł ka pokazuje kierunek zwi ą zku wiele do jednego (wiele filmów jest w ł asno ś ci ą jednego studia, ale jeden film mo ż e by ć w ł asno ś ci ą tylko jednego studia

20 Bazy danych - wykład 220 Interface Pracownik{ … relationship Set Używa inverse Narzędzia::JestUżywane; }; Interface Narzędzia{ … relationship Set JestUżywane inverse Pracownik::Używa; }; PracownikNarz ę dzia U ż ywa Jeden pracownik mo ż e u ż ywa ć ró ż nych zestawów narz ę dzi. Jeden zestaw narz ę dzi mo ż e by ć u ż ywany przez ró ż nych pracowników.

21 Bazy danych - wykład 221 Interface Pracownik{ … relationship Set Używa inverse Narzędzia::JestUżywane; }; Interface Narzędzia{ … relationship Pracownik JestUżywane inverse Pracownik::Używa; }; PracownikNarz ę dzia U ż ywa Jeden pracownik mo ż e u ż ywa ć ró ż nych zestawów narz ę dzi. Jeden zestaw narz ę dzi mo ż e by ć u ż ywany tylko przez jednego pracownika.

22 Bazy danych - wykład 222 Interface Pracownik{ … relationship Narzędzia Używa inverse Narzędzia::JestUżywane; }; Interface Narzędzia{ … relationship Set JestUżywane inverse Pracownik::Używa; }; PracownikNarz ę dzia U ż ywa Jeden pracownik mo ż e u ż ywa ć tylko jednego zestawu narz ę dzi. Jeden zestaw narz ę dzi mo ż e by ć u ż ywany przez wielu pracowników.

23 Bazy danych - wykład 223 Interface Pracownik{ … relationship Narzędzia Używa inverse Narzędzia::JestUżywane; }; Interface Narzędzia{ … relationship Pracownik JestUżywane inverse Pracownik::Używa; }; PracownikNarz ę dzia U ż ywa Jeden pracownik mo ż e u ż ywa ć tylko jednego zestawu narz ę dzi. Jeden zestaw narz ę dzi mo ż e by ć u ż ywany tylko przez jednego pracownika.

24 Bazy danych - wykład 224 Zwi ą zek jeden do jeden StudiaPrezesi Kieruje

25 Bazy danych - wykład 225 Osoba diagram E/R Osoba ma łż onek ojciec potomstwo matka

26 Bazy danych - wykład 226 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 2. Modelowanie baz danych P. F. Góra semestr letni 2004/05."

Podobne prezentacje


Reklamy Google