Top Banner
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
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

Feb 12, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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