1 Plan rozdziału 2 Modelowanie związków encji Przykładowy opis miniświata Encje Związki stopień związku typ asocjacji Notacje diagramów E Hierarchie encji Etapy budowy systemu informatycznego przedsiębiorstwa (1/4) 3 Etapy budowy systemu informatycznego przedsiębiorstwa (2/4) 4
Etapy budowy systemu informatycznego przedsiębiorstwa (3/4) 5 Etapy budowy systemu informatycznego przedsiębiorstwa (4/4) 6 Fazy projektowania bazy danych 7 Przykład 8 niezależne od SZBD zależne od SZBD analiza funkcjonalna projekt aplikacji implementacja transakcji miniświat zebranie wymagań projekt pojęciowy projekt logiczny projekt fizyczny Baza danych pewnego przedsiębiorstwa zawiera informacje o pracownikach, departamentach i projektach. Faza zbierania wymagań zaowocowała następującym opisem miniświata: Przedsiębiorstwo składa się z departamentów, każdy departament posiada unikalną nazwę, unikalny numer oraz pracownika będącego kierownikiem. Konieczne jest przechowywanie daty, od której dany pracownik zaczął kierować departamentem. Każdy departament może posiadać wiele lokalizacji. Lokalizacja posiada nazwę i adres (miasto, kod, ulica, nr domu). Departamenty kontrolują wykonanie projektów. Każdy projekt posiada unikalną nazwę, numer, oraz pojedynczą lokalizację. Każdy pracownik posiada imię, nazwisko, numer PESEL, adres, pensję, płeć, oraz datę urodzenia. Każdy pracownik jest przypisany do jednego departamentu, ale może jednocześnie pracować nad wieloma projektami (niekoniecznie w ramach własnego departamentu). Dla każdego pracownika chcemy pamiętać liczbę godzin, które pracownik przepracował nad każdym projektem. Każdy pracownik posiada przełożonego (innego pracownika). Dla każdego pracownika zapamiętujemy informacje o członkach rodziny (na potrzeby polisy ubezpieczeniowej). Należy pamiętać imię, płeć, datę urodzenia i stopień pokrewieństwa każdego członka rodziny
Encja 9 Co może reprezentować encja? 10 Encja Encja (ang. (ang. entity) to to "rzecz" w modelowanym miniświecie, która która posiada niezależne istnienie i i o której której chcemy przechowywać informacje. Encja Encja może może być być obiektem materialnym, obiektem niematerialnym, zdarzeniem lub lub faktem. Cechy encji: każda encja posiada cechy zwane ami, każda encja posiada unikalny identyfikator, obiekt rzeczywisty może być reprezentowany w modelu przez co najwyżej jedną encję, reprezentacje konkretnych obiektów miniświata stanowią instancje (wystąpienia) encji. Obiekt materialny: pracownik, książka, samochód, towar Obiekt niematerialny: faktura, projekt, konto, zamówienie, grupa pracowników Zdarzenie: choroba pracownika, przyznanie nagrody, kontrola Fakt: znajomość języka obcego, stan magazynowy produktu id_pracownika nazwisko stanowisko data_urodzenia pensja pensja encja...... 1001 1001 1004 Niebieski 1012 1004 1012 Czerwony Dyrektor Zielony Zielony Z-ca Spec.ds.logistyki Z-ca dyrektora 12.05.1949 8.02.1969 12 17.01.1974 12000 7 5 200 500... 500... 200... encja...... instancje encji... Typy ów 11 Atrybuty kluczowe 12 Proste i złożone prosty/atomowy (ang. simple/atomic): niepodzielny, np. imię, nazwisko, pensja, etat złożony (ang. composite): może być podzielony na y proste, np. adres Jedno- i wielowartościowe jednowartościowy (ang. single-valued): w dowolnej chwili posiada tylko jedną wartość, np. wiek, nazwisko wielowartościowy (ang. multi-valued): może posiadać wiele wartości (możliwe ograniczenia), np. języki obce Oryginalne i wywiedzione oryginalny (ang. stored): wartość u zapisana w bd wywiedziony (ang. derived): wartość u została wyliczona na podstawie innego u, np. wiek Każda Każda encja encja posiada (lub (lub zbiór zbiór ów) będących unikalnym identyfikatorem encji. encji. Wartości unikalnego identyfikatora są są unikalne w ramach wszystkich wystąpień encji. encji. Przykłady unikalnych identyfikatorów encji identyfikatory proste naturalne: PESEL, NIP, ISBN identyfikatory proste sztuczne: ID_PACOWNIKA, ID_ZAMOWIENIA identyfikatory złożone: N_EJESTACYJNY, INDEKS
Związki Definicje związek między encjami,,..., E n definiuje zbiór asocjacji między instancjami tych encji. Związek jest matematyczną relacją składającą się z instancji związku r i, gdzie r i wiąże n instancji encji (e 1,e 2,..., e n ) i każda instancja e j, 1 j n jest wystąpieniem encji E j. związek między encjami,,..., E n jest podzbiorem iloczynu kartezjańskiego... E n 13 Stopień związku (1/3) Stopień związku to liczba encji uczestniczących w związku związki unarne: wiążą jedną encję, najczęściej reprezentują rekurencyjne powiązanie hierarchiczne między obiektami określonego typu, przykłady takich związków to "jest przełożonym", "jest częścią", "wchodzi w skład". Dla związków unarnych konieczne jest określenie roli, jaką gra każda instancja encji w związku. 14 Pracuje W Departament Jest przełożonym szef d 1 podwładny d 2 p 4 podwładny podwładny p 4 r 4 d 3 p 5 szef Stopień związku (2/3) 15 Stopień związku (3/3) 16 Stopień związku to liczba encji uczestniczących w związku związki binarne: wiążą instancje dwóch encji, są to najpopularniejsze i najczęściej spotykane rodzaje związków Stopień związku to liczba encji uczestniczących w związku związki ternarne: wiążą instancje trzech encji UWAGA: związku ternarnego (A,B,C) nie wolno mylić z trzema związkami binarnymi 1 (A,B) 2 (A,C) 3 (B,C) Posiada Samochód Pracuje Nad Projekt s 1 s 2 t 1 ola p 4 s 3 l 1 t 2 l2 t 3 l 3
Typ asocjacji związku (1/3) 17 Typ asocjacji związku (2/3) 18 Typ asocjacji określa liczbę instancji związku w których może brać udział instancja encji związki typu 1:1 każda instancja encji może brać udział w co najwyżej jednej instancji związku Jest Kierownikiem Departament Typ asocjacji określa liczbę instancji związku w których może brać udział instancja encji związki typu 1:N instancje jednej encji mogą brać udział w co najwyżej jednej instancji związku, instancje drugiej encji mogą brać udział w dowolnej liczbie instancji związku Producent Produkuje Część d 1 c 1 p 4 d 3 d 2 p 2 c 3 c 2 może może być być kierownikiem co co najwyżej jednego departamentu, departament ma ma co co najwyżej jednego kierownika Producent może może produkować wiele wiele części, części, każda każda część część jest jest produkowana przez przez co co najwyżej jednego producenta Typ asocjacji związku (3/3) 19 Przynależność do związku 20 Typ asocjacji określa liczbę instancji związku w których może brać udział instancja encji związki typu N:M instancje każdej encji mogą brać udział w dowolnej liczbie instancji związku Dostawca d 1 Dostarcza Towar t 1 Istnieją dwa rodzaje ograniczeń na przynależność totalna przynależność (ang. total participation) encji w związku oznacza, że każda instancja encji musi brać udział w jakiejś instancji związku (związek jest obligatoryjny), częściowa przynależność (ang. partial participation) encji w związku oznacza, że mogą istnieć instancje encji nie biorące udziału w żadnej instancji związku (związek jest opcjonalny) Wykładowca Wykłada Przedmiot t 2 t3 d 2 w 1 w2 t 4 w 3 p 2 Każdy Każdy dostawca może może dostarczać wielu wielu towarów, każdy każdy towar towar może może być być dostarczany przez przez wielu wielu dostawców w 4
Encje słabe 21 Notacja (1/3) 22 Definicja encje słabe (ang. weak entities) nie posiadają własnego unikalnego identyfikatora, lecz są identyfikowane poprzez związek z encją nadrzędną (encją identyfikującą). Mówimy wówczas, że związek jest częścią unikalnego identyfikatora encji słabej. Encja słaba posiada częściowy unikalny identyfikator rozróżniający instancje należące do tej samej encji identyfikującej Posiada Dziecko Dziecko Anna d 1 Dziecko Pracuje Nad Należy Do nazwisko encja encja słaba związek związek identyfikujący kod ulica adres wiek 1 N dom wywiedziony złożony totalne uczestnictwo liczność związku p 2 Jan Anna d 2 d 3 PESEL języki unikalny identyfikator wielowartościowy (min,max) E ograniczenia liczności Notacja (Chen) (2/3) 23 Notacja (Oracle) (3/3) 24 Dziecko Pracuje Nad encja encja słaba związek kod ulica adres wiek dom wywiedziony złożony # PESEL * Nazwisko Data ur encja unikalny identyfikator wymagany opcjonalny Należy Do nazwisko związek identyfikujący uczestnictwo liczność związku związek 1:1 związek wymagany/opcjonalny PESEL języki unikalny identyfikator wielowartościowy (min,max) E ograniczenia liczności związek 1:N związek identyfikujący
Hierarchia encji (1/3) 25 Hierarchia encji (2/3) 26 Nadklasy i podklasy podobne encje o wspólnym zbiorze ów można generalizować za pomocą encji nadklasy (ang. superclass), zwaną też encją generalizacji, każda instancja encji podklasy jest jednocześnie wystąpieniem encji nadklasy, encje podklas mogą być rozłączne lub nakładające się, encja podklasy dziedziczy wszystkie y oraz związki encji nadklasy Związki w hierarchii encji związki dotyczące encji nadklasy związki dotyczące encji podklasy związki wykluczające się Departament Jednostka Organizacyjna 1001 1001 Niebieski Dyrektor nr nr dow: dow: DD DD 12345 12345...... 1004 1004 Brown Brown CFO CFO pass: pass: AB AB 001122 001122...... encje podklasy encja generalizacji id_pracownika nazwisko stanowisko krajowy nr_dowodu_osobistego zagraniczny nr_paszportu Stanowisko Projekt kontraktowy tymczasowy Hierarchia encji (3/3) 27 Specjalizacja i generalizacja 28 czy każda instancja encji nadklasy musi być instancją którejś z encji podklasy? PESEL Nazwisko D Data Ur. encje podklasy są rozłączne (D) lub nakładają się (O) Pr.techniczny Pr.administracyjny Pr.inżynieryjny Specjalizacja definiowanie zbioru encji podklas na podstawie encji nadklasy Generalizacja definiowanie ogólnej encji nadklasy na podstawie istniejącego zbioru encji, które automatycznie stają się encjami podklas Cechy specjalizacji/generalizacji definiowane przez predykat, lub użytkownika specjalizacja może być rozłączna lub nakładająca się specjalizacja może być pełna lub częściowa Kategoria Uprawnienia
Kategorie 29 Ograniczenia integralnościowe 30 Kategoria kolekcja obiektów wystąpień różnych encji powiązanych w jeden typ nadklasy (typ połączeniowy, ang. union type) kategoria może mieć charakter pełny lub częściowy w przypadku kategorii następuje selektywne dziedziczenie ów Nazwisko Nazwa Osoba Firma Bank U Nazwa Dziedzina wartości typ i przedział wartości dla u: NAZWA VACHA2(100) Obligatoryjność wartość dla każdego wystąpienia encji: * NAZWISKO, IMIE Unikalność unikalna wartość dla każdego wystąpienia encji: # PESEL Zawężenie dziedziny wartości złożone reguły poprawności u: CHECK (PLEC IN ('K','M')) Dynamika wartości kolejność poprawnych wartości: kawaler żonaty wdowiec Samochód Właściciel Podsumowanie 31 Pytania 32 Encje reprezentują obiekty modelowanego miniświata. Atrybuty encji dzielimy na: proste (atomowe), złożone, wielowartościowe. Związki między encjami charakteryzują się: stopniem: związki unarne, binarne, ternarne, typem asocjacji: 1:1, 1:N, N:M, przynależnością: opcjonalna i obowiązkowa Istnieje wiele notacji dla diagramów E: notacja podstawowa, notacja Chena, notacje Oracle Hierarchie encji encje nadklasy i podklasy związki wykluczające się, związki nadklas i podklas Zdefiniuj poniższe pojęcia: encja,, instancja związku, złożony, wielowartościowy, wywiedziony, unikalny identyfikator encji, stopień związku, typ asocjacji związku, przynależność do związku, encja słaba, specjalizacja, generalizacja, kategoria Odpowiedz na poniższe pytania: jaka jest różnica między związkiem i instancją związku? kiedy konieczne jest użycie ról w związkach? jaka jest różnica między encją i encją słabą? jaka jest różnica między związkiem ternarnym i odpowiadającym mu trzem związkom binarnym? jaki rodzaj związku (1:1, 1:N, N:M, opcjonalny/obligatoryjny) jest logicznie niemożliwy do spełnienia?
Zadanie Malarze malują obrazy, które są prezentowane podczas wystaw. Każdy malarz posiada unikalny sztuczny identyfikator, imię, nazwisko, narodowość, datę urodzenia i datę śmierci. Z każdym malarzem może być związana jedna lub więcej not biograficznych. Każda nota biograficzna posiada swojego autora i określoną treść. Każdy autor noty biograficznej (opisany przez imię i nazwisko) może napisać co najwyżej jedną notę o danym malarzu, przy czym jeden autor może napisać wiele not o różnych malarzach. Nie ma sensu przechowywać noty biograficznej o malarzu który nie został wprowadzony do bazy danych. Każdy obraz posiada swój unikalny sztuczny identyfikator, tytuł, oraz datę powstania. Każdy obraz reprezentuje określony styl malarski. Dla stylu malarskiego należy pamiętać jego nazwę (nazwa stylu jest unikalna), datę początku i datę końca występowania danego stylu. Każdy obraz zaliczany jest do jednego i tylko jednego stylu. Każdy styl posiada malarza, który jest sztandarowym przedstawicielem tego stylu. Każdy malarz może być sztandarowym reprezentantem co najwyżej jednego stylu. Obrazy są prezentowane podczas wystaw. Każda wystawa ma unikalny sztuczny identyfikator, nazwę, datę rozpoczęcia, datę zakończenia oraz adres. Adres składa się z nazwy obiektu ekspozycyjnego, ulicy, numeru kodu i nazwy miasta. Każdy obraz może być prezentowany w ramach wielu wystaw, na każdej wystawie prezentowanych jest wiele obrazów. W trakcie każdej wystawy dany obraz może być prezentowany jako własny lub wypożyczony. 33 Zadanie Należy zbudować system informatyczny wspomagający pracę agencji organizującej koncerty i festiwale muzyczne. Każdy koncert posiada datę, lokalizację (opis miejsca odbywania się koncertu), czas trwania koncertu (wyrażony w minutach) oraz rodzaj (np. sala koncertowa, klub, otwarty stadion) Każdy koncert odbywa się w określonym mieście. Dla każdego miasta należy pamiętać nazwę miasta i nazwę kraju Koncert może się odbywać jako samodzielne wydarzenie albo może być częścią większego festiwalu. W ramach festiwalu zawsze odbywa się co najmniej jeden koncert. Każdy festiwal posiada swoją nazwę, lokalizację oraz rok odbycia. Każdy festiwal odbywa się w dokładnie jednym mieście (nie ma festiwali które odbywają się jednocześnie w wielu miastach) Na każdy koncert sprzedawane są bilety. Każdy bilet posiada unikalny numer w ramach koncertu na który został wystawiony. Bilet poza numerem posiada cenę i rodzaj (np. ulgowy, VIP) Koncerty są wykonywane przez wykonawców. Każdy wykonawca reprezentuje jakiś typ muzyki (np. rock, pop, jazz). Wykonawcą może być solista lub zespół. Dla solisty należy pamiętać jego nazwisko i datę urodzenia, dla zespołu należy pamiętać nazwę zespołu i datę założenia zespołu. Każdy zespół musi się składać zjednego bądź wielu muzyków, przy czym każdy muzyk może grać w dowolnej liczbie zespołów. Dla każdego muzyka należy zapamiętać jego nazwisko, datę urodzenia i instrument na którym gra muzyk. 34