1
Pravilo 1. Svaki tip entiteta ER modela postaje relaciona šema sa istim imenom. Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. Pravilo 3. Primarni ključ entiteta postaje primarni ključ relacione šeme. 2
MOV Šifra Predmet Naziv Predmet Šifra Naziv 101 Informacioni sistemi 102 Proizvodni sistemi 103 Menadžment 104 Upravljanje kvalitetom Relacioni model: Predmet {{sifra,naziv},{sifra}} primarni ključ 3
Tip poveznika P koji povezuje tip entiteta E 1 sa tipom entiteta E 2 pevodi se: putem posebne šeme relacije (M:N) ili putem prostiranja ključa (1:N, 1:1) 4
- Strukture sa kardinalitetima grupe M:N MOV mbr ime prz brc ozp nazp Radnik (0,M) Radi (0,N) Projekat Relacioni model: S = { Radnik {{mbr,ime,prz}, {mbr}}, Projekat {{ozp, nazp}, {ozp}}. Radi {{mbr, ozp, brc}, {mbr+ozp}}} posebna šema relacije I = { Radi[mbr] Radnik[mbr], Radi[ozp] Projekat[ozp] } G = { mbr ime+prz, ozp nazp, mbr+ozp brc } 5
- Strukture sa kardinalitetima grupe M:N MOV Radnik (0,M) Radi (1,N) Projekat Relacioni model: S= { Radnik {{mbr,ime,prz}, {mbr}}, Projekat {{ozp, nazp}, {ozp}}, Radi{{mbr, ozp, brc}, {mbr+ozp}} } I = { Radi[mbr] Radi[ozp] Radnik[mbr], Projekat[ozp], Projekat[ozp] Radi[ozp] } G = { mbr ime+prz, ozp nazp, mbr+ozp brc } 6
MOV - Strukture sa kardinalitetima grupe M:N Radnik (1,M) Radi (1,N) Projekat Relacioni model: S = { Radnik {{mbr,ime,prz}, {mbr}}, Projekat {{ozp, nazp}, {ozp}}, Radi {{mbr, ozp, brc}, {mbr+ozp}} } I = { Radi[mbr] Radi[ozp] Projekat[ozp] Radnik[mbr], Projekat[ozp], Radi[ozp], Radnik[mbr] Radi[mbr] } G = {mbr ime+prz, ozp nazp, mbr+ozp brc } 7
MOV - Strukture sa kardinalitetima grupe 1:N mbr ime prz ozrm nrm Radnik (0,1) (0,N) Raspoređen Radno mesto U relacionom modelu: S = { Radnik{{mbr,ime,prz,ozrm}, {mbr}}, - prostiranje ključa Radno_mesto{{ozrm, nrm}, {ozrm}} } I = { Radnik[ozrm] Radno_mesto[ozrm]} G = { mbr ime+prz+ozrm, ozrm nrm } 8
MOV - Strukture sa kardinalitetima grupe 1:N Radnik (1,1) (0,N) Raspoređen Radno mesto U relacionom modelu: S= { Radnik {{mbr,ime,prz,ozrm}, {mbr}}, Radno_mesto {{ozrm, nrm}, {ozrm}} } I = { Radnik[ozrm] Radno_mesto[ozrm], Null(Radnik,ozrm) = } G = { mbr ime+prz+ozrm, ozrm nrm } 9
- Strukture sa kardinalitetima grupe 1:N MOV Radnik (0,1) (1,N) Raspoređen Radno mesto U relacionom modelu: S= { Radnik {{mbr,ime,prz,ozrm}, {mbr}}, Radno_mesto {{ozrm, nrm}, {ozrm}} } I = { Radnik[ozrm] Radno_mesto[ozrm], Radno_mesto[ozrm] Radnik [ozrm] } ( ne postoji radno mesto koje nije dodeljeno nekom radniku ) G = {mbr ime+prz+ozrm, ozrm nrm} 10
- Strukture sa kardinalitetima grupe 1:N MOV Radnik (1,1) (1,N) Raspoređen Radno mesto U relacionom modelu: S= { Radnik {{mbr,ime,prz,ozrm}, {mbr}}, Radno_mesto {{ozrm, nrm}, {ozrm}} } I = { Radnik[ozrm] Radno_mesto[ozrm], Null(Radnik,ozrm) =, Radno_mesto[ozrm] Radnik [ozrm] } G = {mbr ime+prz+ozrm, ozrm nrm} 11
MOV - Strukture sa kardinalitetima grupe 1:1 ime dat mbr prz brp izn Radnik (0,1) (0,1) osiguran Polisa U relacionom modelu: S= { Radnik {{mbr,ime,prz,brp}, {mbr}}, - prostiranje ključa Polisa {{brp, dat, izn}, {brp}} } I = { Radnik[brp] Polisa[brp] } G = { mbr ime+prz+brp, brp dat+izn } 12
- Strukture sa kardinalitetima grupe 1:1 MOV Radnik (1,1) (0,1) osiguran Polisa U relacionom modelu: S = { Radnik {{mbr,ime,prz,brp}, {mbr}}, Polisa {{brp, dat, izn}, {brp}} } I = { Radnik[brp] Polisa[brp], Null(Radnik,brp) = } G = { mbr ime+prz+brp, brp dat+izn} 13
- Strukture sa kardinalitetima grupe 1:1 MOV Radnik (1,1) (1,1) osiguran Polisa U relacionom modelu: S= { Radnik {{mbr, ime, prz, brp, dat, izn}, {mbr, brp}, {mbr}} } - jedna relacija I = { Null(Radnik,brp) = } (nema međurelacionih ograničenja) G = {mbr ime+prz+brp+dat+izn, brp mbr} 14
Vrši se preimenovanje ključa jedne uloge rekurzivnog tipa poveznika i njegovo dodavanje u listu obeležja. Dva slučaja maksimalnog kardinaliteta: 1:N prostiranje ključa M:N posebna šema relacije 15
MOV je nadređen (0,N) Radnik (0,1) je podređen rukovodi mbr ime prz U relacionom modelu: S = {Radnik {{mbr,ime,prz,sef}, {mbr}} } prostiranje ključa I = {Radnik[sef] Radnik[mbr] } G = {mbr ime+prz+sef} 16
MOV je deo (0,N) Proizvod (0,M) sastoji se od Sastavnica ozp nazp jm kol U relacionom modelu: S = { Proizvod {{ozp, nazp, jm}, {ozp}}, Sastavnica {{ozp, ozd, kol}, {ozp+ozd}} } - posebna šema relacije I = { Sastavnica[ozp] Sastavnica[ozd] Proizvod[ozp], Proizvod[ozp]} G = {ozp nazp+jm, ozp+ozd kol} 17
Tip entiteta dete je identifikaciono zavistan MOV Roditelj ID (0,N) (1,1) R_D Dete sifr prz rbrd imed ime U relacionom modelu: S = { Roditelj {{sifr, ime, prz}, {sifr}}, Dete {{sifr, rbrd,imed}, {sifr+rbrd}} } I = { Dete[sifr] Roditelj[sifr] } G = { sifr ime + prz, sifr+rbrd imed } 18
Primer - Prevođenje IS_A hijerarhije mbr ime Student Stanovnik IS_A prz (1,M) zan Radnik Prvi način: S = { { Stanovnik {mbr,ime,prz,zan},{mbr}}, Student {{mbr, bri, bpi},{mbr,bri},{mbr}}, Radnik {{mbr,ozr,spr},{mbr,ozr},{mbr}} } I = { Student[mbr] Radnik[mbr] Stanovnik[mbr], Stanovnik[mbr], Stanovnik[mbr] Student[mbr] U Radnik[mbr] } G = { mbr ime + prz + zan, mbr bri + bpi, bri mbr, mbr ozr + spr, ozr mbr } bri bpi ozr spr 19
Drugi način: (samo kada je klasifikacija totalna DG=1) Stanovnik S = { Student {{mbr,ime,prz,zan,bri,bpi}, {mbr,bri},{bri}}, Radnik {{mbr,ime,prz,zan,ozr,spr}, {mbr,ozr},{ozr}} } (1,M) I = θ (nema međurelacionih ograničenja) IS_A G = { mbr ime + prz + zan + bri + bpi, bri mbr, mbr ime + prz + zan + ozr + spr, ozr mbr } Student Radnik 20
Stanovnik IS_A (1,M) Treći način: Student Radnik S = { Stanovnik{ {mbr,ime,prz,zan,bri,bpi,ozr,spr}, {mbr} } } I = θ (nema međurelacionih ograničenja) G = { mbr ime + prz + zan + bri + bpi + ozr + spr } 21
Svaki entitet ER modela prevesti u relacionu šemu sa istim imenom. Svaki atribut entiteta prevesti u atribut relacione šeme pod istim imenom. Ključni atribut(i) (primarni ključ) odnosno identifikator entiteta prevesti u primarni ključ relacione šeme 22
Tipovi poveznika čiji kardinaliteti pripadaju grupi M:N se u relacionom modelu predstavljaju samo putem posebne šeme relacije. Primarni ključ ovako nastale šeme relacije je složen od primarnih ključeva tipova entiteta koji učestvuju u vezi. Ako je bilo koji donji kardinalitet (ili oba) DG=1, dodaje se odgovarajući inverzni referencijalni integritet. 23
Tipovi poveznika čiji kardinaliteti pripadaju grupi 1:N mogu se u relacionom modelu predstaviti bilo putem posebne šeme relacije, bilo putem prostiranja ključa. Prostiranje ključa je bolje rešenje. Prostiranjem ključa se primarni ključ tipa entiteta na N strani poveznika uključuje u skup obeležja šeme relacije koja predstavlja tip entiteta na 1 strani. 24
Dodaje se referencijalni integritet za strani ključ. Minimalni kardinaliteti unose sledeće specifičnosti: U slučaju da imamo sa jedne strane kardinalitet (1,1), dodaje se zabrana null vrednosti. U slučaju da imamo sa druge strane (1, N), dodaje se inverzni referencijalni integritet. 25
Tipovi poveznika sa kardinalitetima grupe 1:1 mogu se u relacionom modelu predstaviti bilo putem posebne šeme relacije, bilo putem prostiranja ključa. Prostiranje ključa predstavlja bolje rešenje. Minimalni kardinaliteti unose sledeće specifičnosti: 26
Ako su oba donja kardinaliteta 0, vrši se bilo prostiranje ključa iz jedne šeme relacije u drugu ili obrnuto (potreban je jedan referencijalni integritet). Ako su donji kardinaliteti a=1 i b=0, tada se vrši prostiranje ključa u šemu relacije gde je donji kardinalitet 1 (potreban je jedan referencijalni integritet i jedno ograničenje null vrednosti). Ako su oba donja kardinaliteta 1 tada dva entiteta treba predstaviti jednom šemom relacije. 27
Prevođenje slabog tipa entiteta Vrši se prostiranje ključa Prevođenje rekurzivnog tipa poveznika Važe ista pravila kao i za prevođenje regularnih tipova poveznika samo se mora izvršiti preimenovanje ključa koji migrira. Prevođenje gerunda Prevodi se u posebnu šemu relacije. Primenjuju se pravila prevođenja regularnih poveznika tipa M:N. Pri povezivanju gerunda sa drugim elementima, gerund se posmatra kao tip entiteta i tako se tretira pri prevođenju te veze. 28