BP02 Mov
BP02 Mov
MODELI PODATAKA
Model objekti-veze Relacioni model Objektni model Objektno-relacioni model Aktivne baze podataka XML kao model podataka
(0,M) Pravi
Struktura
Definicija atributa
Matbr (1,1)Mlb Adrese Jezici Imena (1,1)NazivOd Zapo{ ljava (0,M) Zapo{ ljavanje [ ifraOdel (1,1)[ ifOd (1,M)ZnaJezik (1,1)Adresa (1,1)ImeR (1,1)Radi Radnik (0,1)Rukovodi (1,M) Isplate Rukovo| enje Godine Plate
Odelenje
(1,1)Starost
Mlb: Radnik ----> Matbr ImeR: Radnik ----> Imena ZnaJezik: Radnik ----> Jezici
Atributi identifikatori objekata mogu se posebno oznaiti (na primer sa zvezdicom, ili podvlaenjem). U MOV se ne koriste semantiki domeni, niti se moe uspostaviti bilo kakva veza izmeu atributa jedne ili vie klasa.
NazivJ
NazivOd
(1,1)Radi
Datum
Iznos
Pored Dijagrama objekti veze, neophodno je dati i definiciju atributa, odnosno njihovih domena. U sledeoj tabeli dati su primeri definicija atributa sa ogranienjima:
ATRIBUT Mlb NazivJ Adresa Datum Starost ifOd DOMEN long string string date short short Between 15,65 Moduo_11 OGRANIENJE NotNull And Substring(1,2) Between 1,31 And Substring(3,4) Between 1,12 .... In(Srpski, Ruski, Engleski, Nemaki)
GENERALIZACIJA - SPECIJALIZACIJA
Mlb* Ime Starost
Semestar BrojInd
Student
Radnik
Dete RadniOdnos(1,1)
Penzioner
Plata
S Zanimanje(0,1)
Dodatak
Daktilograf
Voza~
Lekar
Satnica
KlasaDakt
KlasaVoz
Specijalnost RadnoMesto
Stalni
Privremeni
10
AGREGACIJA I DEKOMPOZICIJA
BrojInd Ime (0,M) Student Prijava (1,1) Smer [ ifraNast Overe (0,M) Nastavnik Zvanje ImeNast DatumPol Ocena (0,M) Predmet [ ifPred NaziPred
AGREGACIJA I DEKOMPOZICIJA
Dobavlja~
(0,M)
Obskrba (0,M)
(0,M)
Proizvod
Projekat
RegBroj
Marka
Boja
[ ifNast
ImeNast
Kola (1,1) Parkira BrojInd (0,1) Student (0,M) Ime Semestar (0,M) (1,M) Registr Prijava (0,M) (0,M) Datum Ocena [ ifPred
Nastavnik (0,1) Predaje (0,M) Predmet (1,1) Pripada (1,M) [ ifKat NazivKat Katedra [ ifProj (0,M) U~estv. (),M) NazivProj Projekat (1,M) [ ifZad Zadatak NazivPred
Vrsta(0,1) Imaju
Mlb
RegBroj
NazivPred
NazivZad
OpisZad
DOV za fakultetski IS
13
OGRANIENJA
Strukturna ogranienja (ogranienja na preslikavanja), koja su prikazana na samom modelu; Vrednosna ogranienja (ogranienja na vrednosti atributa): Prosta ogranienja na vrednosti pojedinanih atributa Sloena ogranienja koja povezuju vrednosti vie atributa istog i/ili razliitih objekata. Mogue je definisati formalni jezik za iskazivanje vrednosnih ogranienja.
14
Takozvana "dot notacija" se koristi da povee promenljive iz dve klase objekata preko nekog preslikavanja definisanog u modelu.
Iskaz
x : O.P, oznaava da x (odnosno x') uzima vrednosti iz klase koja je kodomen preslikavanja P klase O.
16
Atomske formule, odnosno simboli koji se koriste da oznae neki atomski predikat su:
x.A y.B gde su x i y promenljive (objekti), A i B su atributi tipova objekata O1 i O2 iz ijih pojavljivanja, respektivno, promenljive x i y uzimaju vrednosti (x : O1, y : O2), a je operacija poreenja (na primer <, >, =, Between,...), definisana nad domenom atributa A i B (A i B moraju biti definisani nad istim domenom). x.A C, gde su x, A i kao i u prethodnom stavu, a C je konstanta koja ima isti domen kao i A.
17
Formule objektnog rauna (ddf) formiraju se preko sledeih produkcionih pravila (sintakse):
ddf:: = atom | (ddf) | Not ddf | ddf And ddf | ddf Or ddf | Exists naziv-_promenljive (ddf) | Foreach naziv_promenljive (ddf) | If ddf Then ddf
18
Primeri:
(1) Student petog ili vieg semestra mora da ima vie od 10 poloenih ispita. Ogr2(Student,Prijava) : = Foreach Student (If Student.Semestar >= 5 Then Card (Student.Prijava) >10); Ovde je uvedena funkcija Card (S) koja daje broj elemenata skupa S
20
Primeri:
(2) Student treeg semestra je poloio Matematiku. Ogr3(Student,Prijava ,Predmet) : = Foreach Student (If Student.Semestar = 3 Then Exists Student.Prijava (Student.Prijava.Predmet. NazivPr ='<Matematika'));
21
Primeri:
(3) Pretpostavimo da u modelu na Slici 2.7 Student ima i izvedeni atribut ProsOc (prosena ocena). Tada oigledno vai sledee ogranienje: Ogr4(Student,Prijava) : = Foreach Student (Student.ProsOc = Suma (Student. Prijava.Ocena) / Prijava);
Card
(Student.
22
Primeri:
4) Ocena studenta iz nekog predmeta ne moe opadati: x:Prijava, x' : Prijava Ogr5(x, x', Student, Predmet)= Foreach x Foreach x' (If x.Student.BrojInd = x'.Student. BrojInd And x.Predmet.ifPred = x'. Predmet.ifPred Then x'.Ocena x.Ocena)
23
OPERACIJE
Oigledno je da se u MOV mogu definisati sledee operacije odravanja baze podataka, analogne operacijama u Mrenom modelu: Ubacivanje (Insert) novog pojavljivanja objekta u klasu, Izbacivanje (Delete) pojavljivanja objekta iz klase, Auriranje (Update) odnosno izmena vrednosti nekog atributa datog pojavljivanja objekta neke klase, Povezivanje (Connect) pojavljivanja O1 klase A sa pojavljivanjem O2 klase B, Razvezivanje (Disconnect) pojavljivanja O1 klase A od pojavljivanja O2 klase B i Prevezivanje (Reconnect) pojavljivanja O1 klase A od pojavljivanja O2 klase B.
24
[ ifraRad
DatumZavr{
NazivPred
Datum
Iznos
Ma{ ina
Materijal
26
27
28
29
30
31
32
33
34
35
Atributi i domeni
36
Viseznani atributi
37
Viseznani atributi
38
Viseznani atributi
39
Viseznani atributi
40
letova u toku dana (let je identifikovan preko datuma i vremena poletanja aviona). Karta sadri podatke o avionskoj liniji, prezimenu i imenu putnika, mestu polazita, mestu krajnjeg odredita, datumu izdavanja, roku vaenja i ceni. Kuponi karte sadre identine podatke i podatke o pojedinanim letovima izmedu polazita i krajnjeg odredita: mesto poletanja, mesto sletanja, osnovni podaci o avionu. broj leta, klasa sedita, datum i vreme poletanja.
Primer 1: Avionska karta za jednu standardnu avio-liniju moe biti sastavljena od vie kupona. Jedna linija moe da ukljui vie letova na relaciji izmedju mesta polaska i mesta krajnjeg odredita. Svaki avion obino ima nekoliko
41
42
43
44
45
Generalizacija i specijalizacija
46
47
48
Agregacija
49
50