Projektowanie relacyjnych baz danych model związków encji (Entity-Relationship, ER)



Podobne dokumenty
030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła

Technologie baz danych

Projektowanie relacyjnych baz danych

Bazy danych i usługi sieciowe

BAZY DANYCH model związków encji. Opracował: dr inż. Piotr Suchomski

BAZY DANYCH. Dr hab. Sławomir Zadrożny, prof. PR

1. Mapowanie diagramu klas na model relacyjny.

Bazy danych wykład trzeci. trzeci Modelowanie schematu bazy danych 1 / 40

Modelowanie danych, projektowanie systemu informatycznego

Relacyjny model baz danych, model związków encji, normalizacje

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Modelowanie danych. Model związków-encji

PODSTAWY BAZ DANYCH. 5. Modelowanie danych. 2009/ Notatki do wykładu "Podstawy baz danych"

Projektowanie Systemów Informacyjnych

Transformacja modelu ER do modelu relacyjnego

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Wykład II Encja, atrybuty, klucze Związki encji. Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J.

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

Plan wykładu: Relacyjny model danych: opis modelu, podstawowe pojęcia, ograniczenia, więzy.

1 Projektowanie systemu informatycznego

Projektowanie baz danych

Cel normalizacji. Tadeusz Pankowski

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Bazy danych 1. Wykład 5 Metodologia projektowania baz danych. (projektowanie logiczne)

Diagramy związków encji ERD Ćwiczenia w modelowaniu danych

Bazy Danych. Modele danych. Krzysztof Regulski WIMiIP, KISiM,

Normalizacja. Pojęcie klucza. Cel normalizacji

Bazy danych. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Wykład 3: Model związków encji.

Bazy Danych i Usługi Sieciowe

Modelowanie konceptualne model EER

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

Diagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji

Technologia informacyjna

Pojęcie zależności funkcyjnej

PLAN WYKŁADU BAZY DANYCH GŁÓWNE ETAPY PROJEKTOWANIA BAZY MODELOWANIE LOGICZNE

Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Bazy danych. Wykład 4: Model SERM. dr inż. Magdalena Krakowiak

Rysunek 1: Przykłady graficznej prezentacji klas.

Modelowanie obiektowe

Plan wykładu: Etapy projektowania bazy danych. Modelowanie danych za pomocą diagramów związków encji:

Modelowanie związków encji

Bazy danych wykład trzeci. trzeci Przekształcenie modelu ER na model relacyjny 1 / 19

Autor: Joanna Karwowska

Plan wykładu. Elementy ERD BAZY DANYCH. Proces modelowania i implementacji bazy danych. Diagramy związków encji. SQL podzapytania

Wykład 2. Relacyjny model danych

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

PLAN WYKŁADU BAZY DANYCH ZALEŻNOŚCI FUNKCYJNE

Bazy Danych i Systemy informacyjne Wykład 7. Piotr Syga

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

Bazy danych i usługi sieciowe

Modelowanie danych Model związków-encji

Transformacja modelu ER do modelu relacyjnego

Bazy danych - wykład wstępny

Projektowanie bazy danych

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

Bazy danych. Andrzej Łachwa, UJ, /15

Modelowanie konceptualne. Modelowanie konceptualne przykład. Modelowanie konceptualne model ER. Model ER Entity-Relationship

Bazy danych. Andrzej Łachwa, UJ, /15

Systemy informatyczne. Modelowanie danych systemów informatycznych

Bazy Danych egzamin poprawkowy, 2012 rozwiazania

TRANSFORMACJA MODELU ER DO MODELU RELACYJNEGO

Normalizacja baz danych

PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA

FUNKCJE SZBD. ZSE - Systemy baz danych 1

Bazy Danych i Usługi Sieciowe

Systemy baz danych. mgr inż. Sylwia Glińska

WPROWADZENIE DO BAZ DANYCH

Model relacyjny bazy danych

Baza danych. Modele danych

1 Wstęp do modelu relacyjnego

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty

Bazy Danych egzamin 9 luty, 2012 rozwiazania

Diagramy klas. dr Jarosław Skaruz

Bazy danych 3. Normalizacja baz danych

Normalizacja relacyjnych baz danych. Sebastian Ernst

WYKŁAD 1. Wprowadzenie do problematyki baz danych

Wprowadzenie do baz danych

Bazy Danych. Projektowanie. Normalizacja. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

Literatura. Bazy danych s.1-1

TECHNOLOGIE BAZ DANYCH

Podstawy modelowania w języku UML

Modelowanie związków encji

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

KSS: Modelowanie konceptualne przykład

Projektowanie internetowej bazy danych część 1

Projektowanie bazy danych przykład

Transformacja modelu EER do postaci relacyjnego modelu danych. Zbyszko Królikowski

Bazy danych. Algebra relacji

Bazy danych TERMINOLOGIA

Bazy danych 3. Normalizacja baz danych (c.d.)

Teoretyczne podstawy informatyki

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Modelowanie związków encji

BAZY DANYCH. Anomalie. Rozkład relacji i normalizacja. Wady redundancji

BAZY DANYCH model relacyjny. Opracował: dr inż. Piotr Suchomski

ZSE - Systemy baz danych 1 ZASADY PROJEKTOWANIA BAZ DANYCH

Język UML w modelowaniu systemów informatycznych

Paweł Kurzawa, Delfina Kongo

Technologie baz danych

Transkrypt:

BAZY DANYCH wykład 8 Projektowanie relacyjnych baz danych model związków encji (Entity-Relationship, ER) Dr hab. Sławomir Zadrożny, prof. PR

Modelowanie E/R Umożliwia projektowanie schematu bazy danych Tworzone projekty mają charakter graficzny i nazywane są diagramami E/R Bazy danych wykład 8 2

Kontekst dla modelowania E/R Projektowanie baz danych jest złożonym zadaniem Zleceniodawca często nie ma jasnej wizji co powinno się znaleźć w bazie danych Określenie i formalne opisanie najważniejszych obiektów, które mają być reprezentowane w bazie danych stanowi dobry sposób na stworzenie roboczej wersji bazy danych Bazy danych wykład 8 3

Zbiory encji Encja (entity) = coś ( thing ), obiekt Zbiór encji = zbiór podobnych encji Podobnie jak klasa w językach obiektowych Atrybut = własność (encji należących do) zbioru encji Bazy danych wykład 8 4

Diagramy E/R Oznaczenia stosowane w diagramach: Zbiór encji = prostokąt Atrybut = owal, połączony linią z prostokątem reprezentującym stosowny zbiór encji Bazy danych wykład 8 5

Przykład diagramu name manf Beers Zbiór encji Beers ma dwa atrybuty, name i manf (manufacturer). Każda encja ze zbioru Beers ma określone wartości tych dwóch atrybutów, np. (Bud, Anheuser-Busch) Bazy danych wykład 8 6

Związki (relationships) Związek łączy dwa lub większą liczbę zbiorów encji Jest oznaczony jako romb, połączony liniami z każdym z uczestniczących zbiorów encji Bazy danych wykład 8 7

Przykład: związki name addr name manf Bars Sells Beers Bary sprzedają różne marki piwa license Frequents Likes Klienci lubią różne marki piwa license = beer, full, none name Drinkers addr Klienci odwiedzają różne bary Bazy danych wykład 8 8

Zbiór związków Bieżącą wartością zbioru encji jest zbiór wszystkich encji należących do niego Przykład: zbiór wszystkich barów w naszej bazie danych Wartością związku jest zbiór związków, zbiór krotek odwołujących się do każdego z powiązanych zbiorów encji Bazy danych wykład 8 9

Przykład: zbiór związków Dla związku Sells, zbiór związków może mieć postać: Bar Joe s Bar Joe s Bar Sue s Bar Sue s Bar Sue s Bar Beer Bud Miller Bud Pete s Ale Bud Lite Bazy danych wykład 8 10

Związki wieloargumentowe Występują powiązania łączące więcej niż dwa zbiory encji Przykład. Przypuśćmy, że klienci lubią pić pewne marki piwa tylko w pewnych barach Trzy wcześniej wymienione związki binarne Likes, Sells, i Frequents nie pozwalają nam tego wyrazić Potrzebny jest związek trójargumentowy! Bazy danych wykład 8 11

Przykład: związek trójargumentowy name addr name manf license Bars Beers Preferences Drinkers name addr Bazy danych wykład 8 12

Przykładowy zbiór związków Bar Drinker Beer Joe s Bar Ann Miller Sue s Bar Ann Bud Sue s Bar Ann Pete s Ale Joe s Bar Bob Bud Joe s Bar Bob Miller Joe s Bar Cal Miller Sue s Bar Cal Bud Lite Bazy danych wykład 8 13

Związki wiele-do-wielu Skupmy uwagę na binarnych związkach, takich jak Sells łączący zbiory encji Bars i Beers W przypadku związków wiele-do-wielu, encja z każdego ze zbiorów może być powiązana z wieloma encjami drugiego ze zbiorów na przykład bar (Bars) sprzedaje (Sells) wiele marek piwa (Beers) i zarazem każda marka piwa jest sprzedawana przez wiele barów. Bazy danych wykład 8 14

Ilustracja graficzna związku wiele-do-wielu wiele-do-wielu Bazy danych wykład 8 15

Związki wiele-do-jednego Niektóre binarne związki mają postać związków wiele-do-jednego z jednego zbioru encji do drugiego Każda encja pierwszego zbioru encji jest powiązana z co najwyżej jedną encją drugiego zbioru encji Ale jedna encja drugiego zbioru może być powiązana z wieloma encjami pierwszego zbioru (może też nie być powiązana z żadną) Bazy danych wykład 8 16

Ilustracja graficzna związku wiele-do-jednego wiele-do-jednego Bazy danych wykład 8 17

Przykład: związek wiele-do-jednego Związek Favorite, łączący Drinkers i Beers ma charakter wiele-do-jednego Klient ma co najwyżej jedną ulubioną markę piwa Ale jedna marka piwa może być ulubioną wielu klientów (lub żadnego) Bazy danych wykład 8 18

Związki jeden-do-jednego W związkach typu jeden-do-jednego, każda encja każdego ze zbiorów encji jest powiązana z co najwyżej jedną encją z drugiego zbioru Przykład: związek Best-seller łączący zbiory encji Manfs (producent) i Beers. Marka piwa nie może być produkowana przez więcej niż jednego producenta i żaden producent nie ma dwóch najlepiej sprzedających się marek Bazy danych wykład 8 19

Ilustracja graficzna związku jeden-do jednego jeden-do-jednego Bazy danych wykład 8 20

Oznaczanie typu (liczebności) związku na diagramie Związki wiele-do-jednego oznaczamy strzałką na końcu linii prowadzącej do strony jeden od rombu reprezentującego związek Uwaga: Ten typ związku ma charakter zależności funkcyjnej Związki jeden-do-jednego oznaczamy strzałkami na końcach obydwu linii wychodzących z rombu reprezentującego związek Zaokrąglona strzałka oznacza dokładnie jeden, to znaczy każda encja z pierwszego zbioru encji jest powiązana z dokładnie jedną encją zbioru drugiego (czyli, musi być powiązana z jakąś encją z drugiego zbioru) Bazy danych wykład 8 21

Przykład: związek wiele-do-jednego Drinkers Likes Beers Favorite Uwaga: w dwóch różnych związkach uczestniczy ten sam zbiór encji Bazy danych wykład 8 22

Przykład: związek jeden-do-jednego Rozważmy związek Best-seller łączący Manfs i Beers Niektóre marki piwa nie są najlepiej sprzedającymi się markami żadnego z producentów, a więc zaokrąglona strzałka prowadząca do Manfs byłaby niepoprawna Ale każdy producent musi mieć najlepiej sprzedającą się markę piwa Bazy danych wykład 8 23

Na diagramie Manfs Bestseller Beers Marka piwa jest najlepiej sprzedającą się dla 0 lub jednego producenta Producent ma dokładnie jedną najlepiej sprzedającą się markę piwa Bazy danych wykład 8 24

Atrybuty związków Czasami może być wygodne przypisać związkowi pewien atrybut Można interpretować taki atrybut jako własność krotek w zbiorze związku Bazy danych wykład 8 25

Przykład: atrybut związku Bars Sells Beers price Price jest własnością pary (bar, beer), a nie którejś z tych encji indywidualnie Bazy danych wykład 8 26

Równoważne diagramy bez atrybutów związków Można pozbyć się atrybutów związków postępując następująco: Utworzyć zbiór encji reprezentujący wartości atrybutu Uczynić ten zbiór encji uczestnikiem rozważanego związku Bazy danych wykład 8 27

Przykład: usuwanie atrybutu ze związku Bars Sells Beers Prices price Strzałka wychodząca z wieloargumentowego związku oznacza, że pozostałe encje uczestniczące w związku jednoznacznie wyznaczają encję ze wskazywanego przez strzałkę zbioru encji Bazy danych wykład 8 28

Role zbiorów encji w związku Może się zdarzyć, że dany zbiór encji uczestniczy wielokrotnie w danym związku Wtedy oznacza się linię łączącą związek z poszczególnymi wystąpieniami danego związku encji etykietami nazywanymi rolami. Bazy danych wykład 8 29

Przykład: role Zbiór związków Married Husband Bob Joe Wife Ann Sue husband Drinkers wife Bazy danych wykład 8 30

Przykład: role Zbiór związków Buddies 1 2 Drinkers Buddy1 Buddy2 Bob Ann Joe Sue Ann Bob Joe Moe Bazy danych wykład 8 31

Podklasy Podklasa = specjalny przypadek zbioru encji = mniej encji = więcej własności Przykład: Piwa typu Ale stanowią rodzaj piwa Nie każde piwo to Ale, ale niektóre są Ale. Załóżmy, że piwa Ale, poza wszystkimi własnościami (atrybutami i powiązaniami) piw mają dodatkowy atrybut color. Bazy danych wykład 8 32

Podklasy na diagramach E/R Przyjmijmy, że podklasy tworzą drzewo tzn., dany zbiór encji może być podklasą tylko jednego zbioru encji (nie ma wielokrotnego dziedziczenia ang. multiple inheritance) Trójkąty z napisem Isa łączą ze sobą dwa zbiory encji i są skierowane od podklasy do nadklasy Bazy danych wykład 8 33

Przykład: podklasa name Beers manf isa color Ales Bazy danych wykład 8 34

Podklasy w E/R i OOP W programowaniu zorientowanym obiektowo (OOP), obiekty należą tylko do jednej klasy. W E/R encje mają reprezentantów we wszystkich podklasach, do których należą. Zasada: jeśli encja e jest reprezentowana w podklasie, to jest również reprezentowana w nadklasie i wszystkich jej nadklasach Bazy danych wykład 8 35

Przykład: reprezentanci encji name Beers manf isa Pete s Ale color Ales Bazy danych wykład 8 36

Klucze Klucz to taki zbiór atrybutów danego zbioru encji, że nie mogą istnieć dwie różne encje w tym zbiorze, któe mają identyczne wartości wszystkich atrybutów składających się na klucz. Dwie encje mogą mieć identyczne wartości niektórych atrybutów składających się na klucz, ale nie wszystkich Należy określić klucz dla każdego zbioru encji Bazy danych wykład 8 37

Klucze na diagramach E/R Atrybuty składające się na klucz są podkreślane Jeśli na diagramie występuje hierarchia (drzewo) zbiorów encji określona przez relację Isa, to tylko zbiór encji będący korzeniem tego drzewa ma określony klucz, który spełnia rolę klucza dla wszystkich zbiorów encji w drzewie. Bazy danych wykład 8 38

Przykład: name jest kluczem dla Beers name Beers manf isa color Ales Bazy danych wykład 8 39

Przykład: klucz wieloatrybutowy dept number hours room Courses Należy zwrócić uwagę, że hours i room mogą również służyć jako klucz, ale należy wybrać tylko jeden klucz Bazy danych wykład 8 40

Słabe zbiory encji ang. Weak Entity Sets Niekiedy, aby jednoznacznie zidentyfikować encje w danym zbiorze encji trzeba odwołać się do innego zbioru encji. Zbiór encji E nazywamy słabym jeśli w celu jednoznacznej identyfikacji jego encji musimy odwołać się do jednego z powiązań wiele-dojednego, w którym E uczestniczy i użyć klucza powiązanego zbioru encji jako części klucza E. Bazy danych wykład 8 41

Przykład: słaby zbiór encji name jest prawie kluczem w zbiorze encji reprezentującym piłkarzy, ale może być dwóch piłkarzy o tym samym nazwisku number na pewno nie jest kluczem, ponieważ piłkarze w dwóch różnych zespołach mogą mieć ten sam numer number wraz z nazwą zespołu (name), powiązanego z piłkarzem w ramach związku Plays-on, powinien już jednoznacznie identyfikować piłkarza Bazy danych wykład 8 42

Słabe zbiory encji na diagramach E/R name number name Players Playson Teams Uwaga: związek musi mieć liczebność dokładnie jeden ponieważ każdy piłkarz musi być powiązany z dokładnie jednym zespołem, żeby móc określić jego klucz Romb z podwójnym obrysem oznacza związek wspierający wiele-do-jednego Prostokąt z podwójnym obrysem oznacza słaby zbiór encji Bazy danych wykład 8 43

Słabe zbiory encji Słaby zbiór encji musi mieć jeden lub więcej związków wiele-do-jednego z innymi zbiorami encji Nie każdy z tych związków wiele-dojednego musi być związkiem wspierającym Związki wspierające muszą mieć liczebność dokładnie jeden : musi być gwarantowane istnienie (wystąpienie) encji po stronie jeden związku wspierającego Bazy danych wykład 8 44

Słabe zbiory encji Klucz słabego związku encji stanowią jego własne podkreślone atrybuty wraz z kluczami zbiorów encji powiązanych związkiem wspierającym np., number (piłkarza) wraz z name (jego zespołu) stanowi klucz dla słabego związku encji Players Bazy danych wykład 8 45

Zasady projektowania 1. Unikanie redundancji 2. Ograniczać użycie słabych zbiorów encji 3. Nie należy używać zbioru encji, jeśli wystarczy użyć atrybutu. Bazy danych wykład 8 46

Unikanie redundancji Redundancja = reprezentacja tego samego na dwa lub więcej różnych sposobów Wiąże się ze stratą zasobów i stwarza ryzyko wystąpienia niespójności Dwie reprezentacje tego samego faktu stają się niespójne jeśli zmienimy jedną i zapomnimy zmienić drugą Najlepszym przykładem są wcześniej omawiane anomalie związane z zachodzeniem zależności funkcyjnych Bazy danych wykład 8 47

Przykład: dobry projekt name name addr Beers ManfBy Manfs Adres każdego producenta (manufacturer) reprezentowany jest tylko raz Bazy danych wykład 8 48

Przykład: zły projekt name name addr Beers ManfBy Manfs manf Producent piwa jest tu reprezentowany na dwa sposoby: jako atrybut i jako powiązana encja Bazy danych wykład 8 49

Przykład: zły projekt name manf manfaddr Beers Adres producenta powtarzany jest przy każdym piwie przez niego produkowanym możliwe wystąpienie niespójności danych. Jednocześnie, jeśli w danej chwili nie ma informacji o piwach produkowanych przez danego producenta, to nie można reprezentować informacji o jego adresie Bazy danych wykład 8 50

Zbiory encji a atrybuty Zbiór encji powinien spełniać przynajmniej jeden z następujących warunków: reprezentuje coś więcej niż tylko nazwę czegoś ma przynajmniej jeden niekluczowy atrybut lub stanowi stronę wiele w związku wiele-dojednego lub wiele-do wielu Bazy danych wykład 8 51

Przykład: dobry projekt name name addr Beers ManfBy Manfs dla reprezentacji producentów warto użyć zbioru encji Manfs ponieważ występuje tu niekluczowy atrybut addr dla reprezentacji piw warto użyć zbioru encji Beers ponieważ stanowi stronę wiele w związku wiele-dojednego ManfBy Bazy danych wykład 8 52

Przykład: dobry projekt name manf Beers Nie warto reprezentować producentów z użyciem zbioru encji, ponieważ nie przechowuje się o nich żadnej informacji poza nazwą (kluczem) Bazy danych wykład 8 53

Przykład: zły projekt name name Beers ManfBy Manfs Producenci nie spełniają żadnego z dwóch warunków uzasadniających modelowanie z życiem zbioru encji: mają tylko jeden atrybut (kluczowy) i nie występują po stronie wiele żadnego ze związków Bazy danych wykład 8 54

Ograniczać użycie słabych zbiorów encji Początkujący projektanci mają skłonność do tworzenia kluczy odwołujących się do innych zbiorów encji, z którym dany zbiór encji jest związany W praktyce zazwyczaj tworzy się unikalne (sztuczne) identyfikatory dla zbiorów encji Przykłady: numer PESEL, NIP, numer VIN samochodu itp. Bazy danych wykład 8 55

Kiedy słaby zbiór encji jest potrzebny? Zazwyczaj wtedy kiedy nie ma powszechnie akceptowanej instytucji, która mogłaby nadawać unikalne identyfikatory Przykład: jest mało prawdopodobne, żeby ustalono powszechne porozumienie co do jednoznacznej identyfikacji piłkarzy wszystkich klubów na całym świecie Bazy danych wykład 8 56

Od diagramów E/R do relacji Zbiór encji relacja atrybuty atrybuty związki encji relacje, których atrybutami są wyłącznie: klucze powiązanych zbiorów encji atrybuty samych związków encji Bazy danych wykład 8 57

Zbiór encji relacja name manf Beers Relacja: Beers(name, manf) Bazy danych wykład 8 58

Związek encji relacja name addr name manf husband Drinkers 1 2 Likes Beers Buddies Married wife Favorite Likes(drinker, beer) Favorite(drinker, beer) Buddies(name1, name2) Married(husband, wife) Bazy danych wykład 8 59

Łączenie relacji Dopuszczalne jest łączenie tak uzyskanych relacji: 1. relacji odpowiadającej zbiorowi encji E 2. relacji odpowiadającej związkowi wiele-dojednego, w którym zbiór encji E jest po stronie wiele Przykład: Drinkers(name, addr) i Favorite(drinker, beer) łączy się tworząc Drinker1(name, addr, favbeer) Bazy danych wykład 8 60

Łączenie relacji i związki wiele-do-wielu Łączenie relacji Drinkers z relacją Likes byłoby błedem, gdyż prowadzi to do redundancji: name addr beer Sally 123 Maple Bud Sally 123 Maple Miller redundancja Bazy danych wykład 8 61

Handling Weak Entity Sets Relacja dla słabego związku encji musi zawierać atrybuty składające się na klucz tego związku (również te atrybuty należące do innych zbiorów encji), jak również swoje własne, niekluczowe, atrybuty Związek wspierający jest redundantny i nie tworzy się dla niego osobnej relacji (chyba, że posiada własne atrybuty!) Bazy danych wykład 8 62

Przykład: słąby zbiór encji relacja name name billto Logins At Hosts location Hosts(hostName, location) Logins(loginName, hostname, billto) At(loginName, hostname, hostname2) związek At jest reprezentowany przez Logins muszą być identyczne Bazy danych wykład 8 63

Podklasy: trzy podejścia 1. zorientowane obiektowo : jedna relacja dla każdej podklasy, ze wszystkimi własnymi i odziedziczonymi atrybutami 2. użycie NULL : jedna relacja; encje przyjmują (pseudo)wartość NULL dla atrybutów, które do nich nie należą 3. styl E/R : jedna relacja dla każdej podklasy: atrybuty kluczowe atrybuty danej podklasy Bazy danych wykład 8 64

Przykład: podklasa relacja name Beers manf isa color Ales Bazy danych wykład 8 65

Podejście zorientowane obiektowo name Bud manf Anheuser-Busch Beers name manf color Summerbrew Pete s dark Ales Wygodne dla zapytań typu: znajdź kolory wszystkich piw Ale produkowanych przez browar Pete s. Bazy danych wykład 8 66

Styl E/R name manf Bud Anheuser-Busch Summerbrew Pete s Beers name color Summerbrew dark Ales Wygodne dla zapytań typu znajdź piwa (łącznie z Ale) produkowane przez browar Pete s. Bazy danych wykład 8 67

Użycie NULL name manf color Bud Anheuser-Busch NULL Summerbrew Pete s dark Beers Zaoszczędza pamięć, chyba że występuje wiele atrybutów, które najczęściej mają pseudowartość NULL Bazy danych wykład 8 68