background image

1

Modelowanie związków encji

2

Plan rozdziału

• Przykładowy opis miniświata
• Encje
• Związki

– stopień związku
– typ asocjacji

• Notacje  diagramów  ER
• Hierarchie encji

3

Etapy budowy systemu 

informatycznego przedsiębiorstwa (1/4)

4

Etapy budowy systemu 

informatycznego przedsiębiorstwa (2/4)

background image

5

Etapy budowy systemu 

informatycznego przedsiębiorstwa (3/4)

6

Etapy budowy systemu 

informatycznego przedsiębiorstwa (4/4)

7

Fazy projektowania bazy danych

miniświat

zebranie 

wymagań

zebranie 

wymagań

analiza

funkcjonalna

analiza

funkcjonalna

projekt

pojęciowy

projekt

pojęciowy

projekt

logiczny

projekt

logiczny

projekt

fizyczny

projekt

fizyczny

projekt

aplikacji

projekt

aplikacji

implementacja

transakcji

implementacja

transakcji

niezależne od SZBD

zależne od SZBD

8

Przykład

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

background image

9

Encja

• Cechy encji:

– każda encja posiada cechy zwane atrybutami,
– 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.

Encja (ang. 

entity) to "rzecz" w modelowanym miniświecie, która 

posiada niezależne istnienie i o której chcemy przechowywać 

informacje. Encja może być obiektem materialnym, obiektem 

niematerialnym, zdarzeniem lub faktem.

Encja (ang. 

entity) to "rzecz" w modelowanym miniświecie, która 

posiada niezależne istnienie i o której chcemy przechowywać 

informacje. Encja może być obiektem materialnym, obiektem 

niematerialnym, zdarzeniem lub faktem.

10

1012

Zielony

Spec.ds.logistyki

17.01.1974

5 200

...

1012

Zielony

Spec.ds.logistyki

17.01.1974

5 200

...

Co może reprezentować encja?

• 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

Pracownik

id_pracownika

nazwisko

stanowisko

data_urodzenia

pensja

...

Pracownik

id_pracownika

nazwisko

stanowisko

data_urodzenia

pensja

...

encja

encja

1004

Czerwony

Z-ca dyrektora

8.02.1969

7 500

...

1004

Czerwony

Z-ca dyrektora

8.02.1969

7 500

...

1001

Niebieski

Dyrektor

12.05.1949

12 000

...

1001

Niebieski

Dyrektor

12.05.1949

12 000

...

instancje encji

11

Typy atrybutów

• Proste  i  złożone

– atrybut prosty/atomowy (ang. 

simple

/

atomic

): atrybut niepodzielny, 

np. imię, nazwisko, pensja, etat

– atrybut złożony (ang. 

composite

): może być podzielony na atrybuty 

proste, np. adres

• Jedno- i wielowartościowe

– atrybut jednowartościowy (ang. 

single-valued

): w dowolnej chwili 

atrybut posiada tylko jedną wartość, np. wiek, nazwisko

– 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

12

Atrybuty kluczowe

• Przykłady unikalnych identyfikatorów encji

– identyfikatory proste naturalne: PESEL, NIP, ISBN
– identyfikatory proste sztuczne: ID_PRACOWNIKA, ID_ZAMOWIENIA
– identyfikatory  złożone: NR_REJESTRACYJNY, INDEKS

Każda encja posiada atrybut (lub zbiór atrybutów) będących 

unikalnym identyfikatorem encji. Wartości unikalnego 

identyfikatora są unikalne w ramach wszystkich wystąpień encji.

Każda encja posiada atrybut (lub zbiór atrybutów) będących 

unikalnym identyfikatorem encji. Wartości unikalnego 

identyfikatora są unikalne w ramach wszystkich wystąpień encji.

background image

13

Związki

• Definicje

– związek R między encjami E

1

, E

2

,..., E

n

definiuje zbiór asocjacji między 

instancjami tych encji. Związek R 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 R między encjami E

1

, E

2

,..., E

n

jest podzbiorem iloczynu 

kartezjańskiego E

1

× E

2

× ... × E

n

Pracownik

Departament

Pracuje W

p

1

p

2

p

3

p

4

d

1

d

2

d

3

r

1

r

2

r

3

r

4

14

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.

Pracownik

Jest przełożonym

p

1

p

2

p

3

p

5

r

1

r

2

p

4

szef

szef

podwładny

podwładny

podwładny

15

Stopień związku (2/3)

• 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

Pracownik

Samochód

Posiada

p

1

p

2

p

3

p

4

s

1

s

2

s

3

r

1

r

2

r

3

16

Stopień związku (3/3)

• Stopień związku to liczba encji uczestniczących w związku

– związki ternarne: wiążą instancje trzech encji

UWAGA: związku ternarnego R(A,B,C) nie wolno mylić z trzema 

związkami binarnymi R

1

(A,B) R

2

(A,C) R

3

(B,C)

Pracownik

Projekt

Pracuje Nad

p

1

p

2

p

3

t

1

t

2

t

3

r

1

r

2

r

3

Rola

l

1

l

2

l

3

background image

17

Typ asocjacji związku (1/3)

• 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

Pracownik

Departament

Jest Kierownikiem

p

1

p

2

p

3

p

4

d

1

d

2

d

3

r

1

r

2

r

3

Pracownik może być kierownikiem co najwyżej jednego 

departamentu, departament ma co najwyżej jednego kierownika

Pracownik może być kierownikiem co najwyżej jednego 

departamentu, departament ma co najwyżej jednego kierownika

18

Typ asocjacji związku (2/3)

• 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

Część

Produkuje

p

1

p

2

c

1

c

2

c

3

r

1

r

2

r

3

Producent może produkować wiele części, każda część jest 

produkowana przez co najwyżej jednego producenta

Producent może produkować wiele części, każda część jest 

produkowana przez co najwyżej jednego producenta

19

Typ asocjacji związku (3/3)

• 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

Towar

Dostarcza

d

1

d

2

t

1

t

2

t

3

r

1

r

2

r

3

Każdy dostawca może dostarczać wielu towarów, każdy 

towar może być dostarczany przez wielu dostawców

Każdy dostawca może dostarczać wielu towarów, każdy 

towar może być dostarczany przez wielu dostawców

t

4

20

Przynależność do związku

• 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

Przedmiot

Wykłada

w

1

w

2

w

3

w

4

p

1

p

2

p

3

r

1

r

2

r

3

background image

21

Encje słabe

• 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

Pracownik

Dziecko

Posiada Dziecko

p

1

p

2

p

3

d

1

d

2

d

3

r

1

r

2

r

3

Anna

Jan

Anna

22

Notacja (1/3)

Pracownik

Dziecko

Pracuje Nad

Należy Do

nazwisko

PESEL

języki

adres

ulica

dom

kod

wiek

E

1

E

2

R

E

1

E

2

R

E

R

1

N

(min,max)

encja

encja słaba

związek

związek

identyfikujący

atrybut

unikalny

identyfikator

atrybut

wielowartościowy

atrybut

złożony

atrybut

wywiedziony

totalne

uczestnictwo

liczność

związku

ograniczenia 

liczności

23

Notacja (Chen) (2/3)

Pracownik

Dziecko

Pracuje Nad

Należy Do

nazwisko

PESEL

języki

adres

ulica

dom

kod

wiek

E

1

E

2

R

E

1

E

2

E

R

(min,max)

encja

encja słaba

związek

związek

identyfikujący

atrybut

unikalny

identyfikator

atrybut

wielowartościowy

atrybut

złożony

atrybut

wywiedziony

uczestnictwo

liczność

związku

ograniczenia 

liczności

24

Notacja (Oracle) (3/3)

Pracownik

# PESEL

* Nazwisko

° Data ur

encja

związek 1:1

związek identyfikujący

atrybut wymagany

unikalny identyfikator

atrybut opcjonalny

E

1

E

2

R

E

1

E

2

R

związek wymagany/opcjonalny

E

1

E

2

R

związek 1:N

E

1

E

2

R

background image

25

Hierarchia encji (1/3)

• Nadklasy i podklasy

– podobne encje o wspólnym zbiorze atrybutó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 atrybuty oraz związki encji

nadklasy

1001

Niebieski

Dyrektor

nr dow: DD 12345

...

1001

Niebieski

Dyrektor

nr dow: DD 12345

...

encje

podklasy

1004

Brown

CFO

pass: AB 001122

...

1004

Brown

CFO

pass: AB 001122

...

Pracownik

id_pracownika

nazwisko

stanowisko

Pracownik

id_pracownika

nazwisko

stanowisko

Pracownik krajowy

nr_dowodu_osobistego
Pracownik zagraniczny

nr_paszportu

encja generalizacji

26

Hierarchia encji (2/3)

• Związki w hierarchii encji

– związki dotyczące encji nadklasy
– związki dotyczące encji podklasy
– związki wykluczające się

Departament

Stanowisko

Jednostka

Organizacyjna

Pracownik

Pracownik 

kontraktowy

Pracownik 

tymczasowy

Projekt

27

Hierarchia encji (3/3)

Pracownik

Pr.techniczny

Pr.administracyjny

Pr.inżynieryjny

D

encje podklasy są

rozłączne (D) lub 

nakładają się (O)

czy każda instancja

encji nadklasy musi 

być instancją którejś 

z encji podklasy?

PESEL

Nazwisko

Data Ur.

Kategoria

Uprawnienia

28

Specjalizacja i generalizacja

• 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, atrybut lub użytkownika
– specjalizacja może być rozłączna lub nakładająca się
– specjalizacja może być pełna lub częściowa

background image

29

Kategorie

• 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 atrybutów

Osoba

Firma

Bank

Nazwisko

Nazwa

Nazwa

U

Właściciel

Samochód

30

Ograniczenia integralnościowe

• Dziedzina wartości

– typ i przedział wartości dla atrybutu: NAZWA VARCHAR2(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 atrybutu: CHECK (PLEC IN ('K','M'))

• Dynamika  wartości

– kolejność poprawnych wartości: kawaler

→żonaty→wdowiec

31

Podsumowanie

• 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 ER: notacja 

podstawowa, notacja Chena, notacje Oracle

• Hierarchie encji

– encje nadklasy i podklasy
– związki wykluczające się, związki nadklas i podklas

32

Pytania

• Zdefiniuj poniższe pojęcia:

– encja, atrybut, instancja związku, atrybut złożony, atrybut 

wielowartościowy, atrybut 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?

background image

33

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.

34

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ć z jednego  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.