You are on page 1of 130

Baze podataka

Model podataka tipova


entiteta i poveznika
ER model podataka

ER model podataka

Sadraj

Osnovni pojmovi
Strukturalna komponenta
ER dijagrami
Integritetna komponenta
Kardinalitet tipa poveznika
Integritet tipa poveznika
N-arni tip poveznika
Gerund i agregacija
Id-zavisnost, IS-A hijerarhija i kategorizacija
Zavrne napomene

ER model podataka

2 / 129

Model tipova entiteta i poveznika


Entity-Relationship data model (ER model)
Rodonaelnik - P. P. Chen (1976)
Chen, Peter Pin-Shan: The entity-relationship model - toward
a unified view of data, ACM Transactions on Database
Systems, Vol. 1, No. 1, 1976.

Kasnija proirenja
semantika Extended ER model (EER model)
OO proirenja sloeni tipovi podataka (domeni)

Osnovni pojmovi ER modela


(ve uvedeni kroz osnovne pojmove BP)
obeleje i domen
tip entiteta i pojava tipa entiteta
tip poveznika i pojava tipa poveznika
ER model podataka

3 / 129

Entitet i klasa entiteta


Entitet (realni entitet)
jedinica posmatranja
inilac (resurs) poslovanja u realnom sistemu

Klasa realnih entiteta


skup slinih entiteta
skup entiteta koji poseduje zajedniko svojstvo
formalno: E = {ei | P(ei)}

ER model podataka

4 / 129

Entitet i klasa entiteta


Primer
neka realni sistem predstavlja jedan fakultet
neka je P(ei) ::= ei je STUDENT
skupu (klasi entiteta) Student pripadaju samo
studenti, a ne i ostali ljudi (inioci) fakulteta

ER model podataka

5 / 129

Poveznik i klasa poveznika


Klasa poveznika
skup veza izmeu klasa realnih entiteta ili prethodno
identifikovanih klasa poveznika
skup poveznika koji poseduje isto svojstvo
formalno:

S = {(e1,, em) | P(e1,, em)}


ei (i {1,..., m})
jedan realni entitet ili prethodno uspostavljeni poveznik

ER model podataka

6 / 129

Poveznik i klasa poveznika


Primer
Klase entiteta
Radnik = {Ana, Aco, Eva},
Radno_mesto = {Programer, Projektant, Operater}

Uoena osobina
P(ei, ej) ::= Radnik ei radi na radnom mestu ej
P(ei, ej) definie klasu poveznika Radi

Jedan poveznik klase Radi: (Ana, Programer)

ER model podataka

7 / 129

Poveznik i klasa poveznika


Primer
Klase entiteta
Radnik = {Ana, Aco, Eva},
Projekat = {Lido, Osig, RazvojIS}

Uoene osobine
P1(ei, ej) ::= Radnik ei radi na projektu ej
P2(ei, ej) ::= Radnik ei rukovodi projektom ej
P1(ei, ej) definie klasu poveznika Radi
P2(ei, ej) definie klasu poveznika Rukovodi

ER model podataka

8 / 129

Poveznik i klasa poveznika


Primer
Klase entiteta
Radnik = {Ana, Aco, Eva},
Projekat = {Lido, Osig, RazvojIS}

Radi = {(Ana, Lido), (Aco, Lido), (Aco, Osig)}


Rukovodi = {(Ana, RazvojIS), (Eva, Lido)}

ER model podataka

9 / 129

Sadraj

Osnovni pojmovi
Strukturalna komponenta
ER dijagrami
Integritetna komponenta
Kardinalitet tipa poveznika
Integritet tipa poveznika
N-arni tip poveznika
Gerund i agregacija
Id-zavisnost, IS-A hijerarhija i kategorizacija
Zavrne napomene

ER model podataka

10 / 129

Strukturalna komponenta
Primitivni koncepti strukturalne komponente ER
modela podataka
vrednost
(predefinisani) domen
obeleje

ER model podataka

11 / 129

Domen
Vrednost
bilo koja konstanta, iz bilo kog skupa

ER model podataka

12 / 129

Domen
Domen
specifikacija skupa moguih vrednosti obeleja
sa definisanim dozvoljenim relacijama i operacijama nad
datim skupom

vrste
predefinisani (primitivni)
korisniki definisani (izvedeni)

ER model podataka

13 / 129

Domen
Predefinisani (primitivni) domen
predstavlja predefinisani, atomini tip podataka
ugraen u definiciju modela podataka
praktino, zavisi od softverskog okruenja koje podrava
izabrani (ER) model podataka

primeri
teoretski: , , , , neogranieni znakovni, boolean
praktini: integer, float, double, decimal, boolean, string

ER model podataka

14 / 129

Domen
Korisniki definisani (izvedeni) domen
definie se
korienjem ve postojeeg domena
predefinisanog, ili
korisniki definisanog

putem pravila za definisanje domena, ugraenih u definiciju


(ER) modela podataka

moe predstavljati skup


atominih podataka, ili
sloenih podataka

primeri
DOCENA ::= {d | d 5 d 10}
DNAZIV ::= String(30)
DMONEY ::= Decimal(12, 2)
ER model podataka

15 / 129

Domen
Korisniki definisani (izvedeni) domen
pravila za definisanje, ugraena u definiciju (ER)
modela podataka

pravilo nasleivanja
pravilo tipa sloga
pravilo tipa skupa (kolekcije)
pravilo tipa izbora

pravila definiu ugraene relacije i operacije


primeri

DPOZOCENA ::= {d DOCENA | d 6}


DTSLOG ::= Tuple{(A1: D1),..., (An: Dn)}
DTSKUP ::= Set{De}
DIZBOR ::= Choice{(A1: D1),..., (An: Dn)}

ER model podataka

16 / 129

Obeleje
Obeleje (atribut)
osobina klase realnih entiteta
iskazana putem predikata P(ei)
oznake:
A, B, X, W
BRI, Datum_Prispea, JMBG, Prz, Ime

ER model podataka

17 / 129

Domen obeleja
Pravilo ER modela podataka
Svakom obeleju se pridruuje tano jedan domen
Notacija
Dom(A), ili (A : D)
oznaka za domen obeleja A
obeleju A pridruen je domen D

dom(A)
oznaka za skup moguih vrednosti obeleja, definisan sa D

primeri
Dom(Ocena) = DOCENA
Ocena prima vrednost iz dom(Ocena) = {5, 6, 7, 8, 9, 10}

(PPNaziv : DNAZIV)
PPNAZIV prima vrednost iz skupa, predstavljenog sa String(30)
skupa svih nizova znakova, nad propisanim kodnim
rasporedom, do maksimalne duine 30
ER model podataka

18 / 129

Strukturalna komponenta
Izvedeni koncepti strukturalne komponente ER
modela podataka

podatak
tip entiteta
pojava tipa entiteta
tip poveznika
pojava tipa poveznika

ER model podataka

19 / 129

Podatak
Podatak - ureena etvorka
(Entitet, Obeleje, Vreme, Vrednost)
Entitet
identifikator (oznaka) entiteta

Obeleje
oznaka (mnemonik) obeleja

Vreme
vremenska odrednica

Vrednost
jedna vrednost iz skupa dom(A)

Skraeno (ako je poznat kontekst)


(Obeleje, Vrednost), ili (Vrednost)
ER model podataka

20 / 129

Tip entiteta
Tip entiteta (TE)
Model klase realnih entiteta u IS
Nastaje od obeleja klase realnih entiteta, bitnih za
realizaciju ciljeva IS
Predstavlja ureenu strukturu:

N(Q, C)
N

- naziv TE

Q = {A1,, An}
C
K = {K1,..., Km} C

- skup obeleja TE
- skup ogranienja TE
- skup kljueva TE (K )

ER model podataka

21 / 129

Pojava tipa entiteta


Pojava tipa entiteta
model jednog realnog entiteta u IS
za tip entiteta N(Q, C), Q = {A1,..., An}, pojava p(N)
predstavlja skup podataka:
p(N) = {(A1, a1),..., (An, an)}
za svaki AiQ mora biti ai dom(Ai)
skup svih pojava p(N) mora zadovoljavati skup ogranienja C

ako se u Q uvede linearno ureenje obeleja, tada

p(N) = (a1,..., an)

ER model podataka

22 / 129

Tip poveznika
Tip poveznika (TP)
model veza izmeu pojava povezanih TE ili TP
ureena struktura:

N(N1, N2,, Nm, Q, C)


N - naziv tipa poveznika

Ni (i {1,..., m}) - povezani tip


tip entiteta, ili
prethodno definisani tip poveznika

Q = {B1,, Bn}
C
K = {K1,..., Kk} C
ER model podataka

- skup obeleja TP
- skup ogranienja TP
- skup kljueva TP (K )
23 / 129

Tip poveznika
Tip poveznika
Identifikator tipa poveznika predstavlja
niz

(N1, N2,, Nm)


ili neki neprazan podniz niza (N1, N2,, Nm)

Klju tipa poveznika


izveden na osnovu kljueva povezanih tipova (N1, N2,, Nm)
Neka je Ki klju tipa Ni
Klju tipa poveznika je vrlo esto, ali ne uvek, pravi ili nepravi
podskup unije kljueva K1 Km
videti integritetnu komponentu ER modela podataka
ER model podataka

24 / 129

Tip poveznika
Tip poveznika
N1, N2,, Nm ne moraju biti meusobno razliiti tipovi
Svaki tip Ni u okviru tipa poveznika N ima svoju ulogu
Nad istim tipovima N1, N2,, Nm se moe definisati
vie razliitih tipova poveznika
m - arnost poveznika
m = 2 - binarni tip poveznika

ER model podataka

25 / 129

Pojava tipa poveznika


Pojava tipa poveznika
N(N1, N2,, Nm, {B1,, Bk }, C)
reprezentuje jedan poveznik u realnom sistemu
oznaka:
p(N, Vreme), u zadatom trenutku vremena, ili samo
p(N), ako se vremenska odrednica ne navodi

predstavlja skup podataka:


p(N) = (p1,, pm)(N) = {(B1, b1),..., (Bk, bk)}
Za svaki Bi mora biti bi dom(Bi)
skup svih pojava p(N) mora zadovoljavati skup ogranienja C
ER model podataka

26 / 129

Sadraj

Osnovni pojmovi
Strukturalna komponenta
ER dijagrami
Integritetna komponenta
Kardinalitet tipa poveznika
Integritet tipa poveznika
N-arni tip poveznika
Gerund i agregacija
Id-zavisnost, IS-A hijerarhija i kategorizacija
Zavrne napomene

ER model podataka

27 / 129

ER dijagrami
Pogodna dijagramska tehnika za predstavljanje
modela statike strukture realnog sistema
ER model podataka uiva popularnost zbog
dijagramskog naina prikaza eme BP
Postoji vie razliitih naina za oznaavanje
koncepata ER modela podataka

ER model podataka

28 / 129

ER - dijagrami
Tip entiteta:

Naziv_TE

Tip poveznika:

Naziv_TP

Domen:

Obeleje:
ER model podataka

Naziv_Dom

ili

Naziv_Dom

Naziv_Ob

29 / 129

ER - dijagrami
Kada se domeni na dijagramu ne prikazuju,
vizuelna reprezentacija obeleja je:
Naziv_Obeleja

Obeleja primarnog kljua TE se podvlae

Naziv_Obeleja

ER model podataka

30 / 129

ER - dijagrami
Nivoi detaljnosti prikaza ER dijagrama
nivo naziva tipova
globalni nivo prikaza

nivo naziva obeleja (i domena)


detaljni nivo prikaza

ER model podataka

31 / 129

ER - dijagrami
Nivo detaljnosti naziva
dva tipa poveznika izmeu istih tipova entiteta

Radi

Radnik

Projekat

Rukovodi

ER model podataka

32 / 129

ER - dijagrami
Nivo detaljnosti naziva
tip poveznika reda 3 (n-arni tip poveznika)

Isporuilac

Proizvod

ER model podataka

Isporuuje

Deo

33 / 129

ER - dijagrami
Nivo detaljnosti naziva
rekurzivni, binarni tip poveznika

Proizvod

Komponenta

ER model podataka

34 / 129

ER - dijagrami
Nivo detaljnosti obeleja (i domena)
skup obeleja jednog tipa entiteta

Radnik

Mbr

ER model podataka

Ime

Prz

Zan

35 / 129

Sadraj

Osnovni pojmovi
Strukturalna komponenta
ER dijagrami
Integritetna komponenta
Kardinalitet tipa poveznika
Integritet tipa poveznika
N-arni tip poveznika
Gerund i agregacija
Id-zavisnost, IS-A hijerarhija i kategorizacija
Zavrne napomene

ER model podataka

36 / 129

Integritetna komponenta
Tipovi ogranienja u ER modelu podataka

ogranienje domena
ogranienje pojave tipa
kardinalitet tipa poveznika
ogranienje kljua (integritet tipa)
za tip entiteta i
tip poveznika

ER model podataka

37 / 129

Ogranienje domena
Specifikacija domena
struktura

D(id(D), Predef)
D
naziv domena

id(D)
ogranienje domena

Predef
predefinisana vrednost domena

ER model podataka

38 / 129

Ogranienje domena
Ogranienje domena id(D)
definie se primenom izabranog pravila za
specificiranje korisniki definisanog domena

pravila nasleivanja
pravila tipa sloga
pravila tipa skupa (kolekcije)
pravila tipa izbora

izabrani sluaj u ovoj temi


definisanje ogranienja domena primenom pravila
nasleivanja

ER model podataka

39 / 129

Ogranienje domena
Pravilo nasleivanja i id(D)
ogranienje "nasleenog" domena je struktura

id(D) = (Tip, Duina, Uslov)


Tip
tip podatka
oznaka primitivnog domena, ili
oznaka prethodnog, korisniki definisanog domena

Duina
duina tipa podatka

Uslov
logiki uslov koji svaka vrednost domena mora da zadovolji

ER model podataka

40 / 129

Ogranienje domena
Tip
jedina obavezna komponenta specifikacije
nasleuju se sva ogranienja, relacije i operacije,
definisane nad izabranim tipom

Duina
navodi se samo za tipove podataka (primitivne
domene) koji to zahtevaju

Uslov
u (ER) modelu podataka mora biti definisana sintaksa
za zadavanje logikih uslova

Predef
mora da zadovolji ogranienja tipa, duine i uslova
ER model podataka

41 / 129

Ogranienje domena
Interpretacija integriteta domena
mogua za bilo koju vrednost - konstantu

Primeri

DPREZIME((String, 30, ), )
DDATUM((Date, , d '01.01.1900'), )
DOCENA((Number, 2, d 5 d 10), )
DPOZOCENA((DOCENA, , d 6), 6)

ER model podataka

42 / 129

Nula vrednost
Nula (nedostajua) vrednost
specijalna vrednost obeleja
oznaava se simbolom
u praksi, to je oznaka NULL

formalna interpretacija nula vrednosti


"vrednost obeleja nedostaje nije zadata"

mogua znaenja nula vrednosti


nepoznata - postojea vrednost obeleja
nepostojea vrednost obeleja
neinformativna vrednost obeleja

nekada se javlja potreba da obeleje, umesto


vrednosti iz domena, poprimi vrednost
ER model podataka

43 / 129

Ogranienje vrednosti obeleja


Specifikacija obeleja
obeleje AQ, datog tipa N
struktura

(id(N, A), Predef)


id(N, A)
ogranienje vrednosti obeleja

Predef
predefinisana vrednost obeleja

ER model podataka

44 / 129

Ogranienje vrednosti obeleja


Ogranienje vrednosti obeleja id(N, A)
definie se za svako obeleje tipa
struktura

id(N, A) = (Domen, Null)


Domen
oznaka (naziv) pridruenog domena obeleja

Null {T, }
T - dozvola dodele nula vrednosti obeleju unutar N
- zabrana dodele nula vrednosti obeleju unutar N

ER model podataka

45 / 129

Ogranienje vrednosti obeleja


Domen i Null
obavezne komponente specifikacije

Predef
ako se navede, onda je on vaei
u protivnom, vaei je Predef odgovarajueg
Domena, ili
prvog sledeeg nasleenog domena, za koji je Predef
definisan

Interpretacija ogranienja
mogua za bilo koju vrednost obeleja

ER model podataka

46 / 129

Ogranienje pojave tipa


Ogranienje pojave tipa
definie ogranienja na mogue vrednosti podataka
unutar iste pojave TE ili TP
predstavlja skup ogranienja vrednosti obeleja,
kojem je pridodat logiki uslov
formalno, za tip N:

id(N) = ({id(N, A) | A Q'}, Uslov)


Q - proireni skup obeleja tipa
za TE je Q = Q
za TP je Q = Q Kp, gde je Kp skup obeleja primarnog kljua
TP

ER model podataka

47 / 129

Ogranienje pojave tipa


Ogranienje pojave tipa
id(N) = ({id(N, A) | A Q'}, Uslov)
Uslov
logiki uslov koji svaka pojava tipa mora da zadovolji
moe, u ulozi operanda, da sadri bilo koje obeleje
proirenog skupa obeleja datog tipa
u (ER) modelu podataka mora biti definisana sintaksa za
zadavanje logikih uslova

Interpretacija ogranienja pojave tipa


mogua za bilo koju pojavu tipa nad skupom
obeleja, nad kojim je definisano

ER model podataka

48 / 129

Ogranienje pojave tipa


Primer
Radnik({MBR, PRZ, IME, ZAN, BPJZ}, {MBR})
Radnik

Domen

Null

Predef

MBR

DMBR

PRZ

DPRZ

IME

DIME

ZAN

DZAN

BPJZ

DBPJZ

Uslov:

ER model podataka

ZAN = prg BPJZ <>

49 / 129

Ogranienje pojave tipa


Primer
Radnik({MBR, PRZ, IME, ZAN, BPJZ}, {MBR})
Domen

Tip

Duina

Uslov

Predef

DMBR

Number

d1

DPRZ

String

30

DIME

String

15

DZAN

String

DBPJZ

Number

d0

ER model podataka

50 / 129

Sadraj

Osnovni pojmovi
Strukturalna komponenta
ER dijagrami
Integritetna komponenta
Kardinalitet tipa poveznika
Integritet tipa poveznika
N-arni tip poveznika
Gerund i agregacija
Id-zavisnost, IS-A hijerarhija i kategorizacija
Zavrne napomene

ER model podataka

51 / 129

Kardinalitet tipa poveznika


Kardinalitet TP prema povezanom tipu
par

(a, b)
a {0, 1}
minimalni kardinalitet

b {1, N}, N 2
maksimalni kardinalitet

ograniava u koliko pojava tipa poveznika moe uestvovati


jedna, bilo koja pojava povezanog tipa
minimalno (a) i
maksimalno (b)

definie se za svaki povezani tip

ER model podataka

52 / 129

Kardinalitet tipa poveznika


Primer
(1,1)
Radnik

(0,N)
Rasporeen

Radno mesto

Kardinaliteti prikazanog TP formalizuju ogranienja


(1, 1)
jedan radnik mora biti rasporeen na tano jedno radno mesto

(0, N)
na jedno radno mesto moe biti rasporeeno vie radnika, ali
ne mora ni jedan

ER model podataka

53 / 129

Kardinalitet tipa poveznika


Tri opte grupe maksimalnih kardinaliteta
M:N
N:1
1:1
uticaj na formiranje kljueva tipa poveznika

Primeri pravila definisanja i pisanja kardinaliteta


na dijagramima
binarni tipovi poveznika

ER model podataka

54 / 129

Kardinalitet tipa poveznika


Grupa M : N (vie prema vie):
(0, M)
Radnik

(0, N)
Radi

Projekat

Iva

(Iva, LiDo)

LiDo

Ana

(Iva, Fakt)

Fakt

Eva

(Ana, Sklad)

Sklad

Aca

(Ana, LiDo)

Nabav

ER model podataka

55 / 129

Kardinalitet tipa poveznika


Grupa M : N (vie prema vie):
(1, M)
Radnik

(0, N)
Radi

Projekat

Iva

(Iva, LiDo)

LiDo

Ana

(Iva, Fakt)

Fakt

Eva

(Ana, Sklad)

Sklad

Aca

(Ana, LiDo)

Nabav

(Eva, Sklad)
(Aca, Sklad)

ER model podataka

56 / 129

Kardinalitet tipa poveznika


Grupa M : N (vie prema vie):
(1, M)
Radnik

(1, N)
Radi

Projekat

Iva

(Iva, LiDo)

LiDo

Ana

(Iva, Fakt)

Fakt

Eva

(Ana, Sklad)

Sklad

Aca

(Ana, LiDo)

Nabav

(Eva, Sklad)
(Aca, Nabav)
ER model podataka

57 / 129

Kardinalitet tipa poveznika


Grupa N : 1 (vie prema jedan):
(0, 1)
Radnik

(0, N)
Rasporeen

Radno mesto

Iva

(Iva, Projekt)

Projekt

Ana

(Ana, Projekt)

Program

Eva

(Eva, Sekret)

Sekret

Aca

ER model podataka

Direkt

58 / 129

Kardinalitet tipa poveznika


Grupa N : 1 (vie prema jedan):
(1, 1)
Radnik

(0, N)
Rasporeen

Radno mesto

Iva

(Iva, Projekt)

Projekt

Ana

(Ana, Projekt)

Program

Eva

(Eva, Sekret)

Sekret

Aca

(Aca, Projekt)

Direkt

ER model podataka

59 / 129

Kardinalitet tipa poveznika


Grupa N : 1 (vie prema jedan):
(0, 1)

Radnik

(1, N)

Rasporeen

Radno mesto

Iva

(Iva, Program)

Projekt

Ana

(Ana, Projekt)

Program

Eva

(Eva, Sekret)

Sekret

Aca

(Aca, Projekt)

Direkt

Pera

(Pera, Direkt)

Mira
ER model podataka

60 / 129

Kardinalitet tipa poveznika


Grupa N : 1 (vie prema jedan):
(1, 1)
Radnik

(1, N)
Rasporeen

Radno mesto

Iva

(Iva, Program)

Projekt

Ana

(Ana, Projekt)

Program

Eva

(Eva, Sekret)

Sekret

Aca

(Aca, Projekt)

Direkt

Pera

(Pera, Direkt)

Mira

(Mira, Direkt)

ER model podataka

61 / 129

Kardinalitet tipa poveznika


Grupa 1 : 1 (jedan prema jedan):
(0, 1)
Radnik

(0, 1)
Je

Osiguranik

Iva

(Iva, Polisa2)

Polisa1

Ana

(Ana, Polisa1)

Polisa2

Eva

(Eva, Polisa3)

Polisa3

Aca

ER model podataka

Polisa4

62 / 129

Kardinalitet tipa poveznika


Grupa 1 : 1 (jedan prema jedan):
(1, 1)
Radnik

(0, 1)
Je

Osiguranik

Iva

(Iva, Polisa2)

Polisa1

Ana

(Ana, Polisa1)

Polisa2

Eva

(Eva, Polisa3)

Polisa3
Polisa4

ER model podataka

63 / 129

Kardinalitet tipa poveznika


Grupa 1 : 1 (jedan prema jedan):
(1, 1)
Radnik

(1, 1)
Je

Osiguranik

Iva

(Iva, Polisa2)

Polisa1

Ana

(Ana, Polisa1)

Polisa2

Eva

(Eva, Polisa3)

Polisa3

Aca

(Aca, Polisa4)

Polisa4

ER model podataka

64 / 129

Kardinalitet tipa poveznika


Rekurzivni tip poveznika:
Tip veze 1 : N

(0, N)

Je nadreeni za

(0, 1)
Radnik

Rukovodi
Ima nadreenog

Ana

(Ana, Eva)

Ana

Eva

(Ana, Aca)

Eva

Aca

(Eva, Iva)

Aca

Iva

ER model podataka

Iva

65 / 129

Kardinalitet tipa poveznika


Rekurzivni tip poveznika:
Tip veze M : N

(0, N)

Ima komponente

(0, M)
Deo

Sastoji se

Je komponenta za
101

(101, Motor)

101

Y45

(101, Karos)

Y45

Motor

(Motor, Klip)

Motor

Karos

(Y45, Motor)

Karos

Klip

(Y45, Karos)

Klip

ER model podataka

66 / 129

Sadraj

Osnovni pojmovi
Strukturalna komponenta
ER dijagrami
Integritetna komponenta
Kardinalitet tipa poveznika
Integritet tipa poveznika
N-arni tip poveznika
Gerund i agregacija
Id-zavisnost, IS-A hijerarhija i kategorizacija
Zavrne napomene

ER model podataka

67 / 129

Integritet tipa
Integritet tipa entiteta
ogranienje kljua

Integritet tipa poveznika


niz naziva povezanih tipova, ili njegov neprazan
podniz
ogranienje kljua

ER model podataka

68 / 129

Integritet tipa poveznika


Tri opte grupe maksimalnih kardinaliteta
M : N
N : 1
1 : 1
uticaj na formiranje kljueva tipa poveznika

ER model podataka

69 / 129

Integritet tipa poveznika


Grupa M : N (vie prema vie):
Mbr

Spr
(0, M)
Radnik

(0, N)
Radi

Projekat

Integritet TP (identifikator TP) Radi:


(Radnik, Projekat)
Kp = Mbr+Spr

ER model podataka

70 / 129

Integritet tipa poveznika


Grupa N : 1 (vie prema jedan):
Mbr

ORM
(0, 1)
Radnik

(0, N)
Rasporeen

Radno mesto

Integritet TP (identifikator TP) Rasporeen:


(Radnik)
Kp = Mbr

ER model podataka

71 / 129

Integritet tipa poveznika


Grupa 1 : 1 (jedan prema jedan):
MBR

BrPol
(0, 1)
Radnik

(0, 1)
Je

Osiguranik

Integritet TP (identifikator TP) Je:


(Radnik) i (Osiguranik)
K1 = MBR i K2 = BrPol

ER model podataka

72 / 129

Integritet tipa poveznika


Grupa M : N (vie prema vie) i rekurzivni TP:
(0, N)

Ima komponente

DeID
(0, M)
Deo

Sastoji se
Je komponenta za

Integritet TP (identifikator TP) Sastoji se:


(Deo, Deo), tj.
(Deo(Ima komponente), Deo(Je komponenta za))

Kp = DeID+DeIDkom
DeIDkom preimenovano obeleje DeID
Semantika: DeID sa ulogom komponente ugradnje
ER model podataka

73 / 129

Sadraj

Osnovni pojmovi
Strukturalna komponenta
ER dijagrami
Integritetna komponenta
Kardinalitet tipa poveznika
Integritet tipa poveznika
N-arni tip poveznika
Gerund i agregacija
Id-zavisnost, IS-A hijerarhija i kategorizacija
Zavrne napomene

ER model podataka

74 / 129

N-arni tip poveznika (n > 2)


Tip poveznika moe da povezuje vie od dva
druga tipa
N-arni tip poveznika
Odreivanje kardinaliteta tipa poveznika reda n > 2:
za svaki od n povezanih tipova,
za bilo koju odabranu pojavu tipa,
utvruje se koliko se minimalno i koliko se maksimalno
puta javlja kao komponenta u pojavama tipa poveznika

ER model podataka

75 / 129

N-arni tip poveznika (n > 2)


Primer:
Tipovi entiteta: Student, Nastavnik, Predmet
Ogranienja:
jedan nastavnik moe predavati vie predmeta za vie
studenata
jedan student moe sluati vie predmeta kod vie
nastavnika
jedan predmet moe predavati vie nastavnika za vie
studenata
postoje nastavnici, koji ne predaju ni jedan predmet bilo kom
studentu
postoje studenti koji ne sluaju ni jedan predmet kod bilo kog
nastavnika
ne postoje predmeti koje ne predaje ni jedan nastavnik ni
jednom studentu

ER model podataka

76 / 129

N-arni tip poveznika (n > 2)


ER-dijagram:
(0, N)
Student

Izvoenje
nastave

(0, N)
Nastavnik

(1, N)
BRI

Ime

Predmet

OZP

ER model podataka

OZN

ImN

Naz

77 / 129

N-arni tip poveznika (n > 2)


Student

Izvoenje nastave

Nastavnik

Ana

(Ana, BPod, Pera)

Pera

Aca

(Ana, Mat1, Milan)

Milan

Iva

(Aca, BPod, Pera)

Laza

Eva

(Ana, Fiz, Pera)

Draga

(Iva, Mat2, Draga)

Predmet
Mat1
Mat2
BPod
Fiz
ER model podataka

78 / 129

Sadraj

Osnovni pojmovi
Strukturalna komponenta
ER dijagrami
Integritetna komponenta
Kardinalitet tipa poveznika
Integritet tipa poveznika
N-arni tip poveznika
Gerund i agregacija
Id-zavisnost, IS-A hijerarhija i kategorizacija
Zavrne napomene

ER model podataka

79 / 129

Gerund
Gerund
glagolska imenica
u ER modelu
tip entiteta dobijen transformacijom tipa poveznika, tj.
tip poveznika, koji predstavlja povezani tip u nekom drugom
tipu poveznika

dvojaka uloga gerunda, kao tipa


istovremeno i tip entiteta i tip poveznika
tip poveznika za neke druge, povezane tipove
tip entiteta u nekim drugim tipovima poveznika

ER model podataka

80 / 129

Gerund
Dat je TP N(N1, N2,, Nm, {B1,, Bk }, C)
neka je neki Ni, takoe, tip poveznika
Ni predstavlja gerund
Ni se ponaa kao TE u odnosu na N

Geometrijska predstava gerunda u ER


dijagramima

ER model podataka

81 / 129

Gerund
Upotreba gerunda
kada ne mogu proizvoljne kombinacije pojava
nekih tipova biti sadrane u pojavi posmatranog tipa
poveznika i
postoji pravilo koje kombinacije pojava tih tipova
mogu biti sadrane u pojavi posmatranog tipa
poveznika
tip poveznika gerund uvodi se s ciljem modeliranja tog
pravila

ER model podataka

82 / 129

Gerund
Upotreba gerunda
Primer
entiteti klasa A, B i C su u meusobnim vezama tipa (a, b, c)
uvodi se tip poveznika ABC, izmeu A, B i C

ne mogu svi (a, b) parovi entiteta iz A i B uestvovati u


vezama (a, b, c), nad tipom ABC
postoji pravilo koji (a, b) parovi iz A i B mogu uestvovati u
vezama (a, b, c), nad tipom ABC
uvodi se tip poveznika gerund AB
tip poveznika ABC povezuje AB i C
pojave tipa poveznika ABC zavise od egzistencije pojava tipa
poveznika AB

ER model podataka

83 / 129

Gerund
Upotreba gerunda
Primer

ER model podataka

AB

ABC

84 / 129

Gerund
Primer

AB

AC

ABC

Semantika
entiteti klase A su u vezi sa entitetima klase B
dobijaju se (a, b) parovi

neki (a, b) parovi su povezani sa nekim od


(a, c) parova
dobijaju se (a, b, c) trojke, povezivanjem odreenih (a, b) i (a,
c) parova sa istim a komponentama

ER model podataka

85 / 129

Gerund
Primer

AB

ABC

AC

Naizgled alternativni ER dijagram


isti kljuevi svih TP, ali
razliita semantika
pojave TP ABC ne zavise od egzistencije pojava TP AB i AC
ER model podataka

86 / 129

Gerund
Primer
Klase entiteta
Radnik, Maina i Deo

Odnosi:
radnik r je osposobljen za rad na maini m
na maini m se moe proizvesti deo d
radnik r, na nekim od onih maina m, za koje je osposobljen,
izrauje neke od onih delova d, koji se na maini m mogu
proizvesti
radnik r odrava mainu m
radnici na odravanju mogu, a ne moraju da rade na
proizvodnji delova

ER model podataka

87 / 129

Gerund
Primer
Odrava

Radnik

Osposobljen

Maina

Proizvodi

Moe
proizvesti

Deo

Napomena
radnik r, koji je osposobljen za mainu m i radnik koji odrava
mainu m, mogu biti razliiti, jer su TP Odrava i gerund
Osposobljen meusobno nezavisni
ER model podataka

88 / 129

Gerund
Radnik

Maina

Deo

Ana

m1

d1

Aca

m2

d2

Eva

m3

d3

Odrava

Osposobljen

Moe proizvesti

(Ana, m1)

(m1, d1)

(Aca, m2)

(m1, d2)

(Ana, m3)

(m2, d3)

(Aca, m1)

Proizvodi

(Aca, m2)

(Ana, m1, d1)

(Eva, m3)

(Aca, m2, d3)

ER model podataka

89 / 129

Agregacija
Agregacija
obezbeuje objedinjavanje sloenijih ER struktura
cela ER struktura se posmatra kao jedan tip entiteta
predstavlja povezani tip za neki TP
moe predstavljati korisniki pogled na BP ("virtuelni" TE)

najjednostavniji primer agregacije


gerund

Geometrijska predstava agregacije u ER dijagramima

ER model podataka

90 / 129

Agregacija
Primer
A

AB

ABC

alternativni dijagram u ovom primeru:

ER model podataka

AB

ABC

91 / 129

Sadraj

Osnovni pojmovi
Strukturalna komponenta
ER dijagrami
Integritetna komponenta
Kardinalitet tipa poveznika
Integritet tipa poveznika
N-arni tip poveznika
Gerund i agregacija
Id-zavisnost, IS-A hijerarhija i kategorizacija
Zavrne napomene

ER model podataka

92 / 129

Slabi tip entiteta


Slabi tip entiteta
tip entiteta ije su pojave zavisne od pojava nekog
drugog TE

Vrste zavisnosti slabih TE


egzistencijalna
identifikaciona

ER model podataka

93 / 129

Egzistencijalna zavisnost
Egzistencijalna zavisnost
izmeu pojava dva tipa entiteta
postoji kada je minimalni kardinalitet tipa poveznika
(a) jednak 1

Regularni tip entiteta


tip entiteta koji nije u egzistencijalnoj zavisnosti

ER model podataka

94 / 129

Egzistencijalna zavisnost
Primer:
(1, 1)
Radnik

(0, N)
Rasporeen

Radno mesto

Regularni TE: Radno_mesto


Slabi TE:
Radnik
egzistencijalno zavisan od TE Radno_mesto
Ako se ukine radno mesto, radnik gubi posao
Radnik - egzistencijalno zavisni TE

ER model podataka

95 / 129

Identifikaciona zavisnost
Identifikaciona zavisnost slabog tipa entiteta
poseban sluaj egzistencijalne zavisnosti
postoji ako i samo ako su i minimalni i maksimalni
kardinalitet TP prema slabom TE jednaki 1
(a, b) = (1, 1)

u semantikom smislu, poseban koncept u ER


modelu podataka
uvodi klasifikaciju tipova poveznika
neidentifikacioni TP
identifikacioni TP

ER model podataka

96 / 129

Identifikaciona zavisnost
Identifikacioni tip poveznika
reprezentuje identifikacionu zavisnost slabog TE
ukazuje da se svaka pojava zavisnog TE moe
identifikovati samo uz pomo identifikatora
nadreenog TE
identifikator (klju) zavisnog TE se formira
korienjem identifikatora (kljua) nadreenog TE

ER model podataka

97 / 129

Identifikaciona zavisnost
Identifikacioni tip poveznika
geometrijska predstava u ER dijagramima
(a, b)

(1, 1)

opcionalno, id-zavisni TE se moe predstaviti oblikom

navoenje kardinaliteta (1, 1) nije obavezno


podrazumeva se i esto se izostavlja
ER model podataka

98 / 129

Identifikaciona zavisnost
Primer:
Mbr

Ime
(0, N)

Radnik

Ima
Dete
Radnik
ER model podataka

Ima

Dete

- identifikacioni TP
- identifikaciono zavisni TE
- nadreeni (regularni) TE
99 / 129

Identifikaciona zavisnost
Identifikaciono zavisni TE moe posedovati
neprazan skup sopstvenih identifikacionih
obeleja
primer za TE Dete: Ime

Bilo koja pojava id-zavisnog TE se moe


identifikovati iskljuivo navoenjem:
vrednosti njegovih identifikacionih obeleja i
vrednosti identifikatora (kljua) nadreenog TE

ER model podataka

100 / 129

Identifikaciona zavisnost
Identifikator id-zavisnog TE Ni
(N, X)
N
X

- naziv nadreenog TE
- skup identifikatorskih obeleja TE Ni

Klju id-zavisnog TE Ni
Ki = K X
K

ER model podataka

- klju nadreenog TE

101 / 129

Identifikaciona zavisnost
Primer
Identifikator id-zavisnog TE Dete

(Radnik, {Ime})
Klju id-zavisnog TE Dete

Ki = Mbr+Ime

Napomene
regularni TE moe uestvovati kao id-zavisan
povezani tip u nekom drugom TP
id-zavisni TE moe uestvovati i kao id-zavisan i kao
regularan u vie razliitih TP
ER model podataka

102 / 129

IS-A hijerarhija
Tip poveznika IS-A hijerarhija
poseban koncept - tip poveznika u EER modelu
zahteva uvoenje superklase i potklase

Superklasa (nadtip) i potklasa (podtip)


predstavljaju posebne vrste tipova
pojmovi vezani za postupak specijalizacije, odnosno
generalizacije, svojstvene semantikim modelima
podataka

ER model podataka

103 / 129

IS-A hijerarhija
Specijalizacija
primenjuje se kada neki skup entiteta ili poveznika superklasa poseduje prepoznatljive podskupove
(potklase) sa:
samo sebi svojstvenim obelejima, ili
samo sebi svojstvenim vezama sa drugim klasama entiteta ili
poveznika

ER model podataka

104 / 129

IS-A hijerarhija
Date su klase:
E1 = {ei | P1(ei)}
E2 = {ei | P2(ei)}

Uoava se implikacija:
P2(ei) P1(ei)

Tada vai:
E2 E1
E1 se naziva superklasom (nadtipom)
E2 se naziva potklasom (podtipom)

ER model podataka

105 / 129

IS-A hijerarhija
Pojmovi superklase i potklase se uvode
da bi model statike strukture realnog sistema bio
semantiki bogatiji
da bi se izbegle nula vrednosti u ekstenziji
da bi se izbeglo definisanje tipa poveznika, koji nema
mnogo smisla

ER model podataka

106 / 129

IS-A hijerarhija
Specijalizacija se vri na osnovu vrednosti
nekog skupa klasifikacionih obeleja
U tipu entiteta superklase ostaju
sva zajednika obeleja i
primarni klju

U tipove entiteta - potklase distribuiraju se samo


svojstvena, specifina obeleja

ER model podataka

107 / 129

IS-A hijerarhija
Tip poveznika IS-A hijerarhija
geometrijska predstava u ER
dijagramima

(a, b)

(1, 1)

opcionalno, TE potklasa se moe


predstaviti oblikom
navoenje kardinaliteta (a, b) je obavezno - tip IS-A
Kardinaliteti (1, 1) prema potklasama se mogu
izostaviti
ER model podataka

108 / 129

IS-A hijerarhija
Tip IS-A hijerarhije
definie se kardinalitetima tipa poveznika IS-A
hijerarhija na strani superklase

Minimalni kardinalitet (a)


1
0

- Totalna IS-A hijerarhija


- Parcijalna IS-A hijerarhija

Maksimalni kardinalitet (b)


1
N
ER model podataka

- Nepresena IS-A hijerarhija


- Presena IS-A hijerarhija
109 / 129

IS-A hijerarhija
Primer:
inicijalni tip entiteta superklasa
Radnik({Mbr, Ime, Prz, Zan, Klas, Spec, BrPJz},{Mbr})
klasifikaciono obeleje
Zan - zanimanje radnika

ER model podataka

110 / 129

IS-A hijerarhija
Mbr

Ime

Prz

Zan

Pisaa_maina
(0, 1)

Radnik
(0, 1)
IS-A

Radi

Zan

(1, 1)
Projektant

Programer

Daktilograf

Spec

BrPJz

Klas

ER model podataka

111 / 129

IS-A hijerarhija
Bitne karakteristike
Nasleivanje osobina superklase
Klju (identifikator) svake potklase je primarni klju
(identifikator) superklase nasleivanje kljueva
pojave potklase se identifikuju putem vrednosti primarnog
kljua odgovarajue pojave superklase

Potklase mogu imati svoje sopstvene kljueve


Identifikaciona zavisnost svake potklase prema
superklasi
Potklasa moe imati ulogu superklase u drugoj IS-A
hijerarhiji
Nad jednim tipom moe se napraviti vie razliitih ISA hijerarhija, koristei razliite kriterijume
ER model podataka

112 / 129

Kategorizacija
Tip poveznika kategorizacije
poseban koncept - tip poveznika u EER modelu
pojam vezan za postupak klasifikacije (tipizacije),
svojstvene semantikim modelima podataka
zahteva uvoenje pojma kategorije

ER model podataka

113 / 129

Kategorizacija
Kategorija
predstavlja posebnu vrstu tipa (TE, ili TP gerunda)
jedan TE se povezuje s vie kategorija (barem dve)
svaka pojava posmatranog TE pripada najvie jednoj
kategoriji
"ekskluzivni tip poveznika" prema kategorijama

ne postoji id-zavisnost posmatranog TE od kategorija,


ili obratno
posmatrani TE i kategorije su meusobno nezavisni
(regularni) tipovi

moe, a ne mora postojati skup klasifikacionih


obeleja kategorije

ER model podataka

114 / 129

Kategorizacija
Tip poveznika kategorizacije
geometrijska predstava u ER dijagramima
(a1, b1)

(a2, 1)

navoenje kardinaliteta (a, 1) je obavezno


a2 definie tip kategorizacije
0 parcijalna kategorizacija
1 totalna kategorizacija

ER model podataka

115 / 129

Kategorizacija
Primer:

Fiziko lice

Pravno lice
(0, N)
EX-OR

(1, 1)
lan kluba

Semantika
lan kluba mora biti ili pravno, ili fiziko lice
pravno ili fiziko lice moe ostvariti vie, a ne mora ostvariti ni
jedno lanstvo u klubu
ER model podataka

116 / 129

Sadraj

Osnovni pojmovi
Strukturalna komponenta
ER dijagrami
Integritetna komponenta
Kardinalitet tipa poveznika
Integritet tipa poveznika
N-arni tip poveznika
Gerund i agregacija
Id-zavisnost, IS-A hijerarhija i kategorizacija
Zavrne napomene

ER model podataka

117 / 129

Uloga ER modela u projektovanju


Izuzetno pogodan za rane korake projektovanja
Pojam konceptualne i implementacione eme
Dijagramska tehnika je pogodna za
komunikaciju sa korisnicima
Postoje heuristika pravila projektovanja
konceptualne eme BP
na osnovu deskriptivnog opisa strukture i ogranienja
u realnom sistemu

Ne postoje standardi dijagramske reprezentacije

ER model podataka

118 / 129

Uloga ER modela u projektovanju


Neka heuristika pravila
Imenice ukazuju na potrebu uvoenja tipova entiteta
Glagolski oblici ukazuju na potrebu uvoenja tipova
poveznika ili gerunda
Fraze oblika bar jedan, vie, najmanje jedan i
sline, ukazuju na kardinalitete tipova poveznika ili
gerunda
Postojanje razliitih uloga entiteta jednog skupa u
vezama sa entitetima drugih skupova, ukazuje na
potrebu uvoenja vie tipova poveznika izmeu
odgovarajuih tipova entiteta

ER model podataka

119 / 129

Uloga ER modela u projektovanju


Neka heuristika pravila
Preporuljivo je da se uloge entiteta u vezama
eksplicitno navedu
Veze izmeu entiteta jednog skupa ukazuju na
potrebu uvoenja rekurzivnog tipa poveznika
Kod rekurzivnih veza je posebno vano da se uloge
entiteta eksplicitno navedu
Vremensko prethoenje entiteta jednog skupa u
odnosu na entitete nekog drugog skupa, ukazuje na
egzistencijalnu zavisnost entiteta drugog skupa od
entiteta prvog skupa i potrebu uvoenja minimalnog
kardinaliteta a = 1

ER model podataka

120 / 129

Uloga ER modela u projektovanju


Neka heuristika pravila
Potreba takvog selektivnog povezivanja entiteta tri ili
vie skupova, kod kojeg u vezi mogu uestvovati
samo entiteti koji su ve u nekoj drugoj vezi sa
entitetima jednog ili vie drugih skupova, ukazuje na
neophodnost korienja gerunda
Postojanje entiteta jednog skupa sa specifinim
osobinama ili vezama sa entitetima drugih skupova,
ukazuje na potrebu uvoenja IS-A hijerarhije

ER model podataka

121 / 129

Uloga ER modela u projektovanju


Neka heuristika pravila
Svako obeleje moe pripadati samo jednom tipu
entiteta, ili samo jednom tipu poveznika
Nasleena obeleja kljua tipa poveznika se ne
ukljuuju u sam skup obeleja tipa poveznika
Tip entiteta ili tip poveznika sadri samo ona obeleja
realnog skupa entiteta, ili realnog skupa poveznika,
koja su bitna za realizaciju ciljeva postavljenih pred
informacioni sistem

ER model podataka

122 / 129

Varijante u dijagramskom oznaavanju


Mbr

OzRm
(1,1)

(0,N)
Rasporeen

Radnik

Radno mesto

Mbr

OzRm
(0,N)

(1,1)
Rasporeen

Radnik

Radno mesto

Mbr

OzRm
(1,1)

(0,*)
Rasporeen

Radnik

Radno mesto

Mbr

OzRm
(1,1)
Radnik

ER model podataka

(0,N)
Rasporeen

Radno mesto

123 / 129

Varijante u dijagramskom oznaavanju


Mbr

OzRm
(1,1)

(0,N)
Rasporeen

Radnik

Radno mesto

Mbr

OzRm
Radnik

Radno mesto

Mbr

OzRm
Radnik

Radno mesto

Mbr

OzRm
1
Radnik

ER model podataka

N
Rasporeen

Radno mesto

124 / 129

Varijante u dijagramskom oznaavanju


Mbr

OzRm

(1,1)

(0,N)
Rasporeen

Radnik

Radno mesto

Radnik

Radno mesto

Mbr

Radnik
Mbr

ER model podataka

OzRM

0..*

1..1

Radno mesto
OzRM

125 / 129

Varijante u dijagramskom oznaavanju


Mbr

OzPrj

(1,N)
Radnik

(0,N)
Rasporeen

Projekat

Radnik

Projekat

Mbr

OzPrj

Radnik
Mbr

ER model podataka

Rasporeen
...

Projekat
OzPrj

126 / 129

Varijante u dijagramskom oznaavanju


Mbr

OzPrj

(1,N)
Rasporeen

Radnik

Radnik

(0,N)

0..*

Projekat

1..*

Mbr

Projekat
OzPrj

Rasporeen
...

ER model podataka

127 / 129

Sadraj

Osnovni pojmovi
Strukturalna komponenta
ER dijagrami
Integritetna komponenta
Kardinalitet tipa poveznika
Integritet tipa poveznika
N-arni tip poveznika
Gerund i agregacija
Id-zavisnost, IS-A hijerarhija i kategorizacija
Zavrne napomene

ER model podataka

128 / 129

Pitanja i komentari

?
ER model podataka

129 / 129

Baze podataka

Model podataka tipova


entiteta i poveznika
ER model podataka

ER model podataka

You might also like