Model związków encji
Z. Królikowski
E-mail: Zbyszko.Krolikowski@cs.put.poznan.pl
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
Metodyka projektowania baz danych
Analiza miniświata – konstrukcja modelu pojęciowego
Transformacja modelu pojęciowego do postaci relacyjnego modelu danych
Proces normalizacji schematów relacji
Wybór struktur fizycznych i ścieżek dostępu
Strojenie systemu
diagramy ERR
relacje (tabele)
relacje znormalizowane miniświat
fizyczne struktury danych
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
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
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
Model związków encji
Encje: Obiekty niematerialne:
konto bankowe, zamówienie, grupa pracownicza, itp.
grupa pracowników
administracyjnych GRUPA PRACOWNICZA
nazwa grupy
średnie wynagrodz.
liczba pracowników dzień wypłaty
Model związków encji
Encje: zdarzenia
choroba pracownika, przyznanie nagrody, itp.
C H O R O B A P R A C O W N I K A
d a ta _ r o z p o c z ę c ia d a ta _ z a k o ń c z e n ia r o d z a j_ c h o r o b y 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 .
Encje: fakty
znajomość języka obcego, stan magazynowy produktu, itp
ZNAJOMOŚĆ JĘZYKA OBCEGO
nazwa_języka
stopień_znajomości Znam biegle
język angielski!
9
Model związków encji Związki
Powiązania w świecie rzeczywistym: Pracownicy firmy posiadają różnej marki samochody
Dalewska
Jan Kowalski
Tomasz Biały
posiada
jest własnością
posiada
jest własnością
Ewa Nissan
Opel
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
samochód jest własnością określonego pracownika.
Model związków encji
Związek i jego interpretacja:
PRACOWNIK posiada SAMOCHÓD
własnością jest
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.
Samochód jest własnością pracownika.
Nazwa związku
Model związków encji
Własności związków
Dalewska
JanKowalski
Tomasz Biały
posiada
jest własnością
posiada
jest własnością
Ewa Nissan
Opel
PRACOWNIK posiada SAMOCHÓD
własnościąjest
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 ?
?
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.
K lient
K lient
K lient P rojekt
P rojekt
P rojekt
zlecił w ykonanie
zlecił
w ykonanie
zlecił
w ykonanie w ykonany
w ykonany w ykonany
Model związków encji
Związek "jeden do wielu":
PROJEKT
wykonany dlaKLIENT
zlecił wykonanie
„kurza łapka”
Interpretacja związku:
Każdy projekt może być wykonywany tylko dla jednego klienta.
Każdy klient może zlecić wykonanie jednego lub wielu
Model związków encji
Stopień asocjacji związków M:N - powiązania o charakterze
"wiele do wielu"
K o w a l s k i D a l e w s k a
K o s z l a j d a
B i a ł y D ł u g o s z
P r o j e k t A l f a
P r o j e k t B e t a b i e r z e u d z i a ł w
r e a l i z o w a n y p r z e z
r e a l i z o w a n y p r z e z b i e r z e u d z i a ł w
b i e r z e u d z i a ł w
b i e r z e u d z i a ł w
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.
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.
Model związków encji
Stopień asocjacji związków - 1:1 - Powiązania o charakterze "jeden do jednego"
Dział
Księgow ości Dział
Sprzedaży Kow alski
Dalew ska
Koszlajda Biały Długosz
kieruje
kieruje
kierowany przez
kierowany przez
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
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.
Model związków encji
Opcjonalność związków
Dalewska Jan Kowalski
Tomasz Biały
posiada
jest własnością
posiada
jest własnością
Nissan
Opel
jest własnością Fiat Ewa
Opcjonalność w świecie rzeczywistym:
Nie każdy pracownik posiada samochód.
Często nie wiemy czy pracownik posiada samochód.
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
Interpretacja:
PRACOWNIK posiada STOPIEŃ
zdobyty przez
NAUKOWY
Każdy pracownik może posiadać jeden stopień naukowy.
Każdy stopień naukowy może zostać zdobyty przez jednego
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.
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 posiada PRZEGLĄD
dotyczy
DOSTAWCZY 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
Model związków encji
Związek binarny
Wiąże ze sobą dwa obiekty.
Kow alski Dalewska
Koszlajda
Biały Długosz
Dział
Księgowości Dział
Sprzedaży
zatrudnia pracuje w
pracuje w
pracuje w pracuje w
pracuje w zatrudnia
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
Model związków encji (rozszerzony) - EER Związek ternarny
wiąże trzy obiekty.
Kowalski
Dalewska Biały
Projekt Beta
Alfa
KIEROWNIK
PROJEKTANT DORADCA bierze udział w
bierze udział w
bierze udział w
realizowany przez
realizowany przez
rola pełniona przez rola pełniona
przez
rola pełniona przez Projekt
Model związków encji - EER
Związek ternarny
wiąże trzy encje.
PRACOWNIK R O L A
P R O J E K T b i e r z e
u d z i a ł w
r e a l i z o w a n y p r z e z
p e ł n i o n a p r z e z
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
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
John Smith
ul. Malinowa 14/7
nr paszportu: X485674345
pracownicy krajowi pracownicy zagraniczni państwo: Holandia
Model związków encji - EER
Hierarchia encji
PRACOWNIK nazwisko adres
PRACOWNIK KRAJOWY nr_dowodu_osob
PRACOWNIK ZAGRANICZNY nr_paszportu
państwo
generalizacja
specjalizacje atrybuty
wspólne atrybuty specyficzne
imię
Własności hierarchii encji:
Specjalizacje dziedziczą wszystkie atrybuty generalizacji.
Każde wystąpienie generalizacji jest zawsze wystąpieniem
29
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.
P R A C O W N I K K R A J O W Y
P R A C O W N I K Z A G R A N I C Z N Y P R A C O W N I K
S T A N O W I S K O D Z I A Ł
Z A K Ł A D P R A C Y z a t r u d n i a
z a t r u d n i o n y w
o b s a d z o n e p r z e z z a t r u d n i o n y n a
p r a c o w a ł w
z a t r u d n i a ł
Własności hierarchii encji:
Specjalizacje dziedziczą
wszystkie związki generalizacji.
Związki: zatrudniony w i zatrudniony na, dotyczą pracowników krajowych i zagranicznych. Związek pracował w jest specyficzny dla pracowników
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
SRODKA TRWAŁ.
NAPRAWA
WYPOSAŻENIA NAPRAWA
ŚRODEK TRWAŁY
ELEMENT atrybuty
WYPOSAŻENIA dotyczy
dotyczy
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 ŚRODEK
ELEMENT TRWAŁY
WYPOSAŻENIA dotyczy
dotyczy
Każde wystąpienie encji NAPRAWA musi być powiązane albo ze środkiem trwałym, albo z elementem wyposażenia.
Model związków encji - EER
Łuk – przykład zastosowania
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)
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ść)
*
nazwiskoo
drugie_imię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_projektuModel 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 )
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
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
# symbol projektu nazwa projektu data rozpoczęcia data zakończenia budżet
PROJEKT
# symbol projektu nazwa projektu
# data rozpoczęcia
data zakończenia budżet
lub
Symbol projektu pozwala
jednoznacznie zidentyfikować Poszczególne projekty
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.
P R A C O W N I K
# i d _ p r a c o w n i k a i m i ę
a d r e s t e l e f o n n a z w i s k o
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.
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
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ą.