View
262
Download
2
Category
Preview:
DESCRIPTION
Prevođenje ER modela u relacioni. Baze podataka. Prevođenje ER modela u relacioni. Pravilo 1. Svaki entitet (objekat) ER modela postaje relaciona šema sa istim imenom. Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. - PowerPoint PPT Presentation
Citation preview
1
Pravilo 1. Svaki entitet (objekat) 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
3
Šifra Naziv
101 Informacioni sistemi
102 Proizvodni sistemi
103 Menadžment
104 Upravljanje kvalitetom
Predmet
U relacionom modelu:
Predmet {{sifra,naziv},{sifra}}
4
Tip poveznika P koji povezuje tip entiteta
E1 sa tipom entiteta E2 pevodi se:
› putem posebne šeme relacije (M:N)› putem prostiranja ključa (1:N, 1:1)
Strukture sa kardinalitetima grupe M:N
5
Radnik ProjekatRadi(0,M) (0,N)
Relacioni model:
S= { Radnik{{mbr,ime,prz},{mbr}}, Projekat{{ozp, nazp}{ozp}} Radi{{mbr, ozp, brc}{mbr+ozp}}} – posebna šema relacijeI= { Radi[mbr] Radnik[mbr] Radi[ozp] Projekat[ozp]}G= { mbr→ ime+prz, ozp → nazp, mbr+ozp → brc}
mbr
ime
prz
brcozp nazp
MOV
Strukture sa kardinalitetima grupe M:N
6
Radnik ProjekatRadi(0,M) (1,N)
Relacioni model:S= { Radnik{{mbr,ime,prz},{mbr}}, Projekat{{ozp, nazp}{ozp}} Radi{{mbr, ozp, brc}{mbr+ozp}}}
I= { Radi[mbr] Radnik[mbr] Radi[ozp] Projekat[ozp] Projekat[ozp] Radi[ozp] }G={mbr→ ime+prz, ozp → nazp, mbr+ozp → brc}
MOV
Strukture sa kardinalitetima grupe M:N
7
Radnik ProjekatRadi(1,M) (1,N)
Relacioni model:S= { Radnik{{mbr,ime,prz},{mbr}},
Projekat{{ozp, nazp}{ozp}}Radi{{mbr, ozp, brc}{mbr+ozp}}}
I= {Radi[mbr] Radnik[mbr],Radi[ozp] Projekat[ozp],Projekat[ozp] Radi[ozp],Radnik[mbr] Radi[mbr] }
G={mbr→ ime+prz, ozp → nazp, mbr+ozp → brc}
MOV
Strukture sa kardinalitetima grupe 1:N
8
Radnik Radno mestoRaspoređen(0,1) (0,N)
U relacionom modelu:
S= { Radnik{{mbr,ime,prz,ozrm},{mbr}}, - prostiranje ključa Radno_mesto{{orm, nrm}{orm}}}
I = {Radnik[orm] Radno_mesto[orm]}
G= {mbr→ ime+prz+ozrm, ozrm → nrm}
mbr
ime
prz ozrm nrm
MOV
Strukture sa kardinalitetima grupe 1:N
9
Radnik Radno mestoRaspoređen(1,1) (0,N)
U relacionom modelu:
S= { Radnik{{mbr,ime,prz,ozrm},{mbr}}, Radno_mesto{{ozrm, nrm}{ozrm}}}
I = { Radnik[orm] Radno_mesto[orm], Null(Radnik,ozrm)= }
G = {mbr→ ime+prz+ozrm, ozrm → nrm}
MOV
Strukture sa kardinalitetima grupe 1:N
10
Radnik Radno mestoRaspoređen(0,1) (1,N)
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}
MOV
Strukture sa kardinalitetima grupe 1:N
11
Radnik Radno mestoRaspoređen(1,1) (1,N)
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}
MOV
Strukture sa kardinalitetima grupe 1:1
12
Radnik Polisaosiguran(0,1) (0,1)
U relacionom modelu:
S= { Radnik{{mbr,ime,prz,brp},{mbr}}, - prostiranje ključaPolisa{{brp, dat, izn}{brp}}}
I= {Radnik[brp] Polisa[brp]}
G={mbr→ ime+prz+brp, brp → dat+izn}
mbr
ime
prz brp
dat
izn
MOV
Strukture sa kardinalitetima grupe 1:1
13
Radnik Polisaosiguran(1,1) (0,1)
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}
MOV
Strukture sa kardinalitetima grupe 1:1
14
Radnik Polisaosiguran(1,1) (1,1)
U relacionom modelu:
S= { Radnik{{mbr, ime, prz, brp, dat, izn},{mbr, brp},{mbr}}} - jedna
relacijaI = Ø (nema međurel. ograničenja)
G = {mbr→ ime+prz+brp+dat+izn, brp → mbr}
MOV
Preimenovanje obeležja (preimenovanje ključa jedne uloge rekurzivnog tipa poveznika)
Dva slučaja maksimalnog kardinaliteta: › 1:N prostiranje ključa› M:N posebna šema relacije
15
16
Radnik rukovodi(0,1)
(0,N)nadređeni
podređeni
U relacionom modelu:
S= {Radnik{{mbr,ime,prz,sef},{mbr}}} – prostiranje ključa
I= {Radnik[sef] Radnik[mbr]}
G= {mbr→ ime+prz+sef}
mbr
ime
prz
MOV
17
Proizvod Sastavnica(0,M)
(0,N)Je deo
Sastoji se od
U relacionom modelu:
S= {Proizvod{{ozp, nazp, jm},{ozp}}} Sastavnica{{ozp, ozd, kol}{ozp+ozd}} - posebna šema relacije
I= {Sastavnica[ozp] Proizvod[ozp] Sastavnica[ozd] Proizvod[ozp}
G= {ozp→ nazp+jm, ozp+ozd → kol}
ozp
nazp
jm
kol
MOV
Tip entiteta dete je identifikaciono zavistan
18
Roditelj DeteR_D
ID
U relacionom modelu:
S = { Roditelj{{sifr, ime, prz},{sifr}}Dete{{sifr,rbr,ime},{sifr+rbr}}
I = {Dete[sifr] Roditelj[sifr]}
(0,N)
(1,1)
sifrime
prz rbr ime
MOV
Kardinaliteti IS_A hijerarhije
19
Stanovnik
Student Radnik
IS_A
(1,M)
jmbr
ime prz
zan
Prvi način:
S={Stanovnik{{jmbr,ime,prz,zan},{jmbr}} Student{{jmbr, bri, bpi},{jmbr,bri},{jmbr}} Radnik{{jmbr,ozr,spr},{jmbr,ozr},{jmbr}}}
I = {Student[jmbr] Stanovnik[jmbr], Radnik[jmbr] Stanovnik[jmbr],
Stanovnik[jmbr] Student[jmbr] U Radnik[jmbr]}
bri bpi ozr spr
20
Stanovnik
Student Radnik
IS_A
(1,M)
Drugi način:(samo kada je klasifikacija totalna)
S={Student{{jmbr,ime,prz,zan,bri,bpi},{jmbr,bri},{bri}}
Radnik{{jmbr,ime,prz,zan,ozr,spr},{jmbr,ozr},{ozr}}}
I = {Student[jmbr] Stanovnik[jmbr], Radnik[jmbr] Stanovnik[jmbr],
Stanovnik[jmbr] Student[jmbr] U Radnik[jmbr]}
Kardinaliteti IS_A hijerarhije
21
Stanovnik
Student Radnik
IS_A
(1,M)
Treći način:
S={Stanovnik{{jmbr,ime,prz,zan,bri,bpi,ozr,spr},{jmbr}}
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.
Ako je bilo koji donji kardinalitet a=1 (ili oba) 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.
Dodaje se referencijalni integritet za strani ključ. U slučaju da imamo sa jedne strane kardinalitete
(1,1), dodaje se zabrana null vrednosti. U slučaju da imamo (1,N) sa druge strane, dodaje se
inverzni referencijalni integritet.
24
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:
25
› 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 (dodaje se jedno ograničenje null vrednosti).
› Ako su oba donja kardinaliteta 1 tada dva entiteta treba predstaviti jednom šemom relacije.
26
Prevođenje slabog tipa entitetaa› 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 M:N, a gerund se posmatra kao tip entiteta pri prevođenju poveznika koji spaja taj gerund sa drugim elementima.
27
Recommended