Prevođenje ER modela u relacioni

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