1 / 27

Prevođenje ER modela u relacioni

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.

kasi
Download Presentation

Prevođenje ER modela u relacioni

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Prevođenje ER modela u relacioni Baze podataka

  2. Prevođenje ER modela u relacioni • Pravilo 1.Svaki entitet (objekat) ER modelapostaje relaciona šema sa istim imenom. • Pravilo 2. Svaki atribut entiteta postaje atribut relacione šemepod istim imenom. • Pravilo 3.Primarni ključ entiteta postaje primarni ključ relacione šeme.

  3. Predmet Šifra Naziv Prevođenje tipa entiteta Predmet U relacionom modelu: Predmet {{sifra,naziv},{sifra}}

  4. Prevođenje regularnog tipa poveznika • 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)

  5. Primeri - MOV Strukture sa kardinalitetima grupe M:N ime brc ozp nazp mbr prz (0,M) (0,N) Radnik Radi Projekat Relacioni model: S= {Radnik{{mbr,ime,prz},{mbr}}, Projekat{{ozp, nazp}{ozp}} Radi{{mbr, ozp, brc}{mbr+ozp}}} – posebna šema relacije I= { Radi[mbr] Radnik[mbr] Radi[ozp] Projekat[ozp]} G= { mbr→ ime+prz, ozp → nazp, mbr+ozp → brc}

  6. Primeri - MOV Strukture sa kardinalitetima grupe M:N (1,N) Radnik (0,M) Radi Projekat 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}

  7. Primeri - MOV Strukture sa kardinalitetima grupe M:N Radnik (1,M) Radi (1,N) Projekat 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}

  8. Primeri - MOV Strukture sa kardinalitetima grupe 1:N ime ozrm nrm mbr prz (0,1) (0,N) Radnik Raspoređen Radno mesto 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}

  9. Primeri - MOV Strukture sa kardinalitetima grupe 1:N (1,1) (0,N) Radnik Raspoređen Radno mesto 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}

  10. Primeri - MOV Strukture sa kardinalitetima grupe 1:N (1,N) Radnik (0,1) Raspoređen Radno mesto 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}

  11. Primeri - MOV Strukture sa kardinalitetima grupe 1:N Radnik Raspoređen Radno mesto (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}

  12. Primeri - Strukture sa kardinalitetima grupe 1:1 MOV ime dat mbr prz brp izn (0,1) (0,1) Radnik osiguran Polisa U relacionom modelu: S= {Radnik{{mbr,ime,prz,brp},{mbr}}, - prostiranje ključa Polisa{{brp, dat, izn}{brp}}} I= {Radnik[brp] Polisa[brp]} G={mbr→ ime+prz+brp, brp→dat+izn}

  13. Primeri - MOV Strukture sa kardinalitetima grupe 1:1 (1,1) (0,1) Radnik osiguran Polisa 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}

  14. Primeri - MOV Strukture sa kardinalitetima grupe 1:1 (1,1) (1,1) Radnik osiguran Polisa U relacionom modelu: S= {Radnik{{mbr, ime, prz, brp, dat, izn}, {mbr, brp},{mbr}}} - jedna relacija I = Ø (nema međurel. ograničenja) G = {mbr→ime+prz+brp+dat+izn, brp→mbr}

  15. Prevođenje rekurzivnog tipa poveznika • 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

  16. Primeri - Rekurzivne veze tipa 1: N MOV nadređeni (0,N) (0,1) Radnik rukovodi podređeni mbr prz ime U relacionom modelu: S= {Radnik{{mbr,ime,prz,sef},{mbr}}} – prostiranje ključa I= {Radnik[sef] Radnik[mbr]} G= {mbr→ ime+prz+sef}

  17. Primeri - Rekurzivne veze tipa M : N MOV Je deo (0,N) (0,M) Proizvod Sastavnica Sastoji se od ozp jm nazp kol 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}

  18. Primeri - Slabi tip entiteta • Tip entiteta dete je identifikaciono zavistan MOV ID (0,N) (1,1) Roditelj R_D Dete sifr prz rbr ime ime U relacionom modelu: S= { Roditelj{{sifr, ime, prz},{sifr}} Dete{{sifr,rbr,ime},{sifr+rbr}} I = {Dete[sifr] Roditelj[sifr]}

  19. Primeri - ime prz Kardinaliteti IS_A hijerarhije jmbr zan Stanovnik 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]} (1,M) IS_A Student Radnik bri bpi ozr spr

  20. Primeri - Kardinaliteti IS_A hijerarhije 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]} Stanovnik (1,M) IS_A Student Radnik

  21. Primeri - Kardinaliteti IS_A hijerarhije Treći način: S={Stanovnik{{jmbr,ime,prz,zan,bri,bpi,ozr,spr},{jmbr}} Stanovnik (1,M) IS_A Student Radnik

  22. Redosled radnji pri prevođenju u relacioni model • Svaki entitet ER modelaprevesti u relacionu šemu sa istim imenom. • Svaki atribut entiteta prevesti u atribut relacione šemepod istim imenom. • Ključni atribut(i) (primarni ključ) odnosno identifikatorentiteta prevesti u primarni ključ relacione šeme

  23. 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. • Ako je bilo koji donji kardinalitet a=1 (ili oba) dodaje se odgovarajući inverzni referencijalni integritet.

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

  25. 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:

  26. Prevođenje tipova poveznika grupe 1:1 • 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.

  27. Prevođenje specijalnih slučajeva • 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.

More Related