2. Modelowanie baz danych

Slides:



Advertisements
Podobne prezentacje
I część 1.
Advertisements

2.Relacyjny model baz danych
Bazy danych Wiadomości wstępne P. F. Góra semestr letni 2007/08
Bazy danych 4. Algebra relacji P. F. Góra
2b.Relacyjny model baz danych
Bazy danych Wiadomości wstępne P. F. Góra semestr letni 2006/07
komornik trzyma kas ę m ą drze wydaje pieni ą dze m ą drze planuje akcje finansowe szuka nowych ź róde ł finansowania Oddzia ł u ….
SQL – Strukturalny język zapytań
KLUB MIŁOŚNIKÓW HARREGO POTTERA
Samorz ą dowa Szko ł a Podstawowa nr 3 im. Stefana Ż eromskiego w Suchedniowie W Ś WIECIE JANUSZA KORCZAKA.
3. Modelowanie baz danych (cd)
Bazy danych 7. Postaci normalne P. F. Góra semestr letni 2004/05
Bazy danych 1.Wiadomo ś ci wst ę pne P. F. Góra semestr letni 2004/05.
Bazy danych 8. SQL podstawy P. F. Góra semestr letni 2004/05.
4. Relacyjny model baz danych
Zespół Szkół Ponadgimnazjalnych Nr 1 ,,Elektryk” w Nowej Soli
MS Access 2000 Normalizacja Paweł Górczyński 2005.
KONKURS WIEDZY O SZTUCE
PUP w LE Ż AJSKU Pi ęć kroków do pracy Działanie 1.3 Sektorowego Programu Operacyjnego Rozwój Zasobów Ludzkich.
Podstawy informatyki Rekurencja i rekurencja Grupa: 1A
Jak efektywnie współpracować z rodzicami
Zsbd Obiektowe Bazy danych
Wykład 8 Wojciech Pieprzyca
Zginęli w KATYNIU.
Wstęp do geofizycznej dynamiki płynów. Semestr VI. Wykład
Wstęp do geofizycznej dynamiki płynów. Semestr VI. Wykład
Hibernate relacje.
GwiAzda Drupi jest w ł oskim artyst ą, który osi ą gn ął wyj ą tkowy rodzaj sukcesu w Polsce. Urós ł do miana symbolu. Systematyczne odwiedziny do Polski.
Internet to źródło informacji i narzędzie pracy, ale… - kłopoty ze zmienną lokalizacją i identyfikacją dokumentów - brak ochrony praw autorskich.
DIAGRAMY ER 2 (ENTITY-RELATIONSHIP DIAGRAMS 2) Ćwiczenia 2.
Asystent Gabinet Lekarski
25 PRZYKAZA Ń. 1. Nie dyskutuj z go ś ciem, który ma nad Tob ą pó ł litra przewagi!
Walk ę matematyczn ą prowadzi ł a z nami pani mgr El ż bieta Maciejewska.
Rodzina…. Rodzina jest w ż yciu oparciem, czym ś co chroni, co daje sił ę …
Konkurs EKO-BIURO. Rok 2012 mija pod has ł em anga ż owania si ę naszej placówki w dzia ł ania skoncentrowane wokó ł promocji odnawialnych ź róde ł energii,
VI BYTOMSKIE SPOTKANIA EDUKACYJNO - WYCHOWAWCZE kwietnia 2010 POD HONOROWYM PATRONATEM PREZYDENTA MIASTA BYTOMIA Pana PIOTRA KOJA 1960 –
Mgr Miros ł aw Urbaczewski. W łą czenie si ę do ruchu to rozpocz ę cie jazdy po wcze ś niejszym postoju lub zatrzymaniu si ę, nie wynikaj ą ce z warunków.
Autorzy: Dorota Chmiel Karolina Hinca
Niektórzy ludzie tak przeżyli swoje życie, że pamięć o nich wciąż trwa. Aby uwiecznić tę pamięć, budujemy pomniki, ich imionami nazywamy ulice, czy miasta.
Kalendarz 2011 Real Madryt Autor: Bartosz Trzciński.
Asystent Magazyn.
ROK KAROLA GODULI. Stowarzyszenia Przyjació ł Szkó ł im. Karola Goduli Rudzkie placówki o ś wiatowe, maj ą c na uwadze jak wa ż n ą rol ę odegra ł Karol.
Dziedzictwo kulturowe
AIDS i HIV.
1/34 HISTORIA BUDOWY /34 3/34 6 MAJA 2011.
Asystent CRM.
Czynniki wpływające na kursy walut
Szkolne Rowerowe Ko ł o Krajoznawczo – Turystyczne PTTK KWADRANS SP – maja 2004 r. odby ł o si ę w naszej szkole uroczyste spotkanie z Prezesem Oddzia.
Opracowanie: mgr Tomasz Durawa
Ul. Kuźnicza Wrocław
Krajobraz i jego elementy
Kalendarz 2011r. styczeń pn wt śr czw pt sb nd
01 Kościół Św.Walentego w Bieruniu 02 Kościół Św.Walentego w Bieruniu.
Asystent Rejestr Umów.
Droga jest łatwiejsza jeśli znasz jej cel
Bezpieczny Internet.
Projektowanie relacyjnych baz danych – postacie normalne
ZASADY ZDROWEGO ŻYWIENIA
IV Prywatne Liceum Ogólnokszta ł c ą ce ul. Basztowa 17, Kraków tel ;
A ś ka mi ł a jest i ł adna, jak si ę wkurzy to szkaradna, wtedy nie pchaj jej si ę w drog ę, mo ż e celnie strzeli ć w nog ę, Ka ż dy lubi j ą i ceni,
Młodociani uzależnieni od środków odurzających lub psychotropowych.
Jeleniogórski System Wspierania Placówek Oświatowych
Kalendarz 2020.
Ś limaki otrzyma ł y miano szkodników, poniewa ż „podjadaj ą ” troch ę z naszych ogródków. To prawda, ale jedz ą te ż ro ś liny, które bardzo szybko si.
Excel 2007 dla średniozaawansowanych zajęcia z dnia
Radosław Stefańczyk 3 FA. Fotony mogą oddziaływać z atomami na drodze czterech różnych procesów. Są to: zjawisko fotoelektryczne, efekt tworzenie par,
Python. Języki Programistyczne Microcode Machine code Assembly Language (symboliczna reprezentacja machine code) Low-level Programming Language (FORTRAN,
Przywiązanie partnerów a ich kompetencje społeczne
Akademia C# - Lab2 Zmienne, instrukcje warunkowe, pętle, debugger,
Zapis prezentacji:

2. Modelowanie baz danych Bazy danych 2. Modelowanie baz danych P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2004/05

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

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

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

Klasy ODL (Objects Definition Language) interface <nazwa> { <lista właściwości> }; 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ć; }; Bazy danych - wykład 2

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

Typy strukturalne w ODL Zbiór Set<T> Wielozbiór Bag<T> Lista List<T> Tablica Array<T,i> Struktura (rekord) Struct X {T1 F1,…,Tn Fn} {A,B,B,C} Element „B” powtarza się typ, długość typ nazwa pola, typ nazwa pola, … Bazy danych - wykład 2

attribute string tytuł; attribute integer rok; 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! Bazy danych - wykład 2

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

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

Nazwa relacji odwrotnej interface Filmy { attribute string tytuł; attribute integer rok; attribute integer długość; attribute enum Taśma {kolor, czarno-biała} TypTaśmy; relationship Set<Gwiazda> gwiazdy inverse Gwiazda::występujeW; }; Interface Gwiazda { attribute string nazwisko; attribute Struct Adr {string ulica, string miasto} adres; relationship Set<Filmy> występujeW inverse Filmy::gwiazdy; Nazwa relacji Nazwa relacji odwrotnej Bazy danych - wykład 2

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 Bazy danych - wykład 2

attribute string tytuł; attribute integer rok; interface Filmy { attribute string tytuł; attribute integer rok; attribute integer długość; attribute enum Taśma {kolor, czarno-biała} TypTaśmy; relationship Set<Gwiazda> gwiazdy inverse Gwiazda::występujeW; relationship Studio należyDo inverse Studio::posiada; }; Interface Studio { attribute string nazwa; attribute string adres; relationship Set<Filmy> posiada inverse Filmy::należyDo; Bazy danych - wykład 2

Jeden małżonek, dwoje rodziców, dowolna ilość potomków 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<Osoba,2> rodzic inverse potomek; relationship Set<Osoba> potomek inverse rodzic; }; Jeden małżonek, dwoje rodziców, dowolna ilość potomków Ale trochę to niezręczne… Bazy danych - wykład 2

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

Związek jeden do jednego A = {x1,x2,x3,x4} B={y1,y2,y3,y4,y5} Elementy w żadnej kolumnie nie powtarzają się Nie wszystkie elementy muszą występować Ale gdyby element x3 wystąpił, mógły się łączyć tylko z elementem y nie pojawiającym się gdzie indziej Bazy danych - wykład 2

Związek jeden do wielu Związek wiele do jednego A = {x1,x2,x3,x4} B={y1,y2,y3,y4,y5} AB Związek jeden do wielu Interface A{ … relationship Set<B> R1 inverse B::R2; }; Interface B{ relationship A R2 inverse A::R1; BA Związek wiele do jednego Związek odwrotny do AB Bazy danych - wykład 2

Związek wiele do wielu A = {x1,x2,x3,x4} B={y1,y2,y3,y4,y5} Interface A{ … relationship Set<B> R1 inverse B::R2; }; Interface B{ relationship Set<A> R2 inverse A::R1; Bazy danych - wykład 2

Diagramy związków encji (E/R) tytuł rok nazwisko adres Atrybuty Gwiazdy-w Filmy Gwiazdy Encje Posiada Związki długość TypTaśmy nazwa Studia 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 adres Bazy danych - wykład 2

Jeden pracownik może używać różnych zestawów narzędzi. Interface Pracownik{ … relationship Set<Narzędzia> Używa inverse Narzędzia::JestUżywane; }; Interface Narzędzia{ relationship Set<Pracownik> JestUżywane inverse Pracownik::Używa; Używa Pracownik Narzędzia 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. Bazy danych - wykład 2

Jeden pracownik może używać różnych zestawów narzędzi. Interface Pracownik{ … relationship Set<Narzędzia> Używa inverse Narzędzia::JestUżywane; }; Interface Narzędzia{ relationship Pracownik JestUżywane inverse Pracownik::Używa; Używa Pracownik Narzędzia 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. Bazy danych - wykład 2

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

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

Związek jeden do jeden Kieruje Studia Prezesi Bazy danych - wykład 2

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

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). Bazy danych - wykład 2