3. Prevodjenje ER modela u relacioni model .pdf

Preview:

Citation preview

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

0Sadržaj

Relacioni model – Koncepti

Predstavljanje šeme relacione baze

podataka

Prevođenje ER modela u relacioni model

Baza podataka – PREDUZEĆE

Baze podataka 2

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

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

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

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

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

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

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

0Predstavljanje šeme relacione baze

podataka

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

Pol, Plata, Adresa, MatBrojS, BrSek)

PROJEKAT(Naziv, LokPr, BrojPr, BrS)

Baze podataka 10

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

0Dijagram relacija

Baze podataka 12

LIme SSlovo Prezime MatBr DatRodj Pol Plata Adresa MatBrojS BrSek

RADNIK

Naziv LokPr BrojPr BrS

PROJEKAT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

0Baza podataka - PREDUZEĆE

Baze podataka 30

RADNIK

SEKTOR LOK_SEK

PROJEKAT

0Baza podataka - PREDUZEĆE

Baze podataka 31

RADI_NA

CLAN_PORODICE

0Baza podataka - PREDUZEĆE

Kompozitni atribut

Baze podataka 32

RADNIK

0Baza podataka - PREDUZEĆE

Unarna (rekurzivna) veza

Baze podataka 33

RADNIK

0Baza podataka - PREDUZEĆE

Veza 1:1

Baze podataka 34

RADNIK

SEKTOR

0Baza podataka - PREDUZEĆE

Veza 1:N

Baze podataka 35

SEKTOR

PROJEKAT

0Baza podataka - PREDUZEĆE

Veza M:N

Baze podataka 36

RADNIK

PROJEKAT

RADI_NA

0Baza podataka - PREDUZEĆE

Slabi tip entiteta

Baze podataka 37

RADNIK

CLAN_PORODICE

0Baza podataka - PREDUZEĆE

Viševrednosni atribut

Baze podataka 38

SEKTOR

LOK_SEK

Recommended