4
13/12/2017 1 Prevođenje ER modela u relacioni 2. deo Baze podataka 1 Prevođenje rekurzivnog tipa poveznika Vrši se preimenovanje ključa jedne uloge entiteta kod 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 2 Primer rekurzivne veze tipa 1: N prostiranje ključa 3 Radnik rukovodi (0,1) (0,N) je nadređen je podređen U relacionom modelu: S = {Radnik {{mbr,ime,prz,sef}, {mbr}} } prostiranje ključa I = {Radnik[sef] Radnik[mbr] } G = {mbrime+prz+sef} mbr ime prz MOV Primer rekurzivne veze tipa M : N posebna šema relacije 4 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 = {ozpnazp+jm, ozp+ozd kol} ozp nazp jm kol MOV

Prevođenje ER modela u relacioni - vps.ns.ac.rs · 13/12/2017 1 Prevođenje ER modela u relacioni 2. deo Baze podataka 1 Prevođenje rekurzivnog tipa poveznika •Vrši se preimenovanje

  • Upload
    others

  • View
    24

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Prevođenje ER modela u relacioni - vps.ns.ac.rs · 13/12/2017 1 Prevođenje ER modela u relacioni 2. deo Baze podataka 1 Prevođenje rekurzivnog tipa poveznika •Vrši se preimenovanje

13/12/2017

1

Prevođenje ER modela u relacioni

2. deo

Baze podataka

1

Prevođenje rekurzivnog tipa poveznika

• Vrši se preimenovanje ključa jedne uloge entiteta kod 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

2

Primer rekurzivne veze tipa 1: N

– prostiranje ključa

3

Radnik rukovodi (0,1)

(0,N)

je nadređen

je podređen

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

Primer rekurzivne veze tipa M : N – posebna šema relacije

4

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

Page 2: Prevođenje ER modela u relacioni - vps.ns.ac.rs · 13/12/2017 1 Prevođenje ER modela u relacioni 2. deo Baze podataka 1 Prevođenje rekurzivnog tipa poveznika •Vrši se preimenovanje

13/12/2017

2

Primer - Prevođenje slabog tipa entiteta

• Tip entiteta dete je identifikaciono zavistan

5

Roditelj Dete R_D

ID

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 }

(0,N) (1,1)

sifr ime

prz rbrD imeD

MOV

Primer - Prevođenje IS_A hijerarhije

6

Stanovnik

Student Radnik

IS_A

(1,M)

mbr

ime prz

zan Prvi način/a:

S = { { Stanovnik {mbr,ime,prz,zan},{mbr}}, Student {{mbr, bri, bpi},{mbr,bri},{mbr}},

Radnik {{mbr,ozr,spr},{mbr,ozr},{mbr}} }

I = { Student[mbr] Stanovnik[mbr], Radnik[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

Primer - Prevođenje IS_A hijerarhije

7

Stanovnik

Student Radnik

IS_A

(0,M)

mbr

ime prz

zan Prvi način/b:

S = { { Stanovnik {mbr,ime,prz,zan},{mbr}}, Student {{mbr, bri, bpi},{mbr,bri},{mbr}},

Radnik {{mbr,ozr,spr},{mbr,ozr},{mbr}} }

I = { Student[mbr] Stanovnik[mbr], Radnik[mbr] Stanovnik[mbr] }

G = { mbr → ime + prz + zan,

mbr → bri + bpi, bri → mbr,

mbr → ozr + spr, ozr → mbr }

bri bpi ozr spr

PrimerPrimer -- Prevođenje Prevođenje IS_A hijerarhijeIS_A hijerarhije

8

Stanovnik

Student Radnik

IS_A

(1, M)

Drugi način: (samo kada je klasifikacija totalna – DG=1)

S = { Student {{mbr,ime,prz,zan,bri,bpi}, {mbr,bri},{bri}},

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

I = θ (nema međurelacionih ograničenja)

G = { mbr → ime + prz + zan + bri + bpi, bri → mbr,

mbr → ime + prz + zan + ozr + spr, ozr → mbr }

Page 3: Prevođenje ER modela u relacioni - vps.ns.ac.rs · 13/12/2017 1 Prevođenje ER modela u relacioni 2. deo Baze podataka 1 Prevođenje rekurzivnog tipa poveznika •Vrši se preimenovanje

13/12/2017

3

Primer – Prevođenje IS_A hijerarhije

Treći način:

9

Stanovnik

Student Radnik

IS_A

(1,M)

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 }

Redosled radnji pri prevođenju u relacioni model

• 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

• Pri prevođenju tipova poveznika:

– gornji (maksimalni) kardinaliteti određuju pravila prevođenja (posebna šema relacije ili prostiranje ključa)

– donji (minimalni) kardinaliteti određuju pravila referencijalnog integriteta

10

Prevođenje tipova poveznika grupe M:N

• 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) 1 (DG=1), dodaje se odgovarajući inverzni referencijalni integritet.

11

Prevođenje tipova poveznika grupe 1: N

• 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č.

12

Page 4: Prevođenje ER modela u relacioni - vps.ns.ac.rs · 13/12/2017 1 Prevođenje ER modela u relacioni 2. deo Baze podataka 1 Prevođenje rekurzivnog tipa poveznika •Vrši se preimenovanje

13/12/2017

4

Prevođenje tipova poveznika grupe 1: N

• U ovoj situaciji minimalni kardinaliteti unose sledeće specifičnosti za pravila referencijalnog integriteta:

– 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.

13

Prevođenje tipova poveznika grupe 1:1

• 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:

> 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).

14

Prevođenje tipova poveznika grupe 1:1

– 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.

15

Prevođenje specijalnih slučajeva

• 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.

16