1_pretvorba modela

Download 1_PRETVORBA MODELA

Post on 11-Jul-2015

144 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL

K.Straanac, N.Starevi,K.Flanjak M.Kolari, S.uljak, M.Tonevi

MODEL ENTITETI-VEZE ER(Entity Relationship)Realan svijet (ili njegov dio) moe se prikazati pomou dva primitvna koncepta:ENTITET I VEZA

ENTITET je bilo koji objekat koji se moe jednoznano identificirati VEZA povezuje dva ili vie entiteta

NAMJENA ER MODELAFormiranje konceptualnog (logikog) modela podataka Sredstvo komunikacije izmeu korisnika i analitiara i projektanta softwarea

PRIKAZ ER SHEME POMOU DIJAGRAMAObiaj je da se ER-shema nacrta kao dijagram u kojem su: tipovi entiteta prikazani kao pravokutne kuice veze kao romboidi krakovi veza imaju oznaku "1" ili "N" zavisno o vrsti veze prema nekom entitetu

RELACIJSKI MODELRelacijski model je teorijski zasnovao E.F. Codd krajem 60-tih godina. U relacijskom modelu baza podataka se sastoji od skupa pravokutnih tablica ili RELACIJA Svaka relacija ima ime po kojem se razlikuje od ostalih relacija u bazi podataka

ATRIBUTISvaki stupac relacije sadri vrijednost jednog atributa entiteta ili veze koji prikazuju relacijom (tablicom) Atribut ima svoje ime kojim se razlikuje od ostalih atributa Vrijednost jednog atributa su podaci iste vrste ili tipa Skup vrijednosti jednog atributa zovemo domenom atributa Vrijednost atributa treba biti jednostruka i jednostavna- ne smije se moi rastaviti na dijelove Broj atributa je stupanj relacije

N-TORKEJedan redak relacije predstavlja primjerak entitea ili biljei vezu izmeu dva ili vie primjeraka entiteta Primjerak zovemo n-torka U jednoj relaciji ne mogu biti dvije jednake n-torke Broj n-torki je kardinalnost relacije Relacija ne propisuje redoslije svojih ntorki ili atributa. Permutacijom stupaca ili redaka dobiva se drugi zapis, ali ista relacija

KLJUKlju K relacije R je podskup atributa od R, koji ima slijedea svojstva: Vrijednosti atributa iz K jednoznano odreuju n-torku u R Ako izbacimo iz K bilo koji atribut, tada se naruava 1. svojstvo Mogue je da postoji vie skupova atributa koji zadovoljavaju navedena svojstva, pa se tada jedan od njih proglaava primarnim kljuem, a skup atributa koji ine primarni klju zovu se primarni atributi.

RELACIJSKI MODEL vs. MODEL ENTITETI-VEZERELACIJSKI MODEL relacija (shema relacije) n-torka atribut vrijednost domena izvedeni atribut ---------pogled klju relacije klju relacije MODEL ENTITETI-VEZE tip entiteta pojava entiteta tip atributa vrijednost atributa tip vrijednosti atributa izvedeni tip atributa slabi tip entiteta podreeni/nadreeni tip entiteta tip slabe veze pogled (podmodel) klju tipa entiteta klju tipa veze

RELACIJSKI MODELprimarni klju nul-vrijednost kandidat za klju relacija relacija vanjski klju stupanj relacije osnovna relacija izvedena relacija poluizvedena relacija ------kardinalnost

MODEL ENTITETI-VEZEprimarni klju nul-vrijednost kandidat za klju asocijativni tip entiteta tip veze M:M tip veze 1:M ili 1:1 broj tipova atributa tipa entiteta tip entiteta pogled pogled kardinalnost veze kardinalnost atributa br. pojava entiteta za tip entiteta

POSTUPAK PRETVORBE MODELA ENTITETI-VEZE U RELACIJSKI MODELTijekom pretvorbe vie koncepata modela entiteti-veze pretvara se u jedan koncept relacijskog modela jer u relacijskom modelu ne postoje neki koncepti modela entiteti-veze. U relacijskom modelu se ogranienja (npr. ogranienje kardinalnosti veze) ne iskazuju formalno, u shemi baze podataka. Ako se ovo znanje eli izriito iskazati, nuno je to napraviti tekstom (npr. Na jednom projektu radi vie projektanata, a jedan projektant radi na nula, jednom ili vie projekata).

PRAVILA ZA PERTVORBU ER MODELA U R MODELPRAVILO 1.Vrijednost atributa pojave entiteta u modelu entitetiveze (npr.123) pretvara se u vrijednost atributa n-torke u relacijskom modelu. To se odnosi i na nul-vrijednost.PRAVILO 2. Tip vrijednosti atributa u modelu entiteti-veze (npr.CIJENA, to sadri skup cijena svih proizvoda poduzea) postaje domena klasinog relacijskog modela.

PRAVILO 3.Tip atributa u modelu entiteti-veze (npr. PREZIME ZAPOSLENIKA) postaje atribut relacijskog modela.

PRAVILO 4.Pojava entiteta u modelu entiteti-veze odgovara konceptu n-torke klasinog relacijskog modela i pretvara se u njega. Pojava entiteta je agregacija vrijednosti atributa, a n-torka je takoer agregacija atributa.

PRAVILO 5.Kandidat za klju entiteta u modelu entiteti-veze (npr. MATINI BROJ ZAPOSLENIKA I JMBG) postaje kandidat za klju n-torke relacijskog modela.

PRAVILO 6.Svaki tip entiteta iz modela entiteti-veze postaje relacija relacijskog modela i to tako da tipovi atributa postaju atributi sheme relacije, a primarni klju tipa entiteta postaje primarni klju sheme relacije. Tip entiteta ne mora se pretvoriti u shemu relacije ako je povezan samo s jednim tipom entiteta i to tipom veze (1,1):(1,1) Npr. Tip entiteta ZAPOSLENIK, iji su tipovi atributa MATINI BROJ (klju entiteta), PREZIME, IME, STAROST, postaje shema relacije:ZAPOSLENIK (MATINI BROJ, PREZIME, IME, STAROST)

PRAVILO 7.Izvedeni tip atributa u modelu entiteti-veze (npr. PROSJENA CIJENA PROIZVODA) odgovara konceptu izvedenog atributa u relacijskom modelu.

PRAVILO 8.U modelu entiteti-veze nije dozvoljen vieznani tip atributa tj. tip atributa koji pridruuje vie vrijednosti jednoj pojavi entiteta. Pojavljivanje vie vrijednosti istog atributa za jednu pojavu entiteta rezultira novim tipom entiteta, to je analogno normalizaciji u prvu normalnu formu relacijskog modela.

A) ENTITET S VIESTRUKIM ATRIBUTOM

ZAPOSLENIK(1,1) (1,1) (1,M) (1,M)

#Zaposlenika

(1,1) (1,M)

Prezime_i_ime

Radno_mjesto

B) IZDVAJANJE VIESTRUKOG ATRIBUTA U NOVI ENTITET (SPUTANJE KLJUA)

ZAPOSLENIK(1,1) (1,1) (1,M)

RADNO MJESTO ZAPOSLENIKA(1,1) (1,1)

#Zaposlenika

(1,1)

#Zaposlenika, Radno_mjesto

Prezime_i_ime

Tip entiteta ZAPOSLENIK ima atribut radno mjesto. Ako jedan ZAPOSLENIK moe raditi na vie radnih mjesta, to rezultira novim tipom entiteta RADNO MJESTO ZAPOSLENIKA, sa sloenim kljuem, iji je dio #ZAPOSLENIKA (sputanje kljua).

PRAVILO 9. Tip veze M:M (pri tome donje granice nisu znaajne) u modelu entiteti-veze postaje shema relacije klasinog relacijskog modela. Klju ove sheme relacije je sloen od kljueva oba tipa entiteta koji sudjeluju u vezi.

PRETVORBA VEZE TIPA M:MA) DIJAGRAM ENTITETI-VEZE POZNAJE

ZAPOSLENIK(1,1) (1,1) (1,M)

STRANI JEZIK(1,1) (1,1) (1,1)

#Zaposlenika(1,1)

#Stranog_jezika(1,1)

Prezime_i_ime

Naziv_stranog_jezika

B) SHEME RELACIJA KLASINOG RELACIJSKOG MODELA

ZAPOSLENIK (#ZAPOSLENIKA, PREZIME_I_IME) POZNAJE (#ZAPOSLENIKA, #STRANOG_JEZIKA) STRANI_JEZIK (#STRANOG_JEZIKA, NAZIV_STRANOG_JEZIKA)

PRAVILO 10. Tip veze s kardinalnostima (1,1):(0,M), odnosno tip veze u kojemu je kardinalnost s jedne strane potpuna (1:1), ne pretvara se u shemu relacije. U tipu entiteta, ija je svaka pojava vezana s jednom pojavom drugog tipa entiteta, klju tog entiteta postaje atribut i vanjski klju. Veza na dijagramu entiteti-veze nema atribute.

Pretvorba veze tipa (1,1):(0,M)A) DIJAGRAM ENTITETI-VEZEOSIGURAVA

PARTNERJE OSIGURAN OD

BROD(1,1) (1,1)(1,1)

(1,1)(1,1)

(1,M)

#Partnera(1,1)

#Broda(1,1)

Naziv_partnera

Naziv_broda

B) SHEMA RELACIJE KLASINOG RELACIJSKOG MODELAPARTNER (#PARTNERA, NAZIV_PARTNERA) BROD (#BRODA, NAZIV_BRODA, #PARTNERA)

PRAVILO 11.Svaki tip veze (0,1):M promatra se kao tip (0,M):M. Na taj nain se izbjegavaju problemi postojanja nul-vrijednosti u relaciji.

Npr. Ako na popisu brodova iz prethodnog primjera ima brodova koji ne uestvuju niti u jednom osiguranju broda, tada se model entiteti-veze pretvara u shemu relacije na slijedei nain:

PRAVILO 12. Ako dva tipa entiteta povezuje tip veze (1,1):(1,1), u shemu relacije pretvara se samo jedan tip entiteta (proizvoljno odabran), a toj se shemi dodaju i atributi drugog tipa entiteta. To znai da za klju sheme relacije moemo odabrati bilo koji od kljueva ta dva tipa entiteta.PRAVILO 13.

Tip veze (0,1):(1,1), odnosno tip veze koja je s jedne strane potpuna, a s druge djelomina, ne pretvara se u relaciju, kao tip veze s kardinalnou (1,1):(0,M).

PRAVILO 14.Svaki tip veze koja je s obje strane parcijalna, odnosno (0,1):(0,1), pretvara se u sheme relacije slino tipu veze s kardinalnou (0,M):(0,M): - Formiraju se tri sheme relacija (po jedna za svaki tip entiteta i jedna za tip veze). - Kandidati za klju sheme relacija, nastale od tipa veze, su kljuevi tipova entiteta. Jedan od njih postaje klju sheme relacije. Klju nije sloen od dva kljua kao kod tipa veze (0,M):(0,M).

PRAVILO 15. Svaki se asocijativni (mjeoviti) tip entiteta pretvara u relaciju. - Atributi asocijativnog tipa entiteta postaju atributi sheme relacija. - Klju sheme sloen je od kljueva tipova entiteta koji su sudjelovali u nastanku asocijativnog tipa. Nakon toga se pretvaranje odvija po prethodnim pravilima.

Pretvorba asocijativnog tipa entitetaA) DIJAGRAM ENTITETI-VEZE ZAPOSLENIK(1,1) (1,1) #Zaposlenika (1,1) (1,M)POZNAVANJE

STRANI JEZIK(1,1) (1,1) (1,1)

(1,1) (1,1)

(1,M)

#Zaposlenika,#Stranog_jezika

#Stranog_jezika(1,1)

(1,1)

Prezime_i_ime

Datum_polaganja

Naziv_stranog_jezika

B) SHEMA RELACIJA KLASINOG RELACIJSKOG MODELA ZAPOSLENIK (#ZAPOSLENIKA, PREZIME_I_IME) POZNAVANJE (#ZAPOSLENIKA, #STRANOG JEZIKA, DATUM_POLAGANJA) STRANI_JEZIK (#STRANOG_JEZIKA, NAZIV_STRANOG_JEZIKA)

PRAVILO 16. Ako tip veze povezuje vie od dva tipa entiteta (n-arna veza) tada se taj tip veze nadomjesti asocijativnim tipom entiteta, povezuje binarnim vezama i pretvara po prethodnim pravilima.PRAVILO 17. Specijalni se tipovi veze (identifikacijska, egzistencijalna i