model entiteti-vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/bojovic[2].pdf · model...
TRANSCRIPT
![Page 1: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/1.jpg)
Model Model EntitetiEntiteti--VezeVeze(Entity(Entity--Relationship Model)Relationship Model)
BAZE PODATAKA
![Page 2: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/2.jpg)
Model Entiteti-Veze
DefinicijaOgraničenjaDijagram E-VOdluke u DizajnuSkupovi Slabih EntitetaProširenje modela E-VDizajn Bankarskog Sistema
![Page 3: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/3.jpg)
Definicija modela Entiteti-Veze
Bazira se na percepciji realnog okruženja:• Baza podataka se modelira kao:
– Skup Entiteta,– Veza između entiteta.
• Entitet (Entity) je objekat koji postoji i razlikuje se od drugih objekata.– Primer: neka osoba, kompanija, događaj, ljubav
• Entiteti su opisani atributima (attribute)– Primer: ljudi imaju imena i adrese
• Skup Entiteta (Entity Set) je skup entiteta istogtipa.– Primer: skup svih ljudi, kompanija, drveća, praznika
![Page 4: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/4.jpg)
Skupovi Entiteta klijent i zajamcustomer_id customer_ customer_ customer_ loan_ amount
name street city number
![Page 5: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/5.jpg)
Veza i Skup Veza (1)
• Vezama (Relationship) su prikazani odnosi između entitetaPrimer:
Hayes depositor A-102customer entity relationship set account entity
• Skup Veza (Relationship set) je matematička relacijaizmeđu n ≥ 2 entiteta, od kojih svaki pripada nekom skupu entiteta
{(e1, e2, … en) | e1 ∈ E1, e2 ∈ E2, …, en ∈ En}
gde je (e1, e2, …, en) veza– Primer:
(Hayes, A-102) ∈ depositor
![Page 6: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/6.jpg)
Skup Veza pozajmiti (2)
![Page 7: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/7.jpg)
Skup Veza (3)• Skup Veza može takođe imati atribute.• Na primer, skup veza ulaganje (depositor) između skupova
entiteta klijent (customer) i račun (account) može imati atributdatum-pristupa (access-date)
![Page 8: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/8.jpg)
Stepen Skupa Veza
• Odnosi se na broj skupova entiteta koji učestvuju uskupu veza.
• Skupovi Veza koji uključuju dva skupa entiteta subinarni (ili stepena dva). Generalno, većina skupova veza u bazama podataka su binarne.
• Skupovi Veza mogu uključivati i više nego dvaskupa entiteta.
• Skupovi Veza koji uključuju više nego dva skupa entiteta su retki. Većina veza je binarna. (Više o tome kasnije)
Primer: Pretpostavimo da zaposleni banke mogu imati poslove(odgovornosti) u više ekspozitura, i to različite poslove u različitimekspoziturama. Tada važi ternarni skup veza između skupova entiteta zaposleni(employee), posao(job), i ekspozitura(branch)
![Page 9: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/9.jpg)
Atributi• Entitet je predstavljen skupom Atributa, kojima su
opisane osobine pojedinih entiteta u skupu entiteta.
• Domen – skup dozvoljenih vrednosti svakog atributa
• Tipovi Atributa:– Prosti (Simple) i Kompozitni (Composite) atributi.– Sa Jednom (Single-valued) i Više (Multi-valued) vrednosti
• Primer: više-vrednosni (multivalued) atribut: phone_numbers– Sračunljivi (Derived) atributi
• Mogu se sračunati iz drugih atributa• Primer: starost, sračunava se iz datum_rođenja
Primer: Customer=(customer_id, customer_name, customer_street, customer_city)loan = (loan_number, amount )
![Page 10: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/10.jpg)
Kompozitni Atributi
![Page 11: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/11.jpg)
Kardinalnost mapiranja (1)
• Izražava broj entiteta koji se mogu dovesti u vezu sa drugim entitetom.
• Najupotrebljivija za opisivanje binarnog skupa veza.
• Za binarni skup veza kardinalnost mapiranja može biti:– Jedan-u-jedan (One to one)– Jedan-u-više (One to many)– Više-u-jedan (Many to one)– Više-u-više (Many to many)
![Page 12: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/12.jpg)
Kardinalnost mapiranja (2)
Jedan-u-jedan Jedan-u-više
Primedba: Neki elementi u A i B ne moraju biti mapirani ni na jedan element drugog skupa
![Page 13: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/13.jpg)
Kardinalnost mapiranja (3)
Više-u-jedan Više-u-više
Primedba: Neki elementi u A i B ne moraju biti mapirani ni na jedan element drugog skupa
![Page 14: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/14.jpg)
Ključ
• Super ključ (super key) skupa entiteta jeskup jednog ili više atributa čije vrednostijednoznačno određuju svaki entitet.
• Kandidat ključ (candidate key) skupa entiteta je minimalni super ključ– Customer_id je kandidat ključ za customer– account_number je kandidat ključ za account
• Primarni ključ (primary key) je izabranikandidat ključ.
![Page 15: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/15.jpg)
Ključ Skupa Veza• Skup primarnih ključeva skupova entiteta u nekoj
vezi je super ključ skupa veza.– (customer_id, account_number) je super ključ za
depositor– Primedba: to znači da par skupova entiteta može imati
najviše jednu vezu u datom skupu veza. • Primer: Ako želimo da pratimo sve access_dates za svaki account
za svakog customer, ne možemo pretpostaviti vezu za svakipristup. Možemo koristiti više-vrednosni (multivalued) atribut
• Mora se uzeti u obzir kardinalnost mapiranja skupa veza pri odluci o kandidat ključu
• Potrebno je uzeti u obzir semantiku skupa veza pri izboru primarnog ključa u slučaju više od jednogkandidat ključa
![Page 16: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/16.jpg)
Dijagram E-V
Pravougaonici predstavljaju skupove entiteta.Rombovi predstavljaju skupove veza.Linije povezuju atribute sa skupovima entiteta i skupoveentiteta sa skupovima veza.Elipse predstavljaju atribute
Dvostruke elipse predstavljaju više-vrednosne atribute.Isprekidane elipse predstavljaju sračunljive atribute.
Podvučeno ime označava atribute primarnog ključa
![Page 17: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/17.jpg)
Dijagram E-V sa Kompozitnim, Više-vrednosnim, i SračunljivimAtributima
![Page 18: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/18.jpg)
Atributi Skupa Veza
![Page 19: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/19.jpg)
Uloge• Skupovi entiteta u vezi ne moraju biti isključivi.• Labele “manager” i “worker” se nazivaju Uloge; specificiraju
kako entiteti employee učestvuju u skupu veza works_for.• Uloge se označavaju labelama linija koje povezuju skupove
veza i entiteta.• Uloge su obično implicitne, specificiraju se samo ako nije
očigledna semantika veze.
![Page 20: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/20.jpg)
Izražavanje Kardinalnosti Mapiranja
• Kardinalnost mapiranja se izražavausmerenom linijom (→), označavajući“jedan,” ili neusmerenom linijom (—), označavajući“više”.
• Veza jedan-u-jedan:– customer je povezan sa najviše jednim loan
vezom borrower– loan je povezan sa najviše jednim customer
vezom borrower
![Page 21: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/21.jpg)
Veza Jedan-u-Više
• U vezi jedan-u-više loan je povezan sa najviše jednim customer vezom borrower, a customer je povezan sa više (uključujući 0) loans vezom borrower
![Page 22: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/22.jpg)
Veza Više-u-Jedan
• U vezi više-u-jedan loan je povezan sa više(uključujući 0) customers vezom borrower, a customer je povezan sa najviše jednim loanvezom borrower
![Page 23: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/23.jpg)
Veza Više-u-Više
• customer je povezan sa više (uključujući 0) loans vezom borrower
• loan je povezan sa više (uključujući 0) customers vezom borrower
![Page 24: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/24.jpg)
Učešće Skupa Entiteta u Skupu VezaTotalno učešće (predstavljeno duplom linijom): svaki entitetu skupu entiteta učestvuje u najmanje jednoj vezi u skupu veza
Na primer učešće loan u borrower je totalnosvaki loan mora imati customer povezanog vezomborrower
Parcijalno učešće: neki entiteti ne moraju učestvovati ni ujednoj vezi u skupu veza
Primer: učešće customer u borrower je parcijalno
![Page 25: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/25.jpg)
Alternativna notacijakardinalnosti veza
Opseg vrednosti dat brojevima označava kardinalnost mapiranja (min..max)
![Page 26: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/26.jpg)
Dijagram E-V sa ternarnom Vezom
![Page 27: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/27.jpg)
Ograničenja kardinalnosti na ternarnim vezama
• Dozvoljena je najviše jedna strelica iz ternarne (ili većegstepena) veze za označavanje ograničenja kardinalnosti
• Npr. strelica iz works_on prema job označava da svakiemployee radi na najviše jednom poslu u bilo kojoj ekspozituri.
• Ako postoji više nego jedna strelica, dve su moguće interpretacije značenja. – Npr. ternarna veza R između A, B i C sa strelicom prema B i
C može značiti1. svaki entitet iz A je u vezi sa jednim entitetom iz B i C ili2. svaki par entiteta iz (A, B) je u vezi sa jednim entitetom izC, i svaki par (A, C) je u vezi sa jednim entitetom iz B
– Da bi se izbegla konfuzija zabranjuje se više od jedne strelice
![Page 28: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/28.jpg)
Odluke u Dizajnu
• Korišćenje skupova entiteta vs. atributaIzbor uglavnom zavisi od strukture sistema kojimodeliramo, i od semantike atributa.
• Korišćenje skupova entiteta vs. skupova vezaMoguće uputstvo je određivanje skupa veza za opisaktivnosti između entiteta
• Binarni vs. n-arni skupovi vezaMada je moguće prevesti bilo koji nebinarni (n-arni, za n > 2) skup veza u više posebnih binarnihskupova veza, n-arni skup veza jasnije pokazuje daviše entiteta učestvuje u jednoj vezi.
• Korišćenje atributa skupova veza
![Page 29: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/29.jpg)
Binarne vs. Ne-Binarne Veze
• Neke veze koje izgledaju ne-binarne mogu bitibolje predstavljene kao binarne veze– Npr. Ternarnu vezu roditelji, koja povezuje dete sa
ocem i majkom, je bolje zameniti sa dve binarne veze, otac i majka
• Korišćenje dve binarne veze dozvoljava parcijalnu informaciju(npr. Poznata je samo majka)
– Ali postoje neke veze koje su prirodno ne-binarne• Primer: works_on
![Page 30: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/30.jpg)
Konvertovanje ne-binarnih u binarne veze (1)
• Generalno, svaka ne-binarna veza može biti predstavljenabinarnim vezama kreiranjem veštačkih skupova entiteta.– Zameniti vezu R između skupova entiteta A, B i C sa skupom entiteta E,
i tri skupa veza:
1. RA, koja povezuje E i A 2.RB, koja povezuje E i B3. Rc, koja povezuje E i C
– Uvesti poseban identifikacioni atribut za E– Dodati atribute veze R u E – Za svaku vezu (ai , bi , ci) u R, uvesti
1. novi entitet ei u skup entiteta E 2. dodati (ei , ai ) u RA
3. dodati (ei , bi ) u RB 4. dodati (ei , ci ) u RC
![Page 31: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/31.jpg)
Konvertovanje ne-binarnih u binarne veze (2)
• Takođe je potrebno prevesti ograničenja– Prevođenje svih ograničenja nije uvek moguće– Može biti instanci u prevedenoj šemi koje ne odgovaraju
ni jednoj instanci veze R• Zadatak: dodati ograničenja u veze RA, RB i RC da bi novi entiteti
odgovarali tačno jednom entitetu u svakom od skupova entitetaA, B i C
– Može se izbeći uvođenje identifikacionog atributapravljenjem E kao skupa slabih entiteta koji se identifikujeposredstvom tri skupa veza
![Page 32: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/32.jpg)
Uticaj kardinalnosti mapiranja na dizajn E-V
Moguće access-date uvesti kao atribut za entitet account, umesto kao atribut veze, ako svaki račun može pripadati samojednom klijentu
Odnosno, veza računa sa klijentom je više u jedan, iliequivalentno, klijent sa računom je jedan u više
![Page 33: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/33.jpg)
Skupovi Slabih Entiteta (1) • Skup entiteta koji nema primarni ključ se označava kao Skup
Slabih Entiteta (Weak Entity Set).• Egzistencija skupa slabih entiteta zavisi od postojanja
identifikacionog skupa entiteta (identifying entity set)– mora biti u vezi sa identifikacionim skupom entiteta
postedstvom totalnog, jedan-u-više skupa veza odidentifikacionog prema skupu slabih entiteta
– Identifikaciona veza se označava dvostrukim rombom• Diskriminator skupa slabih entiteta je skup atributa na
osnovu kojih se mogu razlikovati entiteti u skupu slabih entiteta.
• Primarni ključ skupa slabih entiteta se formira od primarnogključa jakog skupa entiteta od koga je skup slabih entitetaegzistencijalno zavistan, plus diskriminator skupa slabihentiteta.
![Page 34: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/34.jpg)
Skupovi Slabih Entiteta (2)• Skup slabih entiteta se označava dvostrukim
pravougaonikom.• Diskriminator skupa slabih entiteta se označava
isprekidanom linijom.• payment_number – diskriminator skupa entiteta
payment• Primarni ključ za payment – (loan_number,
payment_number)
![Page 35: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/35.jpg)
Skupovi Slabih Entiteta (3)
• Primedba: Primarni ključ skupa jakih entiteta seeksplicitno ne nalazi u skupu slabih entiteta, već je dat implicitno posredstvom identifikacione veze.
• Npr., ako je loan_number eksplicitno dat, paymentmože postati jak entitet, ali je tada veza izmeđupayment i loan duplicirana implicitnom vezomdefinisanom posredstvom atributa loan_numberkoji je zajednički za payment i loan
![Page 36: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/36.jpg)
Skupovi Slabih Entiteta (Primeri)
• U modelu univerziteta, course je jak entitet, a course_offering može biti modeliran kao slab entitet
• Diskriminator course_offering može biti semester(uključuje godinu) i section_number (ako ima višedelova)
• Ako modeliramo course_offering kao jak entitettada course_number modeliramo kao atribut. Onda je veza sa course implicitna posredstvom atributa course_number
![Page 37: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/37.jpg)
Specijalizacija
• Top-down proces dizajna; Delimo skup entiteta na više podskupova entiteta čime ističemo razlike koje među njima postoje.
• Podskupovi entiteta postaju skupovi entiteta nižeg nivoa u odnosu na polazni skup i imaju nekeatribute ili učestvuju u nekim vezama koje nema iliu kojima ne učestvuje skup entiteta višeg nivoa.
• Označava se trouglom sa labelom ISA (Npr. customer “is a” person).
• Nasleđivanje (inheritance) atributa – skupovi entiteta nižeg nivoa nasleđuju sve atribute i vezeskupa entiteta višeg nivoa sa kojim su povezani.
![Page 38: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/38.jpg)
Specijalizacija (Primer)
![Page 39: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/39.jpg)
Generalizacija
• Bottom-up proces dizajna– grupisanje više skupova entiteta koji imaju zajedničke osobine u skup entiteta višeg nivoa.
• Specijalizacija i generalizacija su inverzije jedna druge; Predstavljene su na isti način u dijagramuE-V.
• Koriste se saglasno tome da li želimo da istaknemo razlike(specijalizacija) ili sličnosti(generalizacija) koje postoje između pojedinih skupova entiteta.
![Page 40: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/40.jpg)
Specializacija i Generalizacija
• Možemo imati više specijalizacija skupa entitetazavisno od razlika koje želimo da istaknemo.
• Npr. permanent_employee vs. temporary_employee, i/ili officer vs. secretary vs. teller
• Svaki zaposleni može biti– član permanent_employee ili temporary_employee, – i takođe član officer, secretary, ili teller
• Veza ISA se označava i kao veza superclass -subclass
![Page 41: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/41.jpg)
Ograničenja dizajna za Specializaciju i Generalizaciju (1)
• Ograničenja za uključivanje entiteta u skupovenižeg nivoa.– uslovom-definisana
• Primer: svi klijenti preko 65 godina su članovi skupa entiteta senior-citizen; senior-citizen ISA person.
– korisnički-definisana• Ograničenja za određivanje da li entiteti mogu
pripadati više nego jednom skupu entiteta nižeg nivoa u jednoj generalizaciji.– Disjoint
• entitet može pripadati samo jednom skupu entiteta nižeg nivoa• U dijagramu E-V se označava upisivanjem disjoint uz ISA trougao
– Overlapping• entitet može pripadati više nego jednom skupu entiteta nižeg
nivoa
![Page 42: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/42.jpg)
Ograničenja dizajna za Specializaciju i Generalizaciju (2)
• Ograničenje Potpunosti (Completenessconstraint) – specificira da li entitet u skupu entiteta višeg nivoa mora pripadati najmanje jednom od skupova entiteta nižeg nivoa u generalizaciji.
– totalno : entitet mora pripadati jednom od skupova entiteta nižeg nivoa (generalizacija account je totalna)
– parcijalno: entitet ne mora pripadati ni jednom od skupova entiteta nižeg nivoa
![Page 43: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/43.jpg)
Agregacija (1)
Razmotrimo ranije pomenutu ternarnu vezu works_on
Pretpostavimo da želimo da imamo informacije o menadžerimaza poslove koje su zaposleni uradili u ekspoziturama
![Page 44: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/44.jpg)
Agregacija (2) • Skupovi veza works_on i manages se preklapaju
– Svaka veza manages odgovara vezi works_on– Međutim, neke veze works_on ne moraju
odgovarati ni jednoj vezi manages• Prema tome ne možemo izbaciti vezu works_on
• Ova redundantnost se može eliminisati Agregacijom– Vezu posmatramo kao abstraktni entitet višeg nivoa– Dozvoljava se veza između veza– Abstrakciju veze uključujemo u novi entitet
• Dobijamo sledeći dijagram:– Zaposleni radi neki posao u nekoj ekspozituri– Kombinacija zaposleni, ekspozitura, posao može
imati pridruženog menadžera
![Page 45: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/45.jpg)
Agregacija (3)
![Page 46: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/46.jpg)
Odluke u procesu dizajna
• Korišćenje atributa ili skupa entiteta zapredstavljanje objekta.
• Da li je realno okruženje bolje predstavljenoskupom entiteta ili skupom veza.
• Korišćenje ternarne veze ili para binarnih veza.• Korišćenje skupa jakih ili slabih entiteta.• Korišćenje specijalizacije/generalizacije – doprinosi
modularnosti dizajna.• Korišćenje agregacije – tretiranje agregiranog skupa
entiteta kao celine bez razmatranja detalja njegoveinterne strukture.
![Page 47: Model Entiteti-Vezerti.etf.bg.ac.rs/rti/bp1/materijali/predavanja/Bojovic[2].pdf · Model Entiteti-Veze Definicija Ograničenja Dijagram E-V Odluke u Dizajnu Skupovi Slabih Entiteta](https://reader031.vdocuments.pub/reader031/viewer/2022021816/5a7877ce7f8b9a7b698b7f23/html5/thumbnails/47.jpg)
Dijagram E-V za bankarski sistem