03 Modelowanie zwiazkow encji


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


Wyszukiwarka

Podobne podstrony:
Diagram Związków Encji
EasyCase Diagram Związków Encji
03 modelowanie procesu
Diagram ZwiÄ…zkw Encji
19 03 2010 Wibracja zwiÄ…zku 7
29 03 2010 Wibracja zwiÄ…zku 9
29 03 2010 Wibracja zwiÄ…zku 8
863 03
ALL L130310?lass101
Mode 03 Chaos Mode
2009 03 Our 100Th Issue
jezyk ukrainski lekcja 03

więcej podobnych podstron