You are on page 1of 10

Pravila prevo enja

ENTITY-RELATIONSHIP (ER) MODELA U RELACIONI MODEL PODATAKA

PREVO! ENJE MODELA OBJEKTI-VEZE (ENTITY-RELATIONSHIP ili ER MODELA) U RELACIONI MODEL


Pri prevo enju jednog modela podataka u drugi ne zna#i da svakom konceptu strukture jednog modela mora odgovarati koncept strukture drugog modela, svakoj operaciji jednog modela da mora odgovarati operacija drugog modela i svakom eksplicitnom ograni ! enju jednog modela da mora odgovarati eksplicitno ograni! enje drugog modela. Kod prevo enja jednog semanti! ki bogatog modela (modela III generacije) u semanti ! ki manje bogat model (model II generacije) dolaze do izra$aja prethodno navedena neslaganja. Po pravilu se deo semantike iskazan strukturom semanti! ki bogatog modela mora predstaviti eksplicitnim organi ! enjima semanti! ki manje bogatog modela. Iz toga neposredno sledi da apstraktnoj operaciji semanti! ki bogatog modela odgovara procedura semanti ! ki manje bogatog modela. S obzirom da za sada ne postoji komercijalno raspolo $ivi SUBP zasnovan na MOV (Model Objekti Veze ili ER model) to je u prakti! noj realizaciji potrebno model podataka izra en prema MOV prevesti u neki od modela za koji postoji SUBP. Kako za relacioni model podataka postoje vi & e komercijalnih softvera, prevo enje iz MOV naj! e& ( e se vr& i u relacioni model podataka. Model objekti-veze-obele$ja je semanti! ki bogat model (model III generacije), dok je relacioni model semanti! ki manje bogat (model II generacije), pa sve do sada re ! eno za prevo enje semanti! ki bogatog u semanti! ki manje bogat model u potpunosti va $i i za njih. Prevo enje MOV u relacioni model izvodi se na slede ( i na! in: 1. Deo strukture MOV, odnosno DOV (Dijagram Objekti Veze) se predstavlja relacionom & emom. 2. Ograni! enja, operacije i deo strukture MOV se predstavljaju operacijama za o ! uvanje integriteta definisanja nad relacionim modelom, a implementiraju kori & ( enjem sredstava odabranog relacionog SUBP. Ovde se razmatranja odnose samo na prevo enje ERD u relacioni model. Kao rezultat prevo enja ERD dobija se relaciona & ema baze podataka sa odgovaraju( im pravilima integriteta. Na osnovu skupa pravila koja se u prevo enju primenjuju, postupak prevo enja ERD u relacioni model mo $e biti formalizovan i automatizovan. Postoje vi& e postupaka za prevo enje ERD u relacioni model podataka, a ovde se izla$e jedan prakti! an koji se mo$e i automatizovati.

POSTUPAK PREVO! ENJA 1. Pravila za objekte (entitete): 1.1. Svaki objekat iz ERD postaje & ema relacije. Ime tipa entiteta postaje ime & eme relacije. Obele$ja objekta su obele$ja & eme relacije. Za osnovne objekte identifikator objekta (entiteta) postaje primarni klju ! & eme relacije. 1.2. Svaki slab objekat tako e postaje & ema relacije. Ime tipa objekta postaje ime & eme relacije. Obele $ja objekta su obele$ja & eme relacije. Identifikator nadre enog objekta postaje jedno od obele$ja & eme relacije koja odgovara slabom objektu. Identifikator slabog objekta ! ini identifikator nadre enog objekta i obele$ja slabog objekta koja jedinstveno identifikuju pojavljivanje slabog objekta u okviru pojavljivanja njemu nadre enog objekta. Na primer, za ERD dat na slici:

Prevo enjem u relacioni model primenom do sad definisanih pravila dobijamo slede ( e & eme relacija:
drzava (sDrz, nazivDrz) proizvodjac (sDrz, sPro, nazivP) (prema pravilu 1.1) (prema pravilu 1.2)

1.3. Objekat nadtip (generalizovani tip objekta) postaje & ema relacije. Ime nadtipa postaje ime & eme relacije. Obele $ja nadtipa su obele$ja & eme relacije. Identifikator nadtipa postaje klju! & eme relacije. 1.4. Objekat podtip tako e postaje & ema relacije. Ime podtipa postaje ime & eme relacije. Obele$ja podtipa su obele$ja & eme relacije. Identifikator nadtipa prestavlja klju ! & eme relacije.

ERD dat na slede( oj slici:


ime jmbg
vrstaPosla

datumRod

radnik
(1,1)
obavljaPosao

IS_A

nastavnik

sluzbenik

odrzavanje

datumIzb

zvanje

stSprema

zanimanje

prevodi se u relacioni model sa slede ( im & emama relacija:


radnik (jmbg, ime, datumRod, vrstaPosla) nastavnik (jmbg, zvanje, datumIzb) sluzbenik (jmbg, stSprema) odrzavanje (jmbg, zanimanje) (prema pravilu 1.3) (prema pravilu 1.4) (prema pravilu 1.4) (prema pravilu 1.4)

ERD dat na slede( oj slici:


ime jmbg
vrstaPosla

datumRod

RADNIK
(0,M)
radnikAkt

IS_A

radnikStudent

radnikSportista

fakultet

datumUpisa

sport

prevodimo u relacioni model sa slede( im & emama relacija:


radnik (jmbg, ime, datumRod, vrstaPosla) radnikStudent (jmbg, fakultet, datumUpisa) radnikSportista (jmbg, sport) (prema pravilu 1.3) (prema pravilu 1.4) (prema pravilu 1.4)

2. Pravila za binarne veze: 2.1. Veza sa kardinalno #u 1:1 Veze tipa 1:1 po pravilu nemaju obele$ja. Sva obele $ja koja bi eventualno mogla biti pripisana samoj vezi, zapravo su obele$ja jednog od objekata koji ! ine tu vezu. Dakle, mogu biti pripisana tom objektu, a time postati obele $ja & eme relacije kojom se taj tip objekta predstavlja. 2.1.1. Vezu sa kardinalno& ( u (1,1) : (1,1) i oba objekta koji u njoj u ! estvuju prevodimo u jednu & emu relacije, ! ija su obele$ja sva obele$ja jednog i drugog objekta. Kandidat za klju! u ovoj & emi relacije su identifikatori jednog i drugog objekta koji su u vezi. 2.1.2. Vezu sa kardinalno& ( u (0,1) : (1,1) i objekte u vezi prevodimo u dve & eme relacije. Za svaki objekat u vezi po jedna & ema relacije (prema ve( definisanom pravilu 1.1), s tim & to se identifikator jednog od objekta koji su u vezi ubaci za obele $je druge & eme relacije. Dakle, veza se prestavlja spoljnim klju em. * emu relacije u koju ( emo uvrstiti spoljni klju ! biramo tako da relacija sadr$i & to manje nula , vrednosti i da njeno kori & ( enje bude & to efikasnije. ERD dat na slici:
radnik
(0,1)

rukovodi

(1,1)

rJedinica

jmbg

imeRad

sprema

sJed

jedNaz

prevodimo u relacioni model sa slede( im & emama relacija:


a) rJedinica (sJed, jedNaz) radnik (jmbg, imeRad, sprema, sJed) (prema pravilu 1.1) (prema pravilu 1.1 i 2.1.2)

ili
b) rJedinica (sJed, jedNaz, jmbg) radnik (jmbg, imeRad, sprema) (prema pravilu 1.1 i 2.1.2) (prema pravilu 1.1)

* eme relacija pod a) uzrokovale bi da svaka n-torka za svakog radnika koji nije rukovodilac ima nula , vrednost obele$ja sJed (tj. spoljni klju! ). Prema & emama relacija pod b), s obzirom da radna jedinica obavezno ima rukovodioca, predstavljanje veze RUKOVODI spoljnim klju ! em u & emi relacije rJedinica dovodi do pojave nula , vrednosti.

Prema tome, pravilo za prevo enje veze sa kardinalno& ( u (0,1) : (1,1) je njeno predstavljanje spoljnim klju! em u & emi relacije objekta sa strane (1,1). 2.1.3. Za vezu sa kardinalno& ( u (0,1) : (0,1) kreiraju se tri & eme relacije. Po jedna za svaki objekat (prema ve( definisanom pravilu 1.1) i jedna za vezu. Obele $ja u & emi relacije koja odgovaraju vezi su i identifikatori objekata koji su u vezi i oba su kandidati za klju! . ERD dat na slici:
kandidat
(0,1)

upis

(0,1)

student

sKand

imeKand

ocena

brojInd

imeStud

smerStud

prevodimo u relacioni model sa slede( im & emama relacija:


kandidat (sKand, imeKand, ocena) student (brojInd, imeStud, smerStud) upis (brojInd, sKand) (prema pravilu 1.1) (prema pravilu 1.1) (prema pravilu 2.1.3)

Alternativno & ema relacije UPIS mo$e za primarni klju ! imati sKand umesto brojInd. 2.2. Veze sa kardinalno& ( u (1,1) : (0,M) i (1,1) : (1,M) ne postaju posebne & eme relacija. Identifikator objekta sa strane za koju je gornja granica kardinaliteta preslikavanja GG = M postaje obele $je & eme relacije koja odgovara objektu sa strane za koju je GG = 1. ERD dat na slici:
predmet
(1,1)

pripada

(0,M)

katedra

sPred

naziv

sKat

nazivK

prevodimo u relacioni model sa slede( im & emama relacija:


predmet (sPred, naziv, sKat) katedra (sKat, nazivK) (prema pravilu 1.1 i 2.2) (prema pravilu 1.1).

ERD dat na slici:


opstina
(1,1)

ima

(1,M)

okrug

sOps

nazivOps

sOkr

nazivOkr

prevodimo u relacioni model sa slede( im & emama relacija:


opstina (sOps, nazivOps, sOkr) okrug (sOkr, nazivOkr) (prema pravilu 1.1 i 2.2) (prema pravilu 1.1).

2.3. Veza izme u nadre enog i slabog objekta kao i veza izme u nadtipa i podtipa ne postaju posebne & eme relacija. One su ve ( ostvarene pravilima 1.2, 1.3 i 1.4. 2.4. Veze sa kardinalno& ( u (0,1) : (0,M) i (0,1) : (1,M) postaju posebne & eme relacija. Obele$ja ove & eme relacije su identifikatori objekata koji su u vezi, a klju ! & eme relacije je identifikator objekta za koji je GG = 1. ERD dat na slici:
predmet
(0,M)

koristi

(0,1)

udzbenik

sPred

naziv

invBroj

naslov

prevodimo u relacioni model sa slede( im & emama relacija:


predmet (sPred, naziv) ud benik (invBroj, naslov) koristi (invBroj, sPred) (prema pravilu 1.1) (prema pravilu 1.1) (prema pravilu 2.4)

ERD dat na slici:


predmet
(0,1)

predaje

(1,M)

nastavnik

sPred

naziv

sNas

prezIme

prevodimo u relacioni model sa slede( im & emama relacija:

predmet (sPred, naziv) nastavnik (sNas, prezIme) predaje (sPred, sNas)

(prema pravilu 1.1) (prema pravilu 1.1) (prema pravilu 2.4)

2.5. Veze sa kardinalno& ( u preslikavanja (0,M) : (0.N), (1,M) : (0,N) i (1,M) : (1,N) postaju posebne & eme relacija. Obele$ja ove & eme relacije su identifikatori objekata koji su u vezi, a klju! & eme relacije je slo$eni klju! koji se sastoji od identifikatora objekata koji su u vezi. ERD dat na slici:
predmet
(0,M)

polozio

(0,N)

student

sPred

naziv

brojInd

prezIme

smerStud

prevodimo u relacioni model sa slede( im & emama relacija:


predmet (sPred, naziv) student (brojInd, prezIme, smerStud) polo io (brojInd, sPred) (prema pravilu 1.1) (prema pravilu 1.1) (prema pravilu 2.5)

2.6. Argegirani objekat (me & oviti tip objekat-veza, gerund) se posmatra na isti na! in kao i odgovaraju( a veza. Ukoliko veza poseduje obele$je ista postaju obele$ja & eme relacije veze kada se veza prevodi u posebnu & emu relacije ili se uklju! uju u onu & emu relacije u koju se upisuje spoljni klju ! . Na primer, ERD sa slede ( e slike:
fondCas

predmet

(0,M)

predaje

(0,N)

nastavnik

sPred

naziv

sNast

prezime

ime

(isprekidana linija na slici zna! i da je gerund, prirodno, u vezi sa jo&nekim poveznikom koji ovde nije prikazan)

prevodimo u slede( e & eme relacija:


predmet (sPred, naziv) nastavnik (sNast, prezime, ime) predaje (sPred, sNast, fondCas) (prema pravilu 1.1) (prema pravilu 1.1) (prema pravilu 2.6)

3. Pravila za unarne veze Prevo enje unarnih veza (unarnom nazivamo vezu izme# u dva objekta istog tipa) u relacioni model podataka zavisi od kardinalnosti tipa veze i izvodi se kao i za druge tipove ranije opisanih binarnih veza. Napomenimo da kod unarne veze tipa (1:1) parcijalnost samo na jednoj strani veze, odnosno totalnost samo na jednoj strani veze, ne bi imalo smisla. Naime, time bi se istom tipu objekta istovremeno dopu & talo i poricalo opicono u! estvovanje u vezi. Pri prevo enju unarnih veza s obzirom da bi spoljni klju! u & emi relacije imao isto ime kao i primarni klju ! , vr& imo njegovog preimenovanje.
pripada (0,1)

osoba
ima (0,1)

brak

jmbg

ime

prezime

Model podataka dat ERD na slici gore predstavlja situaciju shvatanja braka u na & im uslovima. Naime, jedna osoba nije u vezi ni sa jednom drugom osobom (nije u braku) ili je u braku sa samo jednom osobom. Prevo enjem u relacioni model dobijamo slede ( e & eme relacija:
osoba (jmbg, ime, prezime) brak (jmbg, jmbgBracniDrug) (prema pravilu 1.1) (prema pravilu 2.1.3)

U& emi relacije BRAK za klju ! relacije mogli smo odabrati jmbgBracniDrug umesto jmbg. Model podataka dat na slici:
rukovodjen od (0,1)

radnik
rukovodi sa (0,M)

rukovodi

jmbg

ime

prezime

predstavlja situaciju u kojoj jedan radnik mo $e da rukovodi sa vi& e radnika i mo$e imati jednog nadre enog rukovodioca. Svaki radnik ne mora imati nadre enog rukovodioca i svaki radnik ne mora biti rukovodilac. Prevo enjem u relacioni model dobijamo slede ( e & eme relacija:
radnik (jmbg, ime, prezime) rukovodi (jmbg, jmbgRukovodilac) (prema pravilu 1.1) (prema pravilu 2.4)

Model podataka dat putem ERD na slici:

u sastavu

(0,M)

proizvod
sastoji se (0,N)

sastav

sProizvoda

nazivP

predstavlja model sastavnice u kojem jedan proizvod mo $e sam da predstavlja sastavljeni objekat ili se sastoji od jednog ili vi & e objekata koji ulaze u sastav . Prevo enjem u relacioni model dobijamo slede ( e & eme relacija:
proizvod (sProizvoda, nazivP) sastav (sProizvoda, sProizvodaUSastavu) (prema pravilu 1.1) (prema pravilu 2.5).

You might also like