![Page 1: SEMANTI ČKO MODELIRANJEpoincare.matf.bg.ac.rs/~gordana/PRED1.pdf · 2018-02-22 · TAKMI ČENJE: Entiteti i odnosi (I) Jednu ekipu opisuje obeležje koje je razlikuje od drugih ekipa](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e507cc0bd8137622c6afcbd/html5/thumbnails/1.jpg)
SEMANTIČKO MODELIRANJE
• Tradicionalni modeli • nedovoljno razgraničavaju spoljašnji nivo od
konceptualnog• slabo podržavaju semantiku atributa (npr. nad istim
domenom)
• slabo podržavaju odnose među tipovima entiteta• Primer: tip entiteta programer / radnik / osoba
• Potreba za modelima sa semantičkom komponentom
• Semantičko modeliranje: predstavljenje značenja podataka modelom podataka
• Semantički model
1/25
![Page 2: SEMANTI ČKO MODELIRANJEpoincare.matf.bg.ac.rs/~gordana/PRED1.pdf · 2018-02-22 · TAKMI ČENJE: Entiteti i odnosi (I) Jednu ekipu opisuje obeležje koje je razlikuje od drugih ekipa](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e507cc0bd8137622c6afcbd/html5/thumbnails/2.jpg)
SEMANTIČKO MODELIRANJE
• Koncepti: Entitet Svojstvo (atribut) Odnosi među entitetima / postupci
• Asocijacija / agregacija• Podtip / specijalizacija• Nadtip/ generalizacija
• Operacije i pravila integriteta• Okvir za logičko projektovanje
2/25
![Page 3: SEMANTI ČKO MODELIRANJEpoincare.matf.bg.ac.rs/~gordana/PRED1.pdf · 2018-02-22 · TAKMI ČENJE: Entiteti i odnosi (I) Jednu ekipu opisuje obeležje koje je razlikuje od drugih ekipa](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e507cc0bd8137622c6afcbd/html5/thumbnails/3.jpg)
SEMANTIČKO MODELIRANJE
• Entitet Samostalni Opisni Primer: radnik / dete_radnika; učenik / roditelj Sopstvena svojstva (atributi,
karakteristike)
3/25
![Page 4: SEMANTI ČKO MODELIRANJEpoincare.matf.bg.ac.rs/~gordana/PRED1.pdf · 2018-02-22 · TAKMI ČENJE: Entiteti i odnosi (I) Jednu ekipu opisuje obeležje koje je razlikuje od drugih ekipa](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e507cc0bd8137622c6afcbd/html5/thumbnails/4.jpg)
SEMANTIČKO MODELIRANJE
• Asocijacija M:N odnos (i sopstveni atributi) Primer: RADNIK, PREDUZEĆE -
odnos ZAPOSLENJE; svojstva datum, status, položaj, prihod, itd.
Asocijativni entitet
425
![Page 5: SEMANTI ČKO MODELIRANJEpoincare.matf.bg.ac.rs/~gordana/PRED1.pdf · 2018-02-22 · TAKMI ČENJE: Entiteti i odnosi (I) Jednu ekipu opisuje obeležje koje je razlikuje od drugih ekipa](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e507cc0bd8137622c6afcbd/html5/thumbnails/5.jpg)
SEMANTIČKO MODELIRANJE
• Odnos podtip/nadtip (X, Y)• Entitet tipa X tipa Y• X – podtip, Y nadtip• Y nadtip za veći broj tipova X1, …, Xn• X podtip samo tipa Y (u tom odnosu)• Nadtip → unija podtipova• Primer: OSOBA → ∪{RADNIK, STUDENT, PENZIONER,
NEZAPOSLENO LICE}• Ime odnosa: značenje preslikavanja (npr. “po zanimanju
je”)
5/25
![Page 6: SEMANTI ČKO MODELIRANJEpoincare.matf.bg.ac.rs/~gordana/PRED1.pdf · 2018-02-22 · TAKMI ČENJE: Entiteti i odnosi (I) Jednu ekipu opisuje obeležje koje je razlikuje od drugih ekipa](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e507cc0bd8137622c6afcbd/html5/thumbnails/6.jpg)
SEMANTIČKO MODELIRANJE
• Apstrakcija Asocijacija - agregacija Generički tip - genaralizacija Podtipovi - specijalizacija Klasični modeli - primeri:
• Opisni entitet: RADNIK-DETE• Asocijativni entitet: NASTAVNIK-PREDMET-PREDAVANJE• Generalizacija: OSOBA - STUDENT, …
Uslov generalizacije (i u SQL2) Pogledi
6/25
![Page 7: SEMANTI ČKO MODELIRANJEpoincare.matf.bg.ac.rs/~gordana/PRED1.pdf · 2018-02-22 · TAKMI ČENJE: Entiteti i odnosi (I) Jednu ekipu opisuje obeležje koje je razlikuje od drugih ekipa](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e507cc0bd8137622c6afcbd/html5/thumbnails/7.jpg)
PROŠIRENI MODEL ENTITETA I ODNOSA (EER)• ER: Peter Chen• Nije model u pravom smislu• Dijagramska tehnika • Primena u semantičkoj metodi logičkog
projektovanja • Shema se transformiše u relacionu • Tanki sloj nad relacionim modelom• Proširenja - PMEO (EER)
7/25
![Page 8: SEMANTI ČKO MODELIRANJEpoincare.matf.bg.ac.rs/~gordana/PRED1.pdf · 2018-02-22 · TAKMI ČENJE: Entiteti i odnosi (I) Jednu ekipu opisuje obeležje koje je razlikuje od drugih ekipa](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e507cc0bd8137622c6afcbd/html5/thumbnails/8.jpg)
PROŠIRENI MODEL ENTITETA I ODNOSA (EER)• Strukturni deo PMEO
Entitet, atributi Klasa entiteta : tip entiteta (npr. STUDENT) Atribut - preslikavanje; 1-1 - identifikator (primarni ključ)
Odnos (klasa, tip); • Binarni• Agregirani entiteti• Imenovana preslikavanja, kardinalnost• Primer:
8/25
![Page 9: SEMANTI ČKO MODELIRANJEpoincare.matf.bg.ac.rs/~gordana/PRED1.pdf · 2018-02-22 · TAKMI ČENJE: Entiteti i odnosi (I) Jednu ekipu opisuje obeležje koje je razlikuje od drugih ekipa](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e507cc0bd8137622c6afcbd/html5/thumbnails/9.jpg)
PROŠIRENI MODEL ENTITETA I ODNOSA (EER)
Rekurzivni odnos
Promovisanje atributa u entitet
9/25
![Page 10: SEMANTI ČKO MODELIRANJEpoincare.matf.bg.ac.rs/~gordana/PRED1.pdf · 2018-02-22 · TAKMI ČENJE: Entiteti i odnosi (I) Jednu ekipu opisuje obeležje koje je razlikuje od drugih ekipa](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e507cc0bd8137622c6afcbd/html5/thumbnails/10.jpg)
PROŠIRENI MODEL ENTITETA I ODNOSA (EER)• Entitet:
– Regularni (samostalni) / slabi (opisni)
• Generalizacija: podtip → nadtip (1,1)• Specijalizacija nadtip → unija_podtipova (
proizvoljna kardinalnost)– Ekskluzivna specijalizacija – Kriterijum specijalizacije (atribut relacije nadtipa) – Primer: slika
10/25
![Page 11: SEMANTI ČKO MODELIRANJEpoincare.matf.bg.ac.rs/~gordana/PRED1.pdf · 2018-02-22 · TAKMI ČENJE: Entiteti i odnosi (I) Jednu ekipu opisuje obeležje koje je razlikuje od drugih ekipa](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e507cc0bd8137622c6afcbd/html5/thumbnails/11.jpg)
PROŠIRENI MODEL ENTITETA I ODNOSA (EER)
– Primer:
11/25
![Page 12: SEMANTI ČKO MODELIRANJEpoincare.matf.bg.ac.rs/~gordana/PRED1.pdf · 2018-02-22 · TAKMI ČENJE: Entiteti i odnosi (I) Jednu ekipu opisuje obeležje koje je razlikuje od drugih ekipa](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e507cc0bd8137622c6afcbd/html5/thumbnails/12.jpg)
PROŠIRENI MODEL ENTITETA I ODNOSA (EER)• Agregacija (asocijacija)
Agregirani entitet - asocijativni entitet sa sopstvenim atributima - tip entitet/odnos
Dekompozicija - inverzni Komponente agregacije Egzistencijalno zavisan od komponenata Preslikavanje u komponentni tip: (1,1) Preslikavanje komponente u agregirani entitet Primer: PREDAVANJE
12/25
![Page 13: SEMANTI ČKO MODELIRANJEpoincare.matf.bg.ac.rs/~gordana/PRED1.pdf · 2018-02-22 · TAKMI ČENJE: Entiteti i odnosi (I) Jednu ekipu opisuje obeležje koje je razlikuje od drugih ekipa](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e507cc0bd8137622c6afcbd/html5/thumbnails/13.jpg)
PROŠIRENI MODEL ENTITETA I ODNOSA (EER)
Primarni ključ agregiranog entiteta Odnos izmedju većeg broja tipova
13/25
![Page 14: SEMANTI ČKO MODELIRANJEpoincare.matf.bg.ac.rs/~gordana/PRED1.pdf · 2018-02-22 · TAKMI ČENJE: Entiteti i odnosi (I) Jednu ekipu opisuje obeležje koje je razlikuje od drugih ekipa](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e507cc0bd8137622c6afcbd/html5/thumbnails/14.jpg)
PROŠIRENI MODEL ENTITETA I ODNOSA (EER)• Shema baze podataka proširenog
modela entita i odnosa: Tipovi entiteta Tipovi odnosa Atributi Primarni ključevi Preslikavanja i kardinalnosti Dijagramom
14/25
![Page 15: SEMANTI ČKO MODELIRANJEpoincare.matf.bg.ac.rs/~gordana/PRED1.pdf · 2018-02-22 · TAKMI ČENJE: Entiteti i odnosi (I) Jednu ekipu opisuje obeležje koje je razlikuje od drugih ekipa](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e507cc0bd8137622c6afcbd/html5/thumbnails/15.jpg)
PROŠIRENI MODEL ENTITETA I ODNOSA (EER)• Preslikavanje PMEO sheme u realacionu
Regularni entitet Slabi entitet Agregirani entitet Podtip Odnos
E1 →E2 (1,1) u odnosu R
Primer: predavanja, predavači, predmeti, vreme i mestoodržavanja:
• Neka baza podataka sadrži podatke o predavanjima, sa informacijama o predavaču (lični broj, ime, zvanje, naučni stepen), predmetu (šifripredmeta, nazivu, smeru, godini predavanja, fondu časova), vremenu i mestu održavanja.
15/25
![Page 16: SEMANTI ČKO MODELIRANJEpoincare.matf.bg.ac.rs/~gordana/PRED1.pdf · 2018-02-22 · TAKMI ČENJE: Entiteti i odnosi (I) Jednu ekipu opisuje obeležje koje je razlikuje od drugih ekipa](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e507cc0bd8137622c6afcbd/html5/thumbnails/16.jpg)
PROŠIRENI MODEL ENTITETA I ODNOSA (EER)• Regularni tipovi entiteta:
Predavač Predmet Smer Sala
• Agregirani tipovi entiteta: Predavanje (predavač, predmet, smer, sala; vreme) Predmet-na smeru (smer, predmet; godina, f_časova)
16/25
![Page 17: SEMANTI ČKO MODELIRANJEpoincare.matf.bg.ac.rs/~gordana/PRED1.pdf · 2018-02-22 · TAKMI ČENJE: Entiteti i odnosi (I) Jednu ekipu opisuje obeležje koje je razlikuje od drugih ekipa](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e507cc0bd8137622c6afcbd/html5/thumbnails/17.jpg)
PROŠIRENI MODEL ENTITETA I ODNOSA (EER)
17/25
![Page 18: SEMANTI ČKO MODELIRANJEpoincare.matf.bg.ac.rs/~gordana/PRED1.pdf · 2018-02-22 · TAKMI ČENJE: Entiteti i odnosi (I) Jednu ekipu opisuje obeležje koje je razlikuje od drugih ekipa](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e507cc0bd8137622c6afcbd/html5/thumbnails/18.jpg)
PROŠIRENI MODEL ENTITETA I ODNOSA (EER)• Modifikacija sheme • Transformacija u shemu relacione baze podataka:
Predmet(šifra, naziv) Predavač(predavač#, ime, zvanje, stepen) Smer(šifra, naziv) Sala(br.sale, sprat) Predmet_na_smeru(š_predmeta, š_smera, godina,
f_časova) Održavanje(š_predmeta, š_smera, predavač#, vreme,
br.sale)
18/25
![Page 19: SEMANTI ČKO MODELIRANJEpoincare.matf.bg.ac.rs/~gordana/PRED1.pdf · 2018-02-22 · TAKMI ČENJE: Entiteti i odnosi (I) Jednu ekipu opisuje obeležje koje je razlikuje od drugih ekipa](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e507cc0bd8137622c6afcbd/html5/thumbnails/19.jpg)
TAKMIČENJE: Entiteti i odnosi (I)
Svake godine teniski klub učestvuje u međuklupskom takmičenju kojeorganizuje teniska federacija. Takmičenje se odvija u ekipama. Klubizlaže informacije u vezi sa sastavom ekipa koje učestvuju natakmičenju.
Jedna ekipa se registruje za samo jednu ligu i samo jednu kategoriju.
Jedna kategorija ima ime koje je identifikuje (npr. juniori-žene, veterani-muškarci, ...).
Kategoriju opisuje i najmanji broj igrača u ekipi koja učestvuje u tojkategoriji i uslovi koji se odnose na pol i starost osoba koje mogu daučestvuju u toj kategoriji. Starosno ograničenje se izražava intervalom- parom godina rođenja. Na primer, kategorija veterani-muškarci definiše se sledećim ograničenjima: četiri (4) igrača, muškipol, godina rođenja između 1947 i 1957.
19/25
![Page 20: SEMANTI ČKO MODELIRANJEpoincare.matf.bg.ac.rs/~gordana/PRED1.pdf · 2018-02-22 · TAKMI ČENJE: Entiteti i odnosi (I) Jednu ekipu opisuje obeležje koje je razlikuje od drugih ekipa](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e507cc0bd8137622c6afcbd/html5/thumbnails/20.jpg)
TAKMIČENJE: Entiteti i odnosi (I)Jednu ekipu opisuje obeležje koje je razlikuje od drugih ekipa
jednog kluba koji se prijavio za istu ligu i istu kategoriju.
Za svaku ekipu, znaju se igrači koji joj pripadaju kao i kapiten kojimora biti jedan od igrača te ekipe.
Igrač ima ime, prezime, jedinstveni broj koji je dobio odFederacije, i klasu. Poznat je njegov pol i datum rođenja.
20/25
![Page 21: SEMANTI ČKO MODELIRANJEpoincare.matf.bg.ac.rs/~gordana/PRED1.pdf · 2018-02-22 · TAKMI ČENJE: Entiteti i odnosi (I) Jednu ekipu opisuje obeležje koje je razlikuje od drugih ekipa](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e507cc0bd8137622c6afcbd/html5/thumbnails/21.jpg)
Entiteti i odnosi (I)
0-N
1-1
pripadaK1-1
0-N
pripadaL
EKIPA
oznaka
id: oznakapripadaL.LIGApripadaK.KATEGORIJA
KATEGORIJA
nazivK
Broj_igraca
pol
pocD
krajD
id: nazivK
LIGA
21/25
![Page 22: SEMANTI ČKO MODELIRANJEpoincare.matf.bg.ac.rs/~gordana/PRED1.pdf · 2018-02-22 · TAKMI ČENJE: Entiteti i odnosi (I) Jednu ekipu opisuje obeležje koje je razlikuje od drugih ekipa](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e507cc0bd8137622c6afcbd/html5/thumbnails/22.jpg)
Entiteti i odnosi (II)
1-1
0-N
kapiten
0-N
1-N
sastav
IGRACimeprezimeFedBrojklasapolDatRodjenja
EKIPA
oznakaId: oznaka
pripadaL.LIGApripadaK.KATEGORIJA
C1 – Kapiten jedne ekipe treba da bude igrač te ekipe
Id:FedBroj
22/25
![Page 23: SEMANTI ČKO MODELIRANJEpoincare.matf.bg.ac.rs/~gordana/PRED1.pdf · 2018-02-22 · TAKMI ČENJE: Entiteti i odnosi (I) Jednu ekipu opisuje obeležje koje je razlikuje od drugih ekipa](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e507cc0bd8137622c6afcbd/html5/thumbnails/23.jpg)
Entiteti i odnosi (III)Za svaku kategoriju znaju se lige koje je sačinjavaju. Liga
se identifikuje rednim brojem. Jedna ista liga može ući usastav više kategorija.
Na primer, liga I se nalazi u svakoj postojećoj kategoriji,dok liga IV postoji samo u kategoriji « Veterani-muškarci ».
Jedan igrač može da bude član većeg broja ekipa, ukolikosu te ekipe prijavljene u različitmi kategorijama.
Svi igrači – članovi jedne ekipe moraju da poštuju uslovekategorije za koju je prijavljena ta ekipa.
23/25
![Page 24: SEMANTI ČKO MODELIRANJEpoincare.matf.bg.ac.rs/~gordana/PRED1.pdf · 2018-02-22 · TAKMI ČENJE: Entiteti i odnosi (I) Jednu ekipu opisuje obeležje koje je razlikuje od drugih ekipa](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e507cc0bd8137622c6afcbd/html5/thumbnails/24.jpg)
Entiteti i odnosi (III)
1-N0-N sastavK
KATEGORIJA
nazivK
Broj_igraca
pol
pocD
krajD
id: :nazivK
LIGA
Rbroj
id: :Rbroj
24/25
![Page 25: SEMANTI ČKO MODELIRANJEpoincare.matf.bg.ac.rs/~gordana/PRED1.pdf · 2018-02-22 · TAKMI ČENJE: Entiteti i odnosi (I) Jednu ekipu opisuje obeležje koje je razlikuje od drugih ekipa](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e507cc0bd8137622c6afcbd/html5/thumbnails/25.jpg)
Entiteti i odnosi (IV)
1-N0-NsastavK
1-1
0-N
kapiten
0-N
1-N
sastav
0-N
1-1
pripadaK1-1
0-N
pripadaL
IGRACimeprezimeFedBrojklasapolDatRodjenja
EKIPAoznakaId: oznaka
pripadaL.LIGApripadaK.KATEGORIJA
KATEGORIJAnazivKBroj_igracapolpocDkrajDId: nazivK
LIGAR.BrojId:R.Broj
C1 –Kapiten jedne ekipe mora da
bude igrac te ekipe
C2 – Ako je jedan igrac u vise
ekipa, onda te ekipe moraju da
pripadaju razlicitim kategorijama
C3 –Igrac u jednoj ekipi mora da
postuje starosno ogranicenje
kategorije u kojoj je ta ekipa Id: FedBroj
25/25
![Page 26: SEMANTI ČKO MODELIRANJEpoincare.matf.bg.ac.rs/~gordana/PRED1.pdf · 2018-02-22 · TAKMI ČENJE: Entiteti i odnosi (I) Jednu ekipu opisuje obeležje koje je razlikuje od drugih ekipa](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e507cc0bd8137622c6afcbd/html5/thumbnails/26.jpg)
Shema relacione baze podataka• RELACIJE:
• EKIPA• KATEGORIJA• LIGA• IGRAC• SASTAV• SASTAVK
• Atributi, primarni i strani kljucevi
26/25
![Page 27: SEMANTI ČKO MODELIRANJEpoincare.matf.bg.ac.rs/~gordana/PRED1.pdf · 2018-02-22 · TAKMI ČENJE: Entiteti i odnosi (I) Jednu ekipu opisuje obeležje koje je razlikuje od drugih ekipa](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e507cc0bd8137622c6afcbd/html5/thumbnails/27.jpg)
Ograničenja - ASSERTION• C1: CREATE ASSERTION ...
EKIPA.FEDBROJ=SOME (SELECT FEDBROJ FROM SASTAV WHERE OZNAKA=EKIPA.OZNAKA AND R_BROJ = EKIPA.R_BROJ AND NAZIVK =
EKIPA.NAZIVK)
• C2: ... NOT EXISTS (SELECT * FROM SASTAV S1, SASTAV S2 WHERE S1.FEDBROJ = S2.FEDBROJ AND S1.NAZIVK = S2.NAZIVK AND (S1.OZNAKA <> S2.OZNAKA OR S1.R_BROJ <> S2.R_BROJ))
27/25
![Page 28: SEMANTI ČKO MODELIRANJEpoincare.matf.bg.ac.rs/~gordana/PRED1.pdf · 2018-02-22 · TAKMI ČENJE: Entiteti i odnosi (I) Jednu ekipu opisuje obeležje koje je razlikuje od drugih ekipa](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e507cc0bd8137622c6afcbd/html5/thumbnails/28.jpg)
Ograničenja• C3: IGRAC.DATRODJENJA >=
ALL (SELECT POCD FROM KATEGORIJA, SASTAV WHERE KATEGORIJA.NAZIVK = SASTAV.NAZIVK
AND SASTAV.FEDBROJ = IGRAC.FEDBROJ)ANDIGRAC.DATRODJENJA <= ALL (SELECT KRAJD FROM KTEGORIJA, SASTAV WHERE KATEGORIJA.NAZIVK = SASTAV.NAZIVK
AND SASTAV.FEDBROJ = IGRAC.FEDBROJ)
28/25
![Page 29: SEMANTI ČKO MODELIRANJEpoincare.matf.bg.ac.rs/~gordana/PRED1.pdf · 2018-02-22 · TAKMI ČENJE: Entiteti i odnosi (I) Jednu ekipu opisuje obeležje koje je razlikuje od drugih ekipa](https://reader033.vdocuments.pub/reader033/viewer/2022041800/5e507cc0bd8137622c6afcbd/html5/thumbnails/29.jpg)
Ograničenja - TRIGERI• CREATE TRIGGER T1 AFTER INSERT ON EKIPA
REFERENCING NEW AS NE FOR EACH ROW MODE DB2SQL
INSERT INTO SASTAV VALUES (NE.OZNAKA, NE.R_BROJ, NE.NAZIVK, NE.FEDBROJ)
• Ili• CREATE TRIGGER T2 BEFORE UPDATE OF FEDBOJ ON EKIPA
REFERENCING NEW AS NE OLD AS OE FOR EACH ROW MODE DB2SQL WHEN NE.FEDBROJ <> ALL (SELECT FEDBROJ FROM SASTAV
WHERE SASTAV.OZNAKA = NE.OZNAKA AND SASTAV.R_BROJ = NE.R_BROJ AND SASTAV-NAZIVK =
NE.NAZIVK) SIGNAL SQLSTATE ‘85000’(‘IGRAC NE IGRA U TOJ EKIPI’)
29/25