27
1

Prevođenje ER modela u relacioni

  • Upload
    kasi

  • View
    262

  • Download
    2

Embed Size (px)

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

Page 1: Prevođenje ER modela u relacioni

1

Page 2: 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.

Pravilo 3. Primarni ključ entiteta postaje primarni ključ relacione šeme.

2

Page 3: Prevođenje ER modela u relacioni

3

Šifra Naziv

101 Informacioni sistemi

102 Proizvodni sistemi

103 Menadžment

104 Upravljanje kvalitetom

Predmet

U relacionom modelu:

Predmet {{sifra,naziv},{sifra}}

Page 4: Prevođenje ER modela u relacioni

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)

Page 5: Prevođenje ER modela u relacioni

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

Page 6: Prevođenje ER modela u relacioni

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

Page 7: Prevođenje ER modela u relacioni

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

Page 8: Prevođenje ER modela u relacioni

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

Page 9: Prevođenje ER modela u relacioni

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

Page 10: Prevođenje ER modela u relacioni

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

Page 11: Prevođenje ER modela u relacioni

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

Page 12: Prevođenje ER modela u relacioni

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

Page 13: Prevođenje ER modela u relacioni

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

Page 14: Prevođenje ER modela u relacioni

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

Page 15: Prevođenje ER modela u relacioni

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

Page 16: Prevođenje ER modela u relacioni

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

Page 17: Prevođenje ER modela u relacioni

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

Page 18: Prevođenje ER modela u relacioni

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

Page 19: Prevođenje ER modela u relacioni

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

Page 20: Prevođenje ER modela u relacioni

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]}

Page 21: Prevođenje ER modela u relacioni

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}}

Page 22: Prevođenje ER modela u relacioni

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

Page 23: Prevođenje ER modela u relacioni

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

Page 24: Prevođenje ER modela u relacioni

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

Page 25: Prevođenje ER modela u relacioni

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

Page 26: Prevođenje ER modela u relacioni

› 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

Page 27: Prevođenje ER modela u relacioni

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