1 08: ERD – podencje, łuki i pułapkiBazy danych 08: ERD – podencje, łuki i pułapki Krzysztof Stencel
2 Hierarchia encji OSOBA PRACOWNIK # PESEL * zarobek * imię * stanowisko* nazwisko * data urodzenia PRACOWNIK * zarobek * stanowisko STUDENT * nr albumu * rok studiów
3 Związki idą tam, gdzie trzeba (inny sposób na drzewo)JEDNOSTKA ORGANIZACYJNA RODZAJ JEDNOSTKI UCZELNIA należy do zawiera PODJEDNOSTKA
4 Elastyczność? Brak: tu zawsze pokrycie, zawsze rozłącznośćA przecież jest (brak pokrycia i rozłączności): Asystent stażysta (student i pracownik w jednym) Recenzent zewnętrzny (ani student ani pracownik) Doktorant (i może jednocześnie pracownik) Jeszcze trudniej (tzw. role wielokrotne) Student dwóch wydziałów i pracownik trzeciego Pracownik dwóch wydziałów (częste) Były student trzech wydziałów Itd.
5 Łuki wykluczające STUDENT SKREŚLENIE # PESEL * data * imię * przyczyna* nazwisko * nr albumu * rok studiów SKREŚLENIE * data * przyczyna DYPLOM * data * ocena końcowa
6 Wiele możliwości modelowania wykluczaniaKONTO OSOBA FIRMA KONTO OSOBA FIRMA OSOBISTE FIRMOWE KLIENT KONTO OSOBA FIRMA
7 Łuki prowadzą do elastyczniejszej hierarchii... (na razie to samo)OSOBA # PESEL * imię * nazwisko STUDENT * nr albumu * rok studiów PRACOWNIK * zarobek * stanowisko DOKTORANT * stypendium * temat rozprawy
8 Bez więzów pokrycia OSOBA # PESEL * imię * nazwisko STUDENT PRACOWNIK* nr albumu * rok studiów PRACOWNIK * zarobek * stanowisko DOKTORANT * stypendium * temat rozprawy
9 Bez więzów rozłączności i pokryciaOSOBA # PESEL * imię * nazwisko STUDENT * nr albumu * rok studiów PRACOWNIK * zarobek * stanowisko DOKTORANT * stypendium * temat rozprawy
10 Role wielokrotne OSOBA # PESEL * imię * nazwisko STUDENT PRACOWNIK* nr albumu * rok studiów PRACOWNIK * zarobek * stanowisko DOKTORANT * stypendium * temat rozprawy
11 Modelowanie zmian w czasieposiada SAMOCHÓD należy do OSOBA SAMOCHÓD należy do OSOBA posiada Jeśli chcemy pamiętać historię własności? Atrybut związku Związek wiele-do-wiele
12 Modelowanie zmian w czasiePOSIADANIE * początek o koniec * forma o udział przez ma OSOBA Charakterystyczna nazwa związku „dotyczy” i „podlega” Często nazywanie takich związków wymaga inwencji Dużo atrybutów związku dotyczy podlega SAMOCHÓD
13 Wentylator (kojarzyć z 5NF)obsługiwany przez pracuje dla PROJEKT DOSTAWCA korzysta z dostarcza potrzebny w dostarczany PRODUKT
14 Szalejący wentylator PROJEKT DOSTAWCA PRODUKT ZATRUDNIENIE * począteko koniec ZAPOTRZE- BOWANIE * początek o koniec OFERTA * początek o koniec PRODUKT
15 Wentylator wywiał dostawyPROJEKT DOSTAWA dla na od zleca wykonuje dostarczony DOSTAWCA PRODUKT
16 Łopaty i oś wentylatoraOś wentylatora (prawie) zawsze ma sens biznesowy Łopaty wentylatora też mogą mieć sens biznesowy i mogą znaleźć się w modelu Tu tak jest: Oferta Zatrudnienie Zapotrzebowanie
17 Przepaść pracuje w PRACOWNIK może używać miejscem pracy dla DZIAŁSAMOCHÓD na PRZYDZIAŁ dla ma ma
18 Abstrakcja jest dobra, ale...Uważaj na model wszystkiego: OBIEKT ma związek z
19 Szczegółowość jest dobra, ale...Uważaj na model totalny: ADRES LINIA SŁOWO LITERA PIKSEL KRESKA
20 Związki nietransferowalne (Oracle*Method)ma dla STUDENT DYPLOM Jak już dyplom jest czyjś, to nie będzie już należał do nikogo innego
21 Diagram i model Model zawiera wszystkie informacje, również takie, których nie pokazuje się na diagramie Typ danych atrybutu Jednostka miary Informacje ilościowe (ile wystąpień encji? Ile pustych atrybutów?) Diagram jest pewnym obrazem (przekrojem) przez model. Każdy diagram może mieć inny poziom abstrakcji Na diagramie widać tylko niektóre encje i tylko niektóre o nich informacje Encja może być na dowolnej liczbie (też zerze) diagramów
22 Oglądanie modelu
23 Gotowy model encja-związekMoże służyć do wygenerowania wstępnego projektu tabel Nie należy utożsamiać pojęć encja-tabela(-plik) Choć pokusa jest... Uproszczenie małe A koszty mieszania poziomów abstrakcji duże