38
0 Baze podataka (Računske vežbe) Prevođenje ER modela u relacioni model Računarstvo i informatika Katedra za računarstvo Elektronski fakultet u Nišu Letnji semestar 2011/2012

3. Prevodjenje ER modela u relacioni model .pdf

Embed Size (px)

Citation preview

Page 1: 3. Prevodjenje ER modela u relacioni model .pdf

0

Baze podataka (Računske vežbe)

Prevođenje ER modela u relacioni model

Računarstvo i informatika

Katedra za računarstvo

Elektronski fakultet u Nišu

Letnji semestar 2011/2012

Page 2: 3. Prevodjenje ER modela u relacioni model .pdf

0Sadržaj

Relacioni model – Koncepti

Predstavljanje šeme relacione baze

podataka

Prevođenje ER modela u relacioni model

Baza podataka – PREDUZEĆE

Baze podataka 2

Page 3: 3. Prevodjenje ER modela u relacioni model .pdf

0Relacioni model - koncepti

Tvorac relacionog modela podataka

je E.F. (Ted) Codd (1970)

Najpopularniji i najrasprostranjeniji model

podataka.

Teorijska osnova: matematička teorija

relacija i logika prvog reda.

Reprezentacija relacije: dvodimenzionalna

tabela.

Baze podataka 3

Page 4: 3. Prevodjenje ER modela u relacioni model .pdf

0Relacioni model - koncepti

Relacija – tabela sa vrstama i kolonama.

Atribut relacije – imenovana kolona relacije.

Domen atributa – skup dozvoljenih vrednosti atributa.

Torka relacije – vrsta (red) relacije.

Stepen relacije – broj atributa koje relacija sadrži.

Kardinalnost relacije – broj torki koje relacija sadrži.

Relaciona baza podataka – kolekcija normalizovanih relacija sa različitim imenom.

Šema relacije – opis relacije koji sadrži: ime relacije, imena i domen atributa.

Šema relacione baze podataka – skup šema relacije

Baze podataka 4

Page 5: 3. Prevodjenje ER modela u relacioni model .pdf

0Relacioni model - koncepti

Baze podataka 5

STUDENT ImeIndeks Adresa Godine Prosek

Petar Janković10112 Obilićev Venac 157 21 4,23

Branka Rajković10234 Topličina 12/23 21 4,89

Violeta Jovanović11435 Nemanjina 12 21 4,32

Janko Stanković11678 Nikole Pašića 23/45 21 4,03

AtributiIme relacije

Torke

Page 6: 3. Prevodjenje ER modela u relacioni model .pdf

0

Relacioni model - koncepti

EER model Relacioni model

Formalno Neformalno

Tip entiteta Relacija Tabela

Šema tipa entiteta Šema relacije Opis tabele

Instanca eniteta Torka Vrsta

Atribut Atribut Kolona

Domen (skup vrednosti)

atributa

Domen Tip podataka

Baze podataka 6

Page 7: 3. Prevodjenje ER modela u relacioni model .pdf

0Relacioni model - koncepti

Svojstva relacija

◦ Relacija ima ime koje se razlikuje od imena drugih relacija u šemirelacione baze podatka.

◦ Svaka ćelija tabele kojom je relacija predstavljena sadrži samojednu atomičnu vrednost.

◦ Svi atributi jedne relacije imaju različito ime.

◦ Sve vrednosti jednog atributa su iz istog domena.

◦ Sve torke jedne relacije su različite (nema duplikata).

◦ Redosled atributa u relaciji nije od značaja.

◦ Redosled torki u relaciji nema teorijskog značaja ali može uticatina efikasnost pristupa torkama relacije.

Baze podataka 7

Page 8: 3. Prevodjenje ER modela u relacioni model .pdf

0Relacioni model - koncepti

Ključevi relacije

◦ Ključ relacije – atribut ili skup atributa koji na jedinstveni načinidentifikuje svaku torku relacije.

◦ Primarni ključ – ključ kandidat koji je odabran da na jedinstveninačin identifikuje torke unutar relacije.

◦ Spoljni ključ - atribut ili skup atributa jedne relacije koji seuparuje sa ključem kandidatom neke druge relacije.

Baze podataka 8

Page 9: 3. Prevodjenje ER modela u relacioni model .pdf

0Relacioni model - koncepti

Relacioni integritet:

◦ Domenska ograničenja (domain constraints) – ograničava skupdozvoljenih vrednosti atributa relacije.

◦ Integritet entiteta – nijedan atribut primarnog ključa relacije nesme imati NULL vrednost.

◦ Referencijalni integritet – vrednosti spoljnih ključeva moraju bitijednake vrednosti ključa kandidata neke torke u matičnoj relacijiili mogu imati NULL vrednost.

◦ Ograničenja poslovanje (business constraints) – ograničenja kojadefiniše korisnik ili administrator baze podataka a proističu izpravila poslovanja realnog sistema za koji se baza projektuje.

Baze podataka 9

Page 10: 3. Prevodjenje ER modela u relacioni model .pdf

0Predstavljanje šeme relacione baze

podataka

RADNIK(LIme, SSlovo, Prezime, MatBr, DatRodj,

Pol, Plata, Adresa, MatBrojS, BrSek)

PROJEKAT(Naziv, LokPr, BrojPr, BrS)

Baze podataka 10

Page 11: 3. Prevodjenje ER modela u relacioni model .pdf

0Predstavljanje šeme relacione baze

podataka

RADNIK(LIme, SSlovo, Prezime, MatBr, DatRodj, Pol,

Plata, Adresa, MatBrojS, BrSek)

Primary key MatBr

Foreign key MatBrojS references RADNIK(MatBr)

Foreign key BrojSek references SEKTOR(SBroj)

Baze podataka 11

Page 12: 3. Prevodjenje ER modela u relacioni model .pdf

0Dijagram relacija

Baze podataka 12

LIme SSlovo Prezime MatBr DatRodj Pol Plata Adresa MatBrojS BrSek

RADNIK

Naziv LokPr BrojPr BrS

PROJEKAT

Page 13: 3. Prevodjenje ER modela u relacioni model .pdf

0Prevođenje ER modela u relacioni

model

Jedna od značajnih prednosti ER modela

nad ostalim modelima za konceptualno

projektovanje je mogućnost direktnog

prevođenja u relacioni model

(implementacioni model).

Preslikavanje se odvija kroz sedam

sukcesivnih koraka.

Primer: baza podataka PREDUZEĆE.

Baze podataka 13

Page 14: 3. Prevodjenje ER modela u relacioni model .pdf

0Baza podataka PREDUZEĆE

Naziv

CLAN-PORODICE

RADNIK

SEKTOR

PROJEKAT

JE-NOSILAC

Broj

Lokacija

RADI-NA

DatRodj

Ime

Pol

Srodstvo

Sati

RUKOVODI

RADI-U

DatumPostBrojRadnika

Naziv

Sbroj

Lokacija

NADZOR

Adresa

PlataPol

Ime

Prezime

SSlovo

LIme

MatBr

DatRodj

Rukovodi-

Sektorom

Nosi-

Projekat

ZavisiN

N

1

N

N

1

1

1

1

N

M

1

nadredjen podredjen

Izvrsilac

Rukovodilac

Radnik Sektor

Sektor-nosilac

RadnikProjekat

ZAVISI_OD

Baze podataka 14

Page 15: 3. Prevodjenje ER modela u relacioni model .pdf

01. korak – Prevođenje regularnih tipova

entitetaZa svaki regularni tip entiteta E u ER šemi kreira se relacija R koja sadrži sve prosteatribute i sve proste komponente svih složenih atributa iz E. Jedan od ključnih atributa izE se uzima za primarni ključ relacije R. Ako je ključni atribut u E složen, tada se njegovskup prostih atributa uzima zajedno kao primarni ključ u R.

Naziv

CLAN-PORODICE

RADNIK

SEKTOR

PROJEKAT

JE-NOSILAC

Broj

Lokacija

RADI-NA

DatRodj

Ime

Pol

Srodstvo

Sati

RUKOVODI

RADI-U

DatumPostBrojRadnika

Naziv

Sbroj

Lokacija

NADZOR

Adresa

PlataPol

Ime

Prezime

SSlovo

LIme

MatBr

DatRodj

Rukovodi-

Sektorom

Nosi-

Projekat

ZavisiN

N

1

N

N

1

1

1

1

N

M

1

nadredjen podredjen

Izvrsilac

Rukovodilac

Radnik Sektor

Sektor-nosilac

RadnikProjekat

ZAVISI_OD

Baze podataka 15

Page 16: 3. Prevodjenje ER modela u relacioni model .pdf

0

SEKTOR

PROJEKAT

RADNIK

1. korak – Prevođenje regularnih tipova

entiteta

Baze podataka 16

LIme SSlovo Prezime MatBr DatRodj Pol Plata Adresa

Naziv LokPr BrojPr

Naziv SektorBr

Page 17: 3. Prevodjenje ER modela u relacioni model .pdf

0

2. korak – Prevođenje slabih tipova entiteta

Za svaki slabi tip entiteta S u ER šemi čiji je vlasnik tip entiteta E kreira se relacija R kojasadrži sve proste atribute iz S i sve proste komponente svih složenih atributa iz S.Relacija R kao spoljašnji ključ sadrži sve atribute primarnog ključa relacije tipa entiteta E.Za primarni ključ relacije R uzima se kombinacija primarnog ključa vlasnika E iparcijalnog ključa slabog tipa entiteta S ukoliko on postoji.

Naziv

CLAN-PORODICE

RADNIK

SEKTOR

PROJEKAT

JE-NOSILAC

Broj

Lokacija

RADI-NA

DatRodj

Ime

Pol

Srodstvo

Sati

RUKOVODI

RADI-U

DatumPostBrojRadnika

Naziv

Sbroj

Lokacija

NADZOR

Adresa

PlataPol

Ime

Prezime

SSlovo

LIme

MatBr

DatRodj

Rukovodi-

Sektorom

Nosi-

Projekat

ZavisiN

N

1

N

N

1

1

1

1

N

M

1

nadredjen podredjen

Izvrsilac

Rukovodilac

Radnik Sektor

Sektor-nosilac

RadnikProjekat

ZAVISI_OD

Baze podataka 17

Page 18: 3. Prevodjenje ER modela u relacioni model .pdf

0

2. korak – Prevođenje slabih tipova entiteta

Baze podataka 18

SEKTOR

PROJEKAT

RADNIK

LIme SSlovo Prezime MatBr DatRodj Pol Plata Adresa

Naziv LokPr BrojPr

Naziv SektorBr

MatBrRad Ime Pol Srodstvo DatRodj

CLAN_PORODICE

Page 19: 3. Prevodjenje ER modela u relacioni model .pdf

0

3. korak – Prevođenje veza 1:1

Za svaki binarni tip veza R(1:1) u ER šemi identifikuju se relacije S i T koje odgovaraju tipovima entiteta kojiparticipiraju u R. Bira se jedna od ove dve relacije, recimo S, i u nju se kao spoljašnji ključ uključuje primarni ključrelacije T. Za relaciju S treba birati tip entiteta koji totalno participira u R. Kao atribute relacije S treba uključitisve proste atribute i sve proste komponente složenih atributa tipa veze R.

Može se izabrati i alternativno rešenje po kome se formira zajednička relacija za tipove entiteta S i T u koju seuključuju svi atributi iz obe relacije. Ovo je rešenje dobro kada oba tipa entiteta totalno participiraju u R i kadane participiraju ni u jednom drugom tipu veze.

Naziv

CLAN-PORODICE

RADNIK

SEKTOR

PROJEKAT

JE-NOSILAC

Broj

Lokacija

RADI-NA

DatRodj

Ime

Pol

Srodstvo

Sati

RUKOVODI

RADI-U

DatumPostBrojRadnika

Naziv

Sbroj

Lokacija

NADZOR

Adresa

PlataPol

Ime

Prezime

SSlovo

LIme

MatBr

DatRodj

Rukovodi-

Sektorom

Nosi-

Projekat

ZavisiN

N

1

N

N

1

1

1

1

N

M

1

nadredjen podredjen

Izvrsilac

Rukovodilac

Radnik Sektor

Sektor-nosilac

RadnikProjekat

ZAVISI_OD

Baze podataka 19

Page 20: 3. Prevodjenje ER modela u relacioni model .pdf

0

CLAN_PORODICE

3. korak – Prevođenje veza 1:1

Baze podataka 20

SEKTOR

PROJEKAT

RADNIK

LIme SSlovo Prezime MatBr DatRodj Pol Plata Adresa

Naziv LokPr BrojPr

Naziv SektorBr MatBrR DatPost

MatBrRad Ime Pol Srodstvo DatRodj

Page 21: 3. Prevodjenje ER modela u relacioni model .pdf

0

4. korak – Prevođenje veza 1:N

Za svaki binarni tip veze R(1:N) u ER šemi identifikuje se relacija S koja participira na Nstrani. U S se kao spoljašnji ključ uključuje primarni ključ relacije T koja predstavlja tipentiteta koji participira na 1 strani. Kao atribute relacije S treba uključiti sve prosteatribute i sve proste komponente složenih atributa tipa veze R.

Naziv

CLAN-PORODICE

RADNIK

SEKTOR

PROJEKAT

JE-NOSILAC

Broj

Lokacija

RADI-NA

DatRodj

Ime

Pol

Srodstvo

Sati

RUKOVODI

RADI-U

DatumPostBrojRadnika

Naziv

Sbroj

Lokacija

NADZOR

Adresa

PlataPol

Ime

Prezime

SSlovo

LIme

MatBr

DatRodj

Rukovodi-

Sektorom

Nosi-

Projekat

ZavisiN

N

1

N

N

1

1

1

1

N

M

1

nadredjen podredjen

Izvrsilac

Rukovodilac

Radnik Sektor

Sektor-nosilac

RadnikProjekat

ZAVISI_OD

Baze podataka 21

Page 22: 3. Prevodjenje ER modela u relacioni model .pdf

0

CLAN_PORODICE

4. korak – Prevođenje veza 1:N

Baze podataka 22

SEKTOR

PROJEKAT

RADNIK

LIme SSlovo Prezime MatBr DatRodj Pol Plata Adresa

Naziv LokPr BrojPr BrS

Naziv SektorBr MatBrR DatPost

MatBrojS BrSek

MatBrRad Ime Pol Srodstvo DatRodj

Page 23: 3. Prevodjenje ER modela u relacioni model .pdf

0

5. korak – Preslikavanje veza M:N

Za svaki binarni tip veze R(M:N) u ER šemi kreira se nova relacija S. U S se kaospoljašnji ključevi uključuju primarni ključevi relacija koje predstavljaju tipove entitetakoji participiraju u R. Kombinacija ovih spoljašnjih ključeva formira primarni ključ relacijeS. U relaciji S se takođe uključuju svi prosti atributi i sve proste komponente složenihatributa tipa veze R.

Naziv

CLAN-PORODICE

RADNIK

SEKTOR

PROJEKAT

JE-NOSILAC

Broj

Lokacija

RADI-NA

DatRodj

Ime

Pol

Srodstvo

Sati

RUKOVODI

RADI-U

DatumPostBrojRadnika

Naziv

Sbroj

Lokacija

NADZOR

Adresa

PlataPol

Ime

Prezime

SSlovo

LIme

MatBr

DatRodj

Rukovodi-

Sektorom

Nosi-

Projekat

ZavisiN

N

1

N

N

1

1

1

1

N

M

1

nadredjen podredjen

Izvrsilac

Rukovodilac

Radnik Sektor

Sektor-nosilac

RadnikProjekat

ZAVISI_OD

Baze podataka 23

Page 24: 3. Prevodjenje ER modela u relacioni model .pdf

0

5. korak – Preslikavanje veza M:N

Baze podataka 24

CLAN_PORODICE

SEKTOR

PROJEKAT

RADNIK

LIme SSlovo Prezime MatBr DatRodj Pol Plata Adresa

Naziv LokPr BrojPr BrS

Naziv SektorBr MatBrR DatPost

MatBrojS BrSek

MatBrRad Ime Pol Srodstvo DatRodj

Mbr BrPr Sati

RADI_NA

Page 25: 3. Prevodjenje ER modela u relacioni model .pdf

06. korak – Preslikavanje viševrednosnih

atributaZa viševrednosni atribut A tipa entiteta E ili tipa poveznika P kreira se nova relacija Rkoja sadrži atribut A i primarni ključ K relacije kojom je predstavljen tip entiteta E ili tipveze P. Za primarni ključ relacije R bira se konbinacija A i K. Ako je viševrednosniatribut složen uključuju se sve njegove proste komponente.

Naziv

CLAN-PORODICE

RADNIK

SEKTOR

PROJEKAT

JE-NOSILAC

Broj

Lokacija

RADI-NA

DatRodj

Ime

Pol

Srodstvo

Sati

RUKOVODI

RADI-U

DatumPostBrojRadnika

Naziv

Sbroj

Lokacija

NADZOR

Adresa

PlataPol

Ime

Prezime

SSlovo

LIme

MatBr

DatRodj

Rukovodi-

Sektorom

Nosi-

Projekat

ZavisiN

N

1

N

N

1

1

1

1

N

M

1

nadredjen podredjen

Izvrsilac

Rukovodilac

Radnik Sektor

Sektor-nosilac

RadnikProjekat

ZAVISI_OD

Baze podataka 25

Page 26: 3. Prevodjenje ER modela u relacioni model .pdf

0

Baze podataka 26

CLAN_PORODICE

SEKTOR

PROJEKAT

RADNIK

LIme SSlovo Prezime MatBr DatRodj Pol Plata Adresa

Naziv LokPr BrojPr BrS

Naziv SektorBr MatBrR DatPost

MatBrojS BrSek

MatBrRad Ime Pol Srodstvo DatRodj

Mbr BrPr Sati

RADI_NA

BrS Lokacija

LOK_SEK

6. korak – Preslikavanje viševrednosnih atributa

Page 27: 3. Prevodjenje ER modela u relacioni model .pdf

0

7. korak – Preslikavanje n-arnih veza

Za svaki n-arni tip veze R, n > 2, kreira se nova relacija S. U S se kao spoljašnji ključeviuključuju primarni ključevi relacija koje predstavljaju tipove entiteta koji participiraju u R.Kombinacija ovih spoljašnjih ključeva formira primarni ključ relacije S. U relaciji S setakođe uključuju svi prosti atributi i sve proste komponente svih složenih atributa n-arnog tipa veze.

Ako neki tip entiteta E participira u R sa ograničenjem (min,max) i ako je min = max=1,tada se kao primarni ključ relacije S može uzeti onaj spoljašnji ključni atribut kojim serelacija S referencira na relaciju kojom je predstavljen tip entiteta E.

Baze podataka 27

DIme

DOBAVLJAČ

PIme

PROJEKAT

BDela

DEO

DIme Pime BDela Količina

SNABDEVA

Page 28: 3. Prevodjenje ER modela u relacioni model .pdf

0Relacioni model baze podataka

PREDUZEĆE

Baze podataka 28

LIme SSlovo Prezime MatBr DatRodj Pol Plata Adresa MatBrojS BrSek

RADNIK

Naziv LokPr BrojPr BrS

PROJEKAT

Naziv SektorBr MatBrR DatPost

SEKTOR

MatBrRad Ime Pol Srodstvo DatRodj

CLAN_PORODICE

BrS Lokacija

LOK_SEK

Mbr BrPr Sati

RADI_NA

Page 29: 3. Prevodjenje ER modela u relacioni model .pdf

0Baza podataka - PREDUZEĆE

Baze podataka 29

LIme SSlovo Prezime MatBr DatRodj Pol Plata Adresa MatBrojS BrSek

RADNIK

Naziv LokPr BrojPr BrS

PROJEKAT

Naziv SektorBr MatBrR DatPost

SEKTOR

MatBrRad Ime Pol Srodstvo DatRodj

CLAN_PORODICE

BrS Lokacija

LOK_SEK

Mbr BrPr Sati

RADI_NA

Page 30: 3. Prevodjenje ER modela u relacioni model .pdf

0Baza podataka - PREDUZEĆE

Baze podataka 30

RADNIK

SEKTOR LOK_SEK

PROJEKAT

Page 31: 3. Prevodjenje ER modela u relacioni model .pdf

0Baza podataka - PREDUZEĆE

Baze podataka 31

RADI_NA

CLAN_PORODICE

Page 32: 3. Prevodjenje ER modela u relacioni model .pdf

0Baza podataka - PREDUZEĆE

Kompozitni atribut

Baze podataka 32

RADNIK

Page 33: 3. Prevodjenje ER modela u relacioni model .pdf

0Baza podataka - PREDUZEĆE

Unarna (rekurzivna) veza

Baze podataka 33

RADNIK

Page 34: 3. Prevodjenje ER modela u relacioni model .pdf

0Baza podataka - PREDUZEĆE

Veza 1:1

Baze podataka 34

RADNIK

SEKTOR

Page 35: 3. Prevodjenje ER modela u relacioni model .pdf

0Baza podataka - PREDUZEĆE

Veza 1:N

Baze podataka 35

SEKTOR

PROJEKAT

Page 36: 3. Prevodjenje ER modela u relacioni model .pdf

0Baza podataka - PREDUZEĆE

Veza M:N

Baze podataka 36

RADNIK

PROJEKAT

RADI_NA

Page 37: 3. Prevodjenje ER modela u relacioni model .pdf

0Baza podataka - PREDUZEĆE

Slabi tip entiteta

Baze podataka 37

RADNIK

CLAN_PORODICE

Page 38: 3. Prevodjenje ER modela u relacioni model .pdf

0Baza podataka - PREDUZEĆE

Viševrednosni atribut

Baze podataka 38

SEKTOR

LOK_SEK