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

Podobne dokumenty