-
NEKI ASPEKTI EER
-
Semantičko modelirnje- rekapitulacija• Pojam• Osnovni koncepti: entitet, atribut, odnos; vrste• MEO (PMEO) (PMOV; EER)
• Dijagramska tehnika; različite notacije; primeri• Entitet (atribut / jedinstveni identifikator)• Jednoznačna vrednost atributa (novi entitet / slabi entitet, primeri)• Odnos – binarni; preslikavanja / kardinlnosti; notacija• Agregirani entitet (n>2; sopstveni atributi; odnos sa
komponentama)• Opisni (slabi) entitet; radnik/zarada (istorija primanja);
narudžba/stavka• Generalizacija / specijalizacija• Agregacija• Preslikvanje u RM, pravila
2/17
-
Promocija viševrednosnog atributa3/17
-
Višestruki odnosi; rekurzivni odnos4/17
-
Agregirani entitet5/17
-
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
E1 →E2 (0,1) u odnosu R
6/17
-
Primer: EER7/17
-
Primer: čitanje• ?
8/17
-
Primer: RM• KANDIDAT (id_kan, prezime, ime, god_rodj, id_bm),• POLITICKA_PARTIJA (id_pp, ime),• KANDIDUJE (id_kan, id_pp),• BIRACKO_MESTO (id_bm, lokacija, id_op),• KONTROLOR (id_kont, prezime, ime),• OPSTINA (id_op, naziv),• BIRAC (jmbg, prezime, ime, adresa),• KONTROLISE (id_kont, id_bm),• BIRA_NA (jmbg, id_bm, krug)
9/17
-
Takmičenje: Entiteti i odnosi
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 i pol
kategorije u kojoj je ta ekipa
Id: FedBroj
C4 –Ekipa mora da postuje
ogranicenje broja igrača
kategorije u kojoj je ta ekipa
10/17
-
Takmičenje: “čitanje”• Ekipa se registruje za tačno jednu ligu i tačno jednu
kategoriju; ima jedinstvenu oznaku u okviru date lige i date kategorije
• Liga (prva, druga, treća, peta) može da ne postoji ni u jednoj kategoriji a može i u većem broju kategorija
• Svaka kategorija ima bar jednu (prvu ligu) a može da ih ima i više; ima jedinstven naziv, a ima i karakteristike –broj, pol i starosno ograničenje igrača u ekipi registrovanoj za tu kategoriju (C3, C4)
• Igrač ima jedinstveni broj i karakteristike ... Možda ne igra ni u jednoj ekipi a može da igra u više ekipa iz različitih kategorija (C2); može da bude kapiten u ekipi u kojoj igra (C1)
11/17
-
Primer: Projekti• Predstaviti sledeći domen proširenim modelom entiteta i
odnosa (EER): Organizacija se sastoji od sektora. Jedan sektor se identifikuje brojem (jedinstven u organizaciji). Sektorom upravlja šef sektora - on je zaposlen u tom sektoru. Sektor ima određeni budžet. Jedan sektor zapošljava učesnike na projektima koje taj sektor vodi. Jednim projektom upravlja jedan sektor a identifikuje ga broj (jedinstven u okviru sektora). Svakom projektu dodeljen je budžet. Zaposleni ima broj (jedinstven u organizaciji). Jedan zaposleni pripada samo jednom sektoru, i može da bude šef najviše u jednom sektoru. Zaposleni je dodeljen kao učesnik jednom projektu.
12/17
-
Projekti: EER
• C1: šef sektora je zaposlen u sektoru
• C2: sektor zapošljava učesnike na projektima koje taj sektor vodi
SEKTOR RADNIK
PROJEKAT
upravlja
zapošljava
učestvujevodi
ID_S*
BUDŽET
ID_R*
BUDŽET
ID_P*
1-M
0-1
1-1
1-1
1-M
1-1
1-M
1-1
13/17
-
Projekti: RM• SEKTOR (ID_S, BUDŽET, ID_Šefa)• RADNIK (ID_R, ID_S, ID_P) nije u 3NF!
• (RADNIK_S (ID_R, ID_S) • RADNIK_P (ID_R, ID_P))
• PROJEKAT (ID_P, BUDŽET, ID_S)
14/17
-
Projekti: ograničenja (RADNIK)C1: SEKTOR.ID_Šefa=
SOME (SELECT ID_R FROM RADNIK WHERE ID_S = SEKTOR.ID_S)
C2: RADNIK.ID_S=(SELECT ID_S FROM PROJEKATWHERE ID_P = RADNIK.ID_P)
15/17
-
Projekti: ograničenja (RADNIK_S, RADNIK_P)C1: SEKTOR.ID_Šefa=
SOME (SELECT ID_R FROM RADNIK_S WHERE ID_S = SEKTOR.ID_S)
C2: RADNIK_S.ID_S=(SELECT PROJEKAT.ID_S FROM PROJEKAT, RADNIK_PWHERE PROJEKAT.ID_P = RADNIK_P.ID_P AND
RADNIK_S.ID_R = RADNIK_P.ID_R)
16/17
-
Projekti: alternativa• RADNIK (ID_R, ID_S, ID_P) nije u 3NF!
• umesto • (RADNIK_S (ID_R, ID_S) • RADNIK_P (ID_R, ID_P))
• P_S (ID_P, ID_S) – sadrzano u PROJEKAT• RADNIK_P(ID_R, ID_P))
• C1, C2?
17/17