28
1

4. Baze podataka - Prevođenje ER modela u relacioni.ppt · Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. ... sifr ime prz rbr ime U relacionom

  • Upload
    others

  • View
    26

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 4. Baze podataka - Prevođenje ER modela u relacioni.ppt · Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. ... sifr ime prz rbr ime U relacionom

1

Page 2: 4. Baze podataka - Prevođenje ER modela u relacioni.ppt · Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. ... sifr ime prz rbr ime U relacionom

Pravilo 1. Svaki entitet (objekat, klasa entiteta)ER modela postaje relaciona šema sa istimiimenom.

Pravilo 2 Svaki atribut entiteta postaje atribut Pravilo 2. Svaki atribut entiteta postaje atributrelacione šeme pod istim imenom.

Pravilo 3. Ključni atribut(i) (primarni ključ)odnosno identifikator entiteta postaje primarniklj č l i šključ relacione šeme.

2

Page 3: 4. Baze podataka - Prevođenje ER modela u relacioni.ppt · Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. ... sifr ime prz rbr ime U relacionom

Predmet Šifra Naziv

PredmetPredmet

NazivŠifra

Šifra Naziv

101 Informacioni sistemi

102 Proizvodni sistemiaa 102 Proizvodni sistemi

103 Menadžment

104 Upravljanje kvalitetomp j j

U relacionom modelu:U relacionom modelu:Predmet {{sifra,naziv},{sifra}}

3

Page 4: 4. Baze podataka - Prevođenje ER modela u relacioni.ppt · Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. ... sifr ime prz rbr ime U relacionom

Tip poveznika P koji povezuje tip entiteta E1 (sa ključem X1) sa tipom entiteta E2 (sa ključem X2) ključem X1) sa tipom entiteta E2 (sa ključem X2) pevodi se:› putem posebne šeme relacije (M:N 1:N 1:1)› putem posebne šeme relacije (M:N, 1:N, 1:1)› putem prostiranja ključa (1:N, 1:1)

4

Page 5: 4. Baze podataka - Prevođenje ER modela u relacioni.ppt · Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. ... sifr ime prz rbr ime U relacionom

Strukture sa kardinalitetima grupe M:N Strukture sa kardinalitetima grupe M:N

bime brc

ozp nazp

Radnik ProjekatRadi(0,M) (0,N)

mbr prz ozp nazp

Radnik ProjekatRadi

U relacionom modelu:

S= { Radnik{{mbr,ime,prz},{mbr}},Projekat{{ozp, nazp}{ozp}}R di{{ b b }{ b + }}}Radi{{mbr, ozp, brc}{mbr+ozp}}}

I= { Radi[mbr] Radnik[mbr]Radi[ozp] Projekat[ozp]}

5

G= { mbr→ ime+prz, ozp → nap, mbr+ozp → brc}

Page 6: 4. Baze podataka - Prevođenje ER modela u relacioni.ppt · Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. ... sifr ime prz rbr ime U relacionom

Strukture sa kardinalitetima grupe M:N

Radnik ProjekatRadi(0,M) (1,N)

U relacionom modelu:S= { Radnik{{mbr,ime,prz},{mbr}},

Projekat{{ozp, nazp}{ozp}}Radi{{mbr, ozp, brc}{mbr+ozp}}}

I {R di[ b ] R d ik[ b ]I= {Radi[mbr] Radnik[mbr]Radi[ozp] Projekat[ozp]Projekat[ozp] Radi[ozp]}

6

Projekat[ozp] Radi[ozp]}G={mbr→ ime+prz, ozp → nap, mbr+ozp → brc}

Page 7: 4. Baze podataka - Prevođenje ER modela u relacioni.ppt · Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. ... sifr ime prz rbr ime U relacionom

Strukture sa kardinalitetima grupe M:N (1 M) (1 N)

Radnik ProjekatRadi(1,M) (1,N)

U relacionom modelu:U relacionom modelu:S= { Radnik{{mbr,ime,prz},{mbr}},

Projekat{{ozp, nazp}{ozp}}j {{ p, p}{ p}}Radi{{mbr, ozp, brc}{mbr+ozp}}}

I= {Radi[mbr] Radnik[mbr],Radi[ozp] Projekat[ozp],Projekat[ozp] Radi[ozp],Radnik[mbr] Radi[mbr] }

7

Radnik[mbr] Radi[mbr] }G={mbr→ ime+prz, ozp → nap, mbr+ozp → brc}

Page 8: 4. Baze podataka - Prevođenje ER modela u relacioni.ppt · Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. ... sifr ime prz rbr ime U relacionom

Strukture sa kardinalitetima grupe N:1 Strukture sa kardinalitetima grupe N:1

ime

(0,1) (0,N)

mbr prz ozrm nrm

Radnik Radno mestoRaspoređen

U relacionom modelu:

S= { Radnik{{mbr,ime,prz,orm},{mbr}},Radno mesto{{orm nrm}{orm}}}Radno_mesto{{orm, nrm}{orm}}}

I= {Radnik[orm] Radno_mesto[orm]}

G b i

8

G= {mbr→ ime+prz+orm, orm → nrm}

Page 9: 4. Baze podataka - Prevođenje ER modela u relacioni.ppt · Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. ... sifr ime prz rbr ime U relacionom

Strukture sa kardinalitetima grupe N:1(1,1) (0,N)

Radnik Radno mestoRaspoređen( , ) ( , )

U relacionom modelu:U relacionom modelu:S= { Radnik{{mbr,ime,prz,orm},{mbr}},

Radno mesto{{orm nrm}{orm}}}Radno_mesto{{orm, nrm}{orm}}}I= {Radnik[orm] Radno_mesto[orm],

Null(Radnik orm)= }

Null(Radnik,orm)= }G={mbr→ ime+prz+orm, orm → nrm}

9

Page 10: 4. Baze podataka - Prevođenje ER modela u relacioni.ppt · Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. ... sifr ime prz rbr ime U relacionom

Strukture sa kardinalitetima grupe N:1(0 1) (1 N)

Radnik Radno mestoRaspoređen(0,1) (1,N)

U l i d lU relacionom modelu:S= { Radnik{{mbr,ime,prz,orm},{mbr}},

R d t {{ }{ }}}Radno_mesto{{orm, nrm}{orm}}}I= {Radnik[orm] Radno_mesto[orm]

R d t [ ] R d ik [ ]}

Radno_mesto[orm] Radnik [orm]}

G={mbr → ime+prz+orm, orm → nrm}

10

Page 11: 4. Baze podataka - Prevođenje ER modela u relacioni.ppt · Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. ... sifr ime prz rbr ime U relacionom

Strukture sa kardinalitetima grupe N:1(1 1) (1 N)

Radnik Radno mestoRaspoređen(1,1) (1,N)

U relacionom modelu:U relacionom modelu:S= { Radnik{{mbr,ime,prz,orm},{mbr}},

Radno mesto{{orm, nrm}{orm}}}_ {{ , }{ }}}I= {Radnik[orm] Radno_mesto[orm],

Null(Radnik,orm)= ,

( , ) ,Radno_mesto[orm] Radnik [orm]}

G={mbr→ ime+prz+orm, orm → nrm}

11

{ p , }

Page 12: 4. Baze podataka - Prevođenje ER modela u relacioni.ppt · Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. ... sifr ime prz rbr ime U relacionom

Strukture sa kardinalitetima grupe 1:1 Strukture sa kardinalitetima grupe 1:1

ime dat

(0,1) (0,1)

mbr prz brp izn

Radnik Polisaosiguran

U relacionom modelu:

S= { Radnik{{mbr,ime,prz,brp},{mbr}},Polisa{{brp dat izn}{brp}}}Polisa{{brp, dat, izn}{brp}}}

I= {Radnik[brp] Polisa[brp]}

G { }

12

G={mbr→ ime+prz+brp, brp → dat+izn}

Page 13: 4. Baze podataka - Prevođenje ER modela u relacioni.ppt · Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. ... sifr ime prz rbr ime U relacionom

Strukture sa kardinalitetima grupe 1:1(1,1) (0,1)

Radnik Polisaosiguran( , ) ( , )

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

{ p p, p }

Page 14: 4. Baze podataka - Prevođenje ER modela u relacioni.ppt · Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. ... sifr ime prz rbr ime U relacionom

Strukture sa kardinalitetima grupe 1:1(1 1) (1 1)

Radnik Polisaosiguran(1,1) (1,1)

U relacionom modelu:

S= { Radnik{{mbr, ime, prz, brp, dat, izn},{mbr, brp},{mbr}}}

I = Ø (nema međurel. ograničenja - jedna relacija)

G={mbr→ ime+prz+brp+dat+izn, brp → mbr}

14

G {mbr ime prz brp dat izn, brp mbr}

Page 15: 4. Baze podataka - Prevođenje ER modela u relacioni.ppt · Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. ... sifr ime prz rbr ime U relacionom

Preimenovanje obeležja (preimenovanje ključa jedne uloge rekurzivnog tipa ključa jedne uloge rekurzivnog tipa poveznika)I d l č j k i l Imamo dva slučaja maksimalnog kardinaliteta: 1:N, M:N

15

Page 16: 4. Baze podataka - Prevođenje ER modela u relacioni.ppt · Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. ... sifr ime prz rbr ime U relacionom

Rekurzivne veze

(0,N)Nadređeni

Radnik rukovodi(0,1)

podređeni

mbrime

prz

U relacionom modelu:

S= {Radnik{{mbr ime prz sef} {mbr}}}

S= {Radnik{{mbr,ime,prz,sef},{mbr}}}

I= {Radnik[sef] Radnik[mbr]}

16

G= {mbr→ ime+prz+sef}

Page 17: 4. Baze podataka - Prevođenje ER modela u relacioni.ppt · Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. ... sifr ime prz rbr ime U relacionom

Je deo

P i d S t i(0,M)

(0,N)Je deo

Proizvod SastavnicaSastoji se od

ozp jem

U relacionom modelu:

ozpnap

jemkol

U relacionom modelu:

S= {Proizvod{{ozp, nap, jem},{ozp}}}Sastavnica{{ozp, ozd, kol}{ozp+ozd}}

{{ p, , }{ p }}

I= {Sastavnica[ozp] Proizvod[ozp]Sastavnica[ozd] Proizvod[ozp}

17

G= {ozp→ nap+jem, ozp+ozd → kol}

Page 18: 4. Baze podataka - Prevođenje ER modela u relacioni.ppt · Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. ... sifr ime prz rbr ime U relacionom

Slučaj više tipova poveznika između dva ista tipatipa› Sva ranija pravila važe pritom se mora izvršiti

preimenovanje primarnog ključa jednog od p j p g j j gpovezanih tipova

Prevođenje tipa poveznika reda većeg od dva› Primenjuje se uopštenje pravila

Prevođenje slabog tipa poveznika› Vrši se prostiranje ključa

18

Page 19: 4. Baze podataka - Prevođenje ER modela u relacioni.ppt · Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. ... sifr ime prz rbr ime U relacionom

Tip poveznika reda većeg od dva

Student ProfesorIzvodjenje_nastave

(0,N) (0,1)

(0,N)briprzs

imes spprzp

imep

idpPredmet

U relacionom modelu: naziv

S= { Student{{bri,przs,imes},{bri}},Predmet{{idp, naziv}{idp}}Profesor {{sp,imep,przp, bri,idp}{sp}}}{{ p p p p p}{ p}}}

I= {Profesor[bri] Student[bri],Profesor [idp] Predmet [idp],

N ll(P f b i) T

19

Null(Profesor,bri)= T ,Null(Profesor,idp)= T }

Page 20: 4. Baze podataka - Prevođenje ER modela u relacioni.ppt · Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. ... sifr ime prz rbr ime U relacionom

Slabi tip entiteta Slabi tip entiteta Tip entiteta dete je identifikaciono zavistan

ID

Roditelj DeteR_D

ID(0,N) (1,1)

sifrime

prz rbr ime

U relacionom modelu:

S {R dit lj{{ if i } { if }}

S= {Roditelj{{sifr, ime, prz},{sifr}}Dete{{sifr,rbr,ime},{sifr+rbr}}

I= {Dete[sifr] Roditelj[sifr]}20

I= {Dete[sifr] Roditelj[sifr]}

Page 21: 4. Baze podataka - Prevođenje ER modela u relacioni.ppt · Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. ... sifr ime prz rbr ime U relacionom

Kardinaliteti IS_A hijerarhije

jbsime prz

zan

Stanovnik

(1,M)

Prvi način:

S={Stanovnik{{jbs,ime,prz,zan},{jbs}}St d t{{jb b i b i} {jb b i} {jb }}

IS_A

( )Student{{jbs, bri, bpi},{jbs,bri},{jbs}}Radnik{{jbs,mbr,spr},{jbs,mbr},{jbs}}}

I {St d t[jb ] St ik[jb ]

I = {Student[jbs] Stanovnik[jbs],Radnik[jbs] Stanovnik[jbs],Stanovnik[jbs] student[jbs] U radnik[jbs]}

Student Radnik

b i b i j

21

bri bpi ozr zvanje

Page 22: 4. Baze podataka - Prevođenje ER modela u relacioni.ppt · Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. ... sifr ime prz rbr ime U relacionom

Kardinaliteti IS_A hijerarhijeD i či

Stanovnik

(1,M)

Drugi način:(samo kada je klasifikacija totalna)

S={Student{{jbs ime prz zan bri bpi}

IS_A

( ) S={Student{{jbs,ime,prz,zan,bri,bpi},{jbs,bri},{bri}}

Radnik{{jbs,ime,prz,zan,mbr,spr},{jbs mbr} {mbr}}}{jbs,mbr},{mbr}}}

I = {Student[jbs] Stanovnik[jbs],Radnik[jbs] Stanovnik[jbs],

Student RadnikRadnik[jbs] Stanovnik[jbs],Stanovnik[jbs] student[jbs] U radnik[jbs]}

22

Page 23: 4. Baze podataka - Prevođenje ER modela u relacioni.ppt · Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. ... sifr ime prz rbr ime U relacionom

Kardinaliteti IS_A hijerarhijeSt ikStanovnik

(1,M)

IS_A

St d t R d ikStudent RadnikTreći način:

S={stanovnik{{jbs,ime,prz,zan,bri,bpi,mbr,spr}, {jbs}}

23

{ {{j , ,p , , , p , , p }, {j }}

Page 24: 4. Baze podataka - Prevođenje ER modela u relacioni.ppt · Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. ... sifr ime prz rbr ime U relacionom

Svaki entitet ER modela prevesti u relacionu šemu sa istim imenom.

Svaki atribut entiteta prevesti u atribut relacione šeme pod istim imenomšeme pod istim imenom.

Ključni atribut(i) (primarni ključ) odnosno id ifik i i i i klj č identifikator entiteta prevesti u primarni ključ relacione šeme

24

Page 25: 4. Baze podataka - Prevođenje ER modela u relacioni.ppt · Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. ... sifr ime prz rbr ime U relacionom

Tipovi poveznika čiji kardinaliteti pripadaju grupi M:N se u relacionom modelu predstavljaju samo putem posebne šeme relacije

Ako je bilo koji (ili oba) donji kardinalitet a=1 Ako je bilo koji (ili oba) donji kardinalitet a 1 dodaje se odgovarajući inverzni referencijalni integritet

25

Page 26: 4. Baze podataka - Prevođenje ER modela u relacioni.ppt · Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. ... sifr ime prz rbr ime U relacionom

Tipovi poveznika čiji kardinaliteti pripadaju grupi 1:N mogu se, u relacionom modelu predstaviti bilo butem posebne šeme relacije bilo putem prostiranja ključa posebne šeme relacije bilo putem prostiranja ključa. Prostitanje ključa daje bolje rešenje.

Prostiranjem ključa se primarni ključ tipa entiteta na N strani poveznika uključuje u skup obeležja šeme 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 l č j d i j d t k di lit t (1 1) 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 j ( ) g jinverzni referencijalni integritet

26

Page 27: 4. Baze podataka - Prevođenje ER modela u relacioni.ppt · Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. ... sifr ime prz rbr ime U relacionom

Tipovi poveznika čiji kardinaliteti pripadaju grupi 1:1 mogu se, u relacionom modelu predstaviti bilo butem posebne šeme relacije bilo putem prostiranja ključa Prostitanje ključa relacije bilo putem prostiranja ključa. Prostitanje ključa predstavlja bolje rešenje.

Minimalni kardinaliteti unose sledeće specifičnosti:› Ako je bar jedan od minimalnih kardinaliteta 0, propagirani ključ Ako je bar jedan od minimalnih kardinaliteta 0, propagirani ključ

se mora deklarisati da poseduje jedinstvene vrednosti (ekvivalenti ključevi umesto unije ključeva)

› Ako su oba donja kardinaliteta 0, vrši se bilo prostiranje ključa iz jedne šeme relacije u drugu ili obrnuto (potreban je jedan 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 protiranje ključa u šemu relacije gde je donji kardinalitet 1 (dodaje se jedno

ič j ll d ti)ograničenje null vrednosti)› Ako su oba donja kardinaliteta 1 tada dva entiteta treba

predstaviti jednom šemom relacije

27

Page 28: 4. Baze podataka - Prevođenje ER modela u relacioni.ppt · Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. ... sifr ime prz rbr ime U relacionom

Prevođenje rekurzivnog tipa poveznika › Važe ista pravila kao i za prevođenje regularnih tipova › Važe ista pravila kao i za prevođenje regularnih tipova

poveznika samo se mora izvršiti preimenovanje ključa koji migrira

P đ j d Prevođenje gerunda› Prevodi se u posebnu šemu relacije. Primenjuju se pravila

prevođenja regularnih poveznika M:N a gerund se prevođenja regularnih poveznika M:N, a gerund se posmatra kao tip entiteta pri prevođenju poveznika koji spaja taj gerund sa drugim elementima

28