Plan wykładu Bazy danych Wykład 2: Diagramy zwizków encji (ERD) Diagramy zwizków encji elementy ERD licznoci zwizków podklasy klucze zbiory słabych encji Małgorzata Krtowska Katedra Oprogramowania e-mail: mmac@ii.pb.bialystok.pl SQL - zapytanie proste, łczenie tabel 2 Proces modelowania i implementacji bazy danych Elementy ERD Diagram zwizków encji - Entity-Relationship Diagram E/R (ERD) Analiza informacji, które bd zawarte w bazie danych System zarzdzania relacyjn baz danych Zbiory encji Encja - rozrónialny obiekt Zbiór encji (typ encji) - zbiór podobnych encji Zbiór encji (typ encji) Diagram E/R Schemat bazy danych (Model relacyjny) Wykładowca Krtowska Małgorzata Oniko Agnieszka Sosnowski Zenon... Encje (Instancje danego typu encji) 3 4
Elementy ERD Elementy diagramu E/R Atrybuty - informacje opisujce encj Imi Nazwisko PRACOWNIK Id Zwizki - powizania pomidzy dwiema lub wiksz liczb encji (zbiorów encji) Jakie mog istnie powizania pomidzy nastpujcymi encjami: Szkoły Rodzice Dzieci Powizania bezporednie dziecko-szkoła rodzic - dziecko Powizania porednie: rodzic - szkoła Encja1 Nazwa zwizku Encja2 5 6 Liczebno zwizków encji Liczebno zwizków encji N:N Wystpuje N:1 Posiada N:N 1:N 1:1 1:1 Kieruje Prezesi 7 8
Zwizki wieloargumentowe Role w zwizkach Przykład, które podpisało kontrakt z aktorem moe podpisa kontrakt z innym studiem po to, by umoliwi aktorowi udział w filmie. Reprezentacja zwizku: (studio1, studio2, aktor, film) producenta aktora Reprezentacja w postaci trzech wartoci: (studio, aktor, film) 9 Role studia: producent filmu właciciel aktora 10 Atrybuty zwizku Gdzie umieci wynagrodzenie aktora? Przesunicie atrybutu do zbioru encji wynagrodzenie wynagrodzenie Gae 11 12
Przekształcanie w zwizki binarne Zwizek kontrakty: (studio1, studio2, film, aktor) producenta aktora stworzenie dodatkowego zbioru encji, którego elementy traktuje si tak samo jak krotki zbioru zwizków dla zwizku wieloargumentowego (łczcy zbiór encji) stworzenie zwizków wiele do jeden ze zbioru łczcego do poszczególnych zbiorów encji wchodzcych w skład pierwotnego zwizku wieloargumentowego 13 Podklasy w ERD Podklasa = specjalny przypadek = mniej encji = wicej własnoci Przykład: Kreskówki i kryminały to podklasy filmów do aktorów dubbinguje Kreskówki isa isa Kryminały bro 14 Podklasy i dziedziczenie w ERD Klucze Zakładajc, e C jest podklas klasy D na diagramach E/R naley: wprowadzi pomidzy zbiorami encji C i D specjalny typ zwizku isa ( an A is a B ) - wierzchołek trójkta wskazuje klas nadrzdn wszystkie atrybuty i zwizki, które odnosz si wyłcznie do encji C s doczepione do prostokta oznaczajcego C atrybuty i zwizki, które opisuj zarówno C jak i D s doczepione do prostokta oznaczajcego D. Dziedziczenie w ERD: encje mona oglda jako złoone ze składowych, które nale do rónych zbiorów encji, stanowicych czci hierarchii isa składowe te s powizane w cało zwizkiem isa encja ma te wszystkie atrybuty, które nale do którejkolwiek składowej oraz wchodzi we wszystkie zwizki, w które s włczone jej składowe 15 Klucze - atrybuty lub zbiory atrybutów, które jednoznacznie identyfikuj encj wewntrz zbioru encji. W zbiorze encji nie mog wystpowa dwie encje, które miałyby identyczne wartoci atrybutów tworzcych klucz. Atrybuty, które wchodz w skład klucza na diagramach ER s podkrelone. W hierarchii isa, tylko zbiór encji z klasy nadrzdnej (korze drzewa) moe zawiera klucz, który jednoznacznie identyfikuje encje równie w podklasach. Kady zbiór encji musi mie zdefiniowany klucz. 16
Integralno referencyjna Integralno referencyjna - przykład Wizy integralnoci referencyjnej narzucaj wymaganie, aby warto, któr wskazuje encja faktycznie znajdowała si w bazie. Posiada E R F Interpretacja: strzałka o zaokrglonym grocie: zwizek jest typu wiele do jeden ze zbioru E do F i w zbiorze F musi istnie encja odpowiadajca encji ze zbioru E E Interpretacja: strzałka o zaokrglonym grocie: zwizek jest typu wiele do jeden ze zbioru E do F i w zbiorze F musi istnie co najwyej jedna encja odpowiadajca encji ze zbioru E. R F 17 Interpretacja: posiadajce pewien film zawsze musi istnie w zbiorze encji kierowanego przez pewnego prezesa musi istnie w zbiorze ma co najwyej jednego prezesa, ale w pewnych momentach moe go nie mie Usunicie studia z bazy powoduje usunicie prezesa Kieruje Prezesi 18 Inne e wizów Wizy domenowe - wymagania, aby warto atrybutu naleała do okrelonego zbioru wartoci specyficznych lub znajdowała si w okrelonym zakresie Wizy zasadnicze - arbitralnie narzucone warunki, których spełnienie musi by bezwzgldnie przestrzegane w definiowanej bazie danych Zbiory słabych encji Zbiory słabych encji - zbiory encji, dla których niektóre lub wszystkie atrybuty klucza wybiera si z innego zbioru encji. Przykład: Mamy dwa zbiory encji: Piłkarze (, wiek) oraz Druyny (). Jak mona zdefiniowa klucz dla zbioru encji Piłkarze? wiek Piłkarze gra Druyny Wystpuje <100 zbiór słabych encji - prostokt o podwójnych krawdziach 19 zwizki łczce ten zbiór z innymi to zwizki wiele do jeden - romby o podwójnych krawdziach 20
Wymagania dla zbiorów słabych encji Zasady projektowania Jeeli E jest zbiorem słabych encji, wów zbiór encji F, który dostarcza atrybutów klucza do E, musi pozostawa z E w pewnym zwizku R oraz Zwizek R musi by binarny, typu wiele do jeden z E do F Atrybuty wchodzce w skład klucza E a pochodzce z F musz by czci klucza w F Jeeli zbiór F jest zbiorem słabym, to kluczowe atrybuty z F przekazywane do E mog pochodzi z pewnego innego zbioru encji, z którym F jest powizany poprzez zwizek typu wiele do jednego. Uogólniajc: jeeli zbiór encji jest oznaczony podwójn ramk, to musi by słaby. Jego klucz składa si z tych jego własnych atrybutów, które s podkrelone oraz atrybutów klucza tych zbiorów encji, z którymi zbiór słaby jest połczony przez zwizki typu wiele do jeden, a które oznaczono podwójnymi krawdziami. 21 unikanie redundancji - unikanie powtórze danych prostota - unikanie wprowadzania do projektu wicej elementów ni naprawd potrzeba dobór właciwych elementów definiowanie zbioru encji - jeeli z elementem wie si kilka atrybutów definiowanie elementu jako atrybutu - z elementem wie si tylko jego limitowanie zbiorów słabych encji - tworzenie identyfikatorów jako kluczy w zbiorach encji, jeeli to ma uzasadnienie. 22 Unikanie redundancji Redundancja wystpuje wów, gdy dana informacja jest powtórzona w zbiorze danych. Redundancja powoduje niespójno bazy danych oraz zajmuje miejsce na dysku. Przykład redundancji: Posiada 23