semanti Čko modeliranjepoincare.matf.bg.ac.rs/~gordana/pred1.pdf · 2018-02-22 · takmi Čenje:...

29
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

Upload: others

Post on 12-Feb-2020

1 views

Category:

Documents


0 download

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