Вы находитесь на странице: 1из 35

Baze podataka i SQL

Modeli podataka

Dr Samim Konjicija, dipl. ing. el.

Kiseljak, 19.4.2010.

Sadraj predavanja
Entiteti i skupovi entiteta eme relacija Ogranienja Kljuevi E-R dijagram Dizajniranje E-R eme Predstavljanje E-R eme tabelama

Entiteti i skupovi entiteta


Baza podataka se moe modelirati kao: Skup/Klasa entiteta eme relacija izmeu entiteta Entitet je objekat koji postoji i koji se razlikuje od ostalih objekata Primjeri entiteta: konkretna osoba, kompanija, dogaaj, predmet, ... Entiteti imaju atribute Atribut odraava neko svojstvo entiteta Primjer: osobe imaju imena i adrese Skup/Klasa entiteta se sastoji od entiteta istog tipa, koji imaju zajednika svojstva Primjer: skup svih osoba, kompanija, dogaaja, predmeta, ...

Primjer entiteta i skupa entiteta


customer-id customer- customer- customername street city loan- amount number

Atributi
Entitet se predstavlja skupom atributa, odnosno opisnih svojstava koja posjeduju svi lanovi skupa entiteta Primjer:

customer = (customer-id, customer-name, customer-street, customer-city) loan = (loan-number, amount)


Svaki atribut posjeduje domen Domen predstavlja skup dozvoljenih vrijednosti atributa Tipovi atributa: Jednostavni i sloeni atributi Jednovrijednosni i vievrijednosni atributi Primjer vievrijednosnog atributa: brojevi telefona Mogu se odrediti na osnovu vrijednosti drugih atributa Primjer: Broj godina osobe se moe odrediti na osnovu poznavanja datuma roenja Izvedeni atributi

Atributi
Primjer sloenog atributa i njegovih komponenti:

eme relacija
Relacija predstavlja vezu izmeu vie entiteta Primjer:
OsobaXY entitet korisnik relacija L-14 entitet

ema relacija je matematika relacija izmeu 2 i vie entiteta, pri emu svaki od entiteta pripada odgovarajuem skupu entiteta:

{ e 1 ,e 2 , ,e n e 1 E 1 ,e 2 E 2 , ,e n E n }
gdje (e1, e1, ..., en) predstavlja relaciju Primjer: (OsobaXY, L-14) korisnik

eme relacija
Primjer eme relacija:

eme relacija
Atribut moe biti svojstvo eme relacija

Stepen eme relacija


Relaciju koja povezuje entitete karakterizira stepen Stepen definira broj skupova entiteta koji uestvuju u relaciji Relacije koje povezuju dva skupa eniteta se nazivaju binarnim (ili relacijama stepena 2) Veina relacija u bazama podataka su binarne Pored binarnih, postoje i relacije koje povezuju vei broj skupova entiteta

Stepen eme relacija


Primjer binarne relacije: Zaposlenik banke ima odreenja zaduenja Binarna relacija povezuje skup zaposlenika sa skupom zaduenja Zaposlenik banke ima razliita zaduenja u razliitim filijalama Ternarna relacija povezuje skup zaposlenika, skup filijala i skup zaduenja

Primjer ternarne relacije (relacije stepena 3):

Kardinalnost eme relacija


Relaciju karakterizira i kardinalnost Kardinalnost predstavlja broj entiteta sa kojima je neki entitet povezan relacijom Kardinalnost je korisna za opisivanje binarnih relacija Za binarne relacije, kardinalnost moe biti: 1:1 (one-to-one) 1:N (one-to-many) N:1 (many-to-one) N:N (many-to-many)

Kardinalnost eme relacija


Moe se desiti i da neki elementi skupa nisu mapirani ni na jedan element drugog skupa

1:1

1:N

Kardinalnost eme relacija


Moe se desiti i da neki elementi skupa nisu mapirani ni na jedan element drugog skupa

N:1

N:N

Kardinalnost i atributi eme relacija


Atribut eme relacija se moe predstaviti kao atribut entiteta

E-R dijagrami
Predstavljaju skupove entiteta, njihove atribute i relacije izmeu skupova entiteta Koriste se razliiti elementi: Pravougaonici skupovi entiteta Rombovi skupovi relacija Linije veze atributa sa entitetima i entiteta sa relacijama Elipse atributi Dvostruke elipse vievrijednosni atributi Isprekidane elipse izvedeni atributi Podvuene oznake atributi primarnog kljua

Primjer E-R dijagrama

Primjer E-R dijagrama


Na E-R dijagramu mogu biti predstavljeni i atributi relacija

E-R dijagrami
Relacija ne mora povezivati razliite skupove entiteta Entitet moe imati razliite uloge Uloga entiteta se oznaava pored linije koja povezuje entitet i relaciju Oznaavanje uloga dodatno pojanjava znaenje relacije

E-R dijagrami i ogranienja kardinalnosti


Kardinalnost se naznaava na linijama koje povezuju relacije i entitete Strelica na liniji oznaava kardinalnost 1 Odsustvo strelice oznaava kardinalnost N Primjer relacije 1:1:

E-R dijagrami i ogranienja kardinalnosti


Primjer relacija 1:N i N:1

E-R dijagrami i ogranienja kardinalnosti


Primjer relacije N:N

Treba napomenuti da broj entiteta koje relacija povezuje moe biti i 0

Uee entiteta u relaciji


Entiteti mogu uestvovati u relaciji potpuno ili djelimino Potpuno uee entiteta u relaciji (oznaeno dvostrukom linijom) podrazumijeva da svaki entitet skupa entiteta uestvuje u barem jednoj relaciji iz eme relacija Primjer: Ne moe postojati kredit koji nije u relaciji sa nekim od klijenata banke Djelimino uee entiteta u relaciji podrazumijeva da neki entiteti ne moraju obavezno uestvovati ni u jednoj relaciji iz eme relacija Primjer: Klijent banke ne mora biti u relaciji ni sa jednim kreditom (nema kredita)

Kljuevi
Klju predstavlja atribut koji stoji u vezi sa nekim entitetom Super klju skupa entiteta predstavlja skup jednog ili vie atributa ije vrijednosti jedinstveno odreuju svaki entitet skupa entiteta Kandidatski klju skupa entiteta predstavlja minimalni super klju Jedan od kandidatskih kljueva se moe odabrati za primarni klju skupa entiteta Primjer: Super klju se moe sastojati od JMBG i broja line karte klijenta banke Svaki od ova dva atributa predstavlja kandidatski klju Bilo koji od ova dva atributa se moe uzeti za primarni klju

Pri izboru kandidatskih kljueva treba voditi rauna o kardinalnosti relacije Pri izboru primarnih kljueva entiteta treba voditi rauna o znaenju relacije Kombinacija primarnih kljueva entiteta koji uestvuju u relaciji predstavlja super klju relacije

Slabi skup entiteta


Slabi skup entiteta je skup entiteta koji ne moe samostalno formirati primarni klju Slabi skup entiteta mora biti povezan sa drugim (jakim) skupom entiteta koji ga u potpunosti identificira Slabi skup entiteta posjeduje parcijalni klju (diskriminator) koji omoguava razlikovanje slabog entiteta od svih drugih Primarni klju slabog skupa entiteta se formira od primarnog kljua jakog skupa entiteta i parcijalnog kljua slabog entiteta

Pregled simbola u E-R dijagramima

Pregled simbola u E-R dijagramima

Reduciranje E-R eme na tabele


Primarni kljuevi omoguavaju da se skupovi entiteta i eme relacija predstave tabelama Tabele predstavljaju sadraj baze podataka Svaka baza podataka koja je opisana E-R dijagramom se moe predstaviti skupom tabela Jedinstvena tabela se kreira za svaki skup entiteta i emu relacija Naziv tabele odgovara nazivu skupa entiteta ili eme relacija Svaka tabela ima odreen broj kolona (koje odgovaraju atributima) sa jedinstvenim imenima Konverzija E-R dijagrama u format tabela predstavlja osnovu za projektovanje relacione baze podataka na osnovu E-R dijagrama

Predstavljanje skupa entiteta tabelom


Svaki atribut entiteta predstavlja kolonu tabele

Predstavljanje skupa entiteta tabelom


Tabela slabog skupa entiteta sadri i kolonu koja odgovara primarnom kljuu jakog skupa entiteta sa kojim je slabi skup entiteta vezan

Predstavljanje sloenih i vievrijednosnih atributa


Sloeni atributi se predstavljaju odvojenim prostim atributima za svaku komponentu sloenog atributa Primjer: Sloeni atribut name se sastoji od komponenata name.first-name i name.last-name Komponente sloenog atributa se u tabeli predstavljaju prostim atributima first-name i last-name

Vievrijednosni atribut M entiteta E se predstavlja zasebnom tabelom EM Tabela EM ima kolone koje odgovaraju primarnom kljuu entiteta E i atributu koji odgovara vievrijednosnom atributu M Primjer: Entitet customer ima vievrijednosni atribut phone-number U zasebnoj tabeli se predstavljaju jedinstveni kljuevi koji identificiraju entitete customer i odgovarajue vrijednosti phone-number

Svaka vrijednost vievrijednosnog atributa se predstavlja zasebnim redom u tabeli

Predstavljanje ema relacija tabelama


Relacije kardinalnosti N:N se predstavljaju tabelama koje sadre kolone za svaki od primarnih kljueva skupova entiteta koji uestvuju u relaciji Eventualno tabela moe sadravati i dodatne atribute koji opisuju relaciju

Redundantnost u tabelama
Relacije 1:N i N:1 se mogu predstaviti dodatnim atributom na strani N, koji sadri primarni klju druge strane Umjesto kreiranja zasebne tabele account-branch, moe se skupu entiteta account dodati atribut branch U sluaju relacije 1:1, atribut se moe dodati bilo kojoj od dvije strane U sluaju da je uee entiteta u relaciji djelimino, dodani atribut moe biti prazan Ova vrijednost se u tabeli predstavlja sa NULL

Primjer

Вам также может понравиться