posiada
Transkrypt
posiada
Model związków encji Z. Królikowski E-mail: [email protected] Literatura 1. Date C. J., An Introduction to Database System, vol. II, Adison-Wesley Pub. Comp., również WNT – W-wa, (seria: Klasyka Informatyki), 2000. . 2. Elmasri R., Navathe S., Fundamentals of Database Systems, Adison-Wesley Pub. Comp.,(3th Edition), 1999 3. Garcia-Molina H., Ullman J.D., Widom J., Implementacja systemów baz danych, WNT, 2003 (seria: Klasyka Informatyki) 4. R. Barker, Modelowanie związków encji – CASE Method, Wyd. Naukowo – Techniczne, 1996 5. R. Wrembel, W. Wieczerzycki, Projektowanie aplikacji baz danych, Wydawnictwo NAKOM, Poznań, 1997 2 Metodyka projektowania baz danych miniświat Analiza miniświata – konstrukcja modelu pojęciowego diagramy ERR Transformacja modelu pojęciowego do postaci relacyjnego modelu danych relacje (tabele) Proces normalizacji schematów relacji W ybór struktur fizycznych i ścieżek dostępu relacje znormalizowane fizyczne struktury danych Strojenie systemu 3 Model związków encji Encja to rzecz (obiekt materialny lub niematerialny, zdarzenie lub fakt), o której chcemy przechowywać informacje. Obiekty w świecie rzeczywistym: Firma zatrudnia pracowników. Chcemy znać dane personalne każdego pracownika (imię, nazwisko, adres zamieszkania i numer telefonu). Jan Kowalski ul. Długa 23 tel. 253-485 Ewa Dalewska ul. Komarowa 5/2 tel. 486-005 Tomasz Biały ul. Czereśniowa 75/19 tel. 845-520 4 Model związków encji PRACOWNIK imię nazwisko adres telefon PRACOWNIK imię= JAN nazwisko= KOWALSKI adres= ul. DŁUGA 23 telefon= 253-485 Wystąpienia encji Własności encji: Encja kryje w sobie wiele obiektów, czyli tzw. wystąpień encji Nazwy encji powinny być rzeczownikami w liczbie pojedynczej Obiekt rzeczywisty może być reprezentowany w modelu tylko przez jedną encję Każda encja musi posiadać unikalny identyfikator 5 Model związków encji Encje: obiekty materialne pracownik, samochód, budynek, produkt, itp. SAMOCHÓD marka numer_fabryczny prędkość_maksymalna zużycie_paliwa 6 Model związków encji Encje: Obiekty niematerialne: konto bankowe, zamówienie, grupa pracownicza, itp. grupa pracowników administracyjnych GRUPA PRACOWNICZA nazwa grupy liczba pracowników średnie wynagrodz. dzień wypłaty 7 Model związków encji Encje: zdarzenia choroba pracownika, przyznanie nagrody, itp. B y łe m c h o r y ... O to z w o ln ie n ie le k a r s k ie . CHOROBA P R A C O W N IK A d a t a _ r o z p o c z ę c ia d a t a _ z a k o ń c z e n ia ro d za j_ ch o ro b y Encje: fakty znajomość języka obcego, stan magazynowy produktu, itp Znam biegle język angielski! ZNAJOMOŚĆ JĘZYKA OBCEGO nazwa_języka stopień_znajomości 8 Model związków encji Związki Powiązania w świecie rzeczywistym: Pracownicy firmy posiadają różnej marki samochody Ewa Dalewska Nissan posiada jest własnością Jan Kowalski Opel Tomasz Biały posiada jest własnością Pomiędzy dwoma rodzajami obiektów, pracownikami i samochodami, istnieją powiązania: dany pracownik może posiadać określony samochód, a jednocześnie dany 9 samochód jest własnością określonego pracownika. Model związków encji Związek i jego interpretacja: PRACOWNIK posiada jest własnością SAMOCHÓD Nazwy związku, będące jego interpretacją, powinny być tak dobierane, aby możliwe było budowanie zdań w języku naturalnym Pracownik posiada samochód. Nazwa związku Samochód jest własnością pracownika. 10 Model związków encji Własności związków Ewa Dalewska Nissan posiada jest własnością Jan Kowalski Opel Tomasz Biały PRACOWNIK posiada jest własnością posiada jest własnością SAMOCHÓD 11 Model związków encji Własności związków Wiemy, że: Istnieją powiązania pomiędzy obiektami typu PRACOWNIK i SAMOCHÓD Chcemy wiedzieć: Ile samochodów może posiadać pracownik ? Czy każdy pracownik musi posiadać samochód ? Czy musimy znać właściciela każdego samochodu ? Jakiej użyć notacji ? ? 12 Model związków encji Stopień asocjacji związków 1:N - powiązania o charakterze "jeden do wielu" Firma realizuje projekty zlecone przez różnych klientów. Dany projekt wykonywany jest dla jednego konkretnego klienta, a dany klient może zlecić wykonanie wielu projektów. P ro je kt w ykonany P ro je kt w ykonany P ro je kt w ykonany zlecił w ykonanie zlecił w ykonanie zlecił w ykonanie K lie n t K lie n t K lie n t 13 Model związków encji Związek "jeden do wielu": PROJEKT „kurza łapka” wykonany dla KLIENT zlecił wykonanie Interpretacja związku: Każdy projekt może być wykonywany tylko dla jednego klienta. Każdy klient może zlecić wykonanie jednego lub wielu projektów. 14 Model związków encji Stopień asocjacji związków M:N - powiązania o charakterze "wiele do wielu" P r o je k t A lf a K o w a ls k i D a le w s k a b ie r z e u d z ia ł w b ie r z e u d z ia ł w K o s z la jd a D łu g o s z b ie r z e u d z ia ł w B ia ły b ie r z e u d z ia ł w r e a liz o w a n y przez P r o je k t B e ta r e a liz o w a n y przez Projekty są realizowane przez pracowników. Każdy projekt jest realizowany przez jednego lub wielu pracowników. Każdy pracownik może brać udział w realizacji jednego lub wielu projektów. 15 Model związków encji Związek "wiele do wielu" (M:N) PRACOWNIK bierze udział PROJEKT realizowany przez Interpretacja: Każdy pracownik może brać udział w jednym lub wielu projektach. Każdy projekt może być realizowany przez jednego lub wielu pracowników. 16 Model związków encji Stopień asocjacji związków - 1:1 - Powiązania o charakterze "jeden do jednego" Kow alski Dalew ska kieruje kierowany przez Dział Sprzedaży Koszlajda Długosz Biały kieruje kierowany przez Dział Księgow ości Działy firmy kierowane są przez pracowników. Dany dział może być kierowany tylko przez jednego pracownika (kierownika działu), a dany pracownik może kierować nie więcej niż jednym działem 17 Model związków encji Związek "jeden do jednego" (1:1) PRACOWNIK kieruje DZIAŁ kierowany przez Interpretacja: Każdy pracownik może kierować jednym działem. Każdy dział może byc kierowany przez jednego pracownika. 18 Model związków encji Opcjonalność związków Ewa Dalewska posiada Nissan jest własnością Jan Kowalski Opel jest własnością posiada Tomasz Biały jest własnością Fiat Opcjonalność w świecie rzeczywistym: Nie każdy pracownik posiada samochód. Często nie wiemy czy pracownik posiada samochód. 19 Model związków encji Opcjonalność związków – dwustronna opcjonalność Każdy pracownik może (ale nie musi) posiadać stopień naukowy oraz istnieją stopnie naukowe, które nie muszą być zdobyte przez żadnego z pracowników firmy PRACOWNIK posiada zdobyty przez STOPIEŃ NAUKOWY Interpretacja: Każdy pracownik może posiadać jeden stopień naukowy. Każdy stopień naukowy może zostać zdobyty przez jednego lub wielu pracowników. 20 Model związków encji Obligatoryjność związków Każdy samochód (o którym chcemy przechowywać informacje) musi być własnością określonego pracownika PRACOWNIK posiada SAMOCHÓD jest własnością Interpretacja: Każdy pracownik może posiadać jeden lub więcej samochodów. Każdy samochód musi być własnością jednego pracownika. 21 Model związków encji Dwustronna obligatoryjność związków Firma posiada samochody dostawcze. Dla każdego samochodu musimy znać dane dotyczące ostatniego przeglądu technicznego. Każdy przegląd techniczny, o którym przechowujemy informacje, musi dotyczyć jednego z samochodów firmy SAMOCHÓD DOSTAWCZY posiada dotyczy PRZEGLĄD TECHNICZNY Interpretacja: Każdy samochód dostawczy musi posiadać jeden lub wiele przeglądów technicznych. Każdy przegląd techniczny musi dotyczyć jednego konkretnego 22 samochodu. Model związków encji Związek binarny Wiąże ze sobą dwa obiekty. Dalew ska Kow alski pracuje w zatrudnia Dział Sprzedaży pracuje w Długosz pracuje w Koszlajda pracuje w Biały pracuje w zatrudnia Dział Księgow ości 23 Model związków encji Związek binarny łączy dwie encje: PRACOWNIK pracuje w DZIAŁ zatrudnia lub łączy dwa wystąpienia jednej encji: PRACOWNIK jest podwładnym jest przełożonym 24 Model związków encji (rozszerzony) - EER Związek ternarny wiąże trzy obiekty. Projekt Alfa Kow alski bierze udział w Biały realizowany przez rola pełniona przez rola pełniona PROJEKTANT przez bierze udział w Dalewska KIEROW NIK bierze udział w realizowany przez rola pełniona przez DORADCA Projekt Beta 25 Model związków encji - EER Związek ternarny wiąże trzy encje. PRACOWNIK pełniona przez bierze udział w ROLA realizowany przez PROJEKT Interpretacja: Określony pracownik, daną rolę może pełnić w jednym lub wielu projektach. W określonym projekcie, dana rolę może pełnić jeden lub wielu pracowników. Określony pracownik, w danym projekcie może pełnić tylko 26 jedną konkretną rolę. Model związków encji - EER Hierarchia encji Dziedziczenie atrybutów Firma zatrudnia pracowników krajowych i zagranicznych. Wszyscy pracownicy opisani są pewnymi wspólnymi atrybutami, ale zarówno pracownicy krajowi i zagraniczni posiadają atrybuty specyficzne. Jan Kowalski ul. Długa 23 nr dow.osob.: WL8034567 pracownicy krajowi John Smith ul. Malinowa 14/7 państwo: Holandia nr paszportu: X485674345 pracownicy zagraniczni 27 Model związków encji - EER Hierarchia encji generalizacja atrybuty wspólne atrybuty specyficzne PRACOWNIK imię nazwisko adres PRACOWNIK KRAJOWY specjalizacje nr_dowodu_osob PRACOWNIK ZAGRANICZNY państwo nr_paszportu Własności hierarchii encji: Specjalizacje dziedziczą wszystkie atrybuty generalizacji. Każde wystąpienie generalizacji jest zawsze wystąpieniem jednej ze specjalizacji. 28 Model związków encji - EER Hierarchia encji – Dziedziczenie związków Każdy pracownik jest zatrudniony na określonym stanowisku w jednym z działów firmy. W odniesieniu do pracowników krajowych, chcemy wiedzieć, w jakich zakładach pracy byli poprzednio zatrudnieni. Własności hierarchii encji: DZIAŁ Specjalizacje dziedziczą z a tr u d n ia STANOWISKO wszystkie związki o b s a d zo n e p rze z generalizacji. z a tr u d n io n y w z a tr u d n io n y n a PRACOWNIK PRACOWNIK KRAJOWY p ra c o w a ł w ZAKŁAD PRACY z a tr u d n ia ł PRACOWNIK ZAGRANICZNY Związki: zatrudniony w i zatrudniony na, dotyczą pracowników krajowych i zagranicznych. Związek pracował w jest specyficzny dla pracowników 29 krajowych. Model związków encji - EER Hierarchia encji bez specyficznych atrybutów - łuk Chcemy przechowywać opis każdej dokonanej naprawy dotyczącej środków trwałych i elementów wyposażenia. Opis naprawy w obu przypadkach jest podobny NAPRAWA atrybuty NAPRAWA SRODKA TRWAŁ. NAPRAWA WYPOSAŻENIA dotyczy ŚRODEK TRWAŁY dotyczy ELEMENT WYPOSAŻENIA Klasyczna hierarchia encji 30 Model związków encji - EER Hierarchia encji bez specyficznych atrybutów - łuk Encje NAPRAWA ŚRODKA TRWAŁEGO i NAPRAWA WYPOSAŻENIA nie posiadają specyficznych atrybutów. Specjalizacje posiadają wyłącznie specyficzne związki. Łuk: NAPRAWA dotyczy ŚRODEK TRWAŁY dotyczy ELEMENT WYPOSAŻENIA Każde wystąpienie encji NAPRAWA musi być powiązane albo ze środkiem trwałym, albo z elementem wyposażenia. 31 Model związków encji - EER Łuk – przykład zastosowania 32 Model związków encji - EER Własności atrybutów – ograniczenia integralnościowe Dziedzina wartości Nakłada ograniczenie, z jakiego przedziału wartości i jakiego typu wartości, mogą być przyjmowane przez dany atrybut. Notacja: nazwa_projektu - VARCHAR(25) wynagrodzenie - NUMBER(8,2) 33 Model związków encji - EER Własności atrybutów – ograniczenia integralnościowe Obligatoryjność Nakłada ograniczenie, że dla wszystkich wystąpień encji wartości danego atrybutu muszą być określone. Notacja: (obligatoryjność) (Opcjonalność) * o nazwisko drugie_imię 34 Model związków encji - EER Własności atrybutów – ograniczenia integralnościowe Unikalność Uniemożliwia nadanie tej samej wartości atrybutowi (lub kombinacji atrybutów) w dwóch lub większej liczbie wystąpień encji. Notacja: # nazwa_projektu 35 Model związków encji - EER Własności atrybutów – ograniczenia integralnościowe Zawężenie dziedziny wartości Nakłada dodatkowe ograniczenie na wartości przyjmowane przez dany atrybut za pomocą złożonych wyrażeń i odwołań do innych atrybutów. Przykład: check( day(data_wypłaty) <> 'niedziela' ) check( data_zakończenia > data_rozpoczęcia ) 36 Model związków encji - EER Własności atrybutów – ograniczenia integralnościowe Dynamika wartości Nakłada ograniczenie na kolejność wartości przyjmowanych przez dany atrybut . Przykład: kawaler → żonaty → wdowiec 37 Model związków encji - EER Unikalny identifikator encji Każda encja musi mieć zdefiniowany sposób identyfikacji pojedynczych wystąpień. Unikalny identyfikator może być atrybutem, kombinacją atrybutów, kombinacją związków lub kombinacją związków i atrybutów Naturalne atrybuty identyfikujące - na jeden lub kilka rzeczywistych atrybutów nakładamy ograniczenie unikalności. PROJEKT PROJEKT # symbol projektu nazwa projektu budżet data rozpoczęcia data zakończenia # symbol projektu # data rozpoczęcia nazwa projektu budżet data zakończenia Symbol projektu pozwala jednoznacznie zidentyfikować każdy projekt. lub Poszczególne projekty identyfikujemy za pomocą pary wartości 38 Model związków encji - EER Sztuczny atrybut identyfikujący W przypadku gdy: liczba atrybutów zapewniających unikalność > 2, wartości atrybutu unikalnego mają duże rozmiary, często modyfikujemy wartości atrybutów unikalnych, do zbioru naturalnych atrybutów encji dodajemy sztuczny atrybut pełniący rolę unikalnego identyfikatora. PRACOWNIK # id_pracownika imię nazwisko adres telefon 39 Model związków encji - EER Atrybut czy encja ? Czy dana rzecz lub cecha, nazwana z użyciem rzeczownika, jest atrybutem opisującym encję, czy jest samodzielną encją ? Wyraźnie wyeksponowane obiekty, opisane zbiorem informacji, w naturalny sposób modelujemy jako encje. 40 Model związków encji - EER Atrybut czy encja ? Atrybut traktujemy jako nową encję: gdy sam jest opisany dodatkowymi informacjami; gdy chcemy pamiętać dynamiczny zbiór wartości tego atrybutu niezależnie od istnienia opisywanego obiektu; gdy stwierdzamy, że atrybut może dla jednego obiektu przyjmować wiele wartości 41 Model związków encji - EER Atrybut czy encja ? Przykłady: Samochody opisane są m.in. kolorem. Opisz sytuację, w której kolor będzie atrybutem samochodu i sytuację, w której kolor będzie osobną encją. Pracownicy opisani m.in. numerem telefonu. Opisz sytuację, w której numer telefonu będzie atrybutem pracownika i sytuację, w której telefon będzie osobną encją. 42