You are on page 1of 6

MODEL BAZE PODATAKA OBJEKTI – VEZE (MOV) PRETRAGA

Objekti u sistemu se opisuju preko svojih svojstava, odnosno atributa. Atributi uzimaju vrednost iz skupa mogućih vrednosti. Ovi skupovi
se nazivaju domenima. Domeni su predstavljeni elipsama (Matbr, Adrese…).

Formalno se atribut objekta može definisati kao preslikavanje iz klase objekta u domen.

Primer:

Mlb: Radnik -> Matbr (1,1)


ImeR: Radnik -> Imena (1,1)
ZnaJezik: Radnik -> Jezici (1,M)

Pošto se atribut definiše kao preslikavanje, može se reći da atribut ima svoju kardinalnost. Ako je kardinalnost atributa DG=1, GG=1,
onda se takav atribut naziva jednoznačni atribut objekta; Ako i inverzno preslikavanje jednoznačnog atributa ima kardinalnost DG=0 ili 1,
GG=1, tada se takav atribut naziva identifikator objekta, jer jedno pojavljivanje takvog atributa jedinstveno određuje jedno pojavljivanje
objekta u klasi.

Atribut Mlb je identifikator objekta iz klase Radnik. Ako je gornja granica granica GG=M, onda se takav atribut naziva višeznačni atribut.
ZnaJezik je višeznačni atribut.

Domeni mogu biti:

predefinisani, odnosno standardni programsko-jezički domeni, kao što su Integer, Character, Real, String, Logical, Date i slično,
semantički, odnosno korisnički definisani, kada se posebno iskazuju, preko svoga imena, predefinisanog domena i ograničenja na
mogući skup vrednosti predefinisanog domena. U MOV se ne koristi koncept semantičkog domena (atributi ImeR i NazivOd nad
domenom Imena),
koncept složenog domena koji ima svoju strukturu i predstavlja agregaciju drugih prostih ili složenih domena se takođe ne
preporučuje. Plate su složen domen i predstavljaju agregaciju prostih domena <Datum, Iznos>. Složen domen je po definiciji
semantički domen.

S obzirom da domeni u MOV imaju karakter semantičkih domena, poređenje vrednosti iz različitih domena nije moguće i tretira se kao
greška. Međutim, ponekad se domeni razlikuju samo po tome što su njihove vrednosti date u drugim jedinicama iste „semantičke veličine”.
Na primer jedan u metrima, a drugi u kilometrima, a oba predstavljaju semantički istu veličinu, dužinu, ili jedna ili druga forma
predstavljanja datuma. Da bi se omogućilo poređenje različitih domena (kada se to želi), neophodno je definisati pravila (procedure)
konverzije jednog u drugi domen.
Model baze podataka objekti - veze (MOV) | Edukacija https://edukacija.rs/it/baze-podataka/model-objekti-veze-mov

15:59, 10/11/2023

12:30, 02/11/2023

16:25, 30/10/2023

U MOV se ne koriste višeznačni atributi, već se odgovarajuća svojstva objekta predstavljaju bilo kao preslikavanja posmatrane klase
prema novodefinisanoj klasi koja predstavlja domen višeznačnog atributa ili kao „slaba” klasa.
12:39, 27/10/2023

Svi atributi moraju da budu primenljivih svojstava na sve objekte u odgovarajućoj klasi. Zbog toga je donja granica kardinalnosti atributa
(preslikavanje KLASA->DOMEN) uvek DG=1. Kako se ne koristi višeznačni atribut, to je za ovo preslikavanje i GG=1, pa se kardinalnosti
atributa ne moraju predstavljati na DOV.

Atributi i identifikatori objekata mogu se posebno označiti (zvezdicom ili podvlačenjem).

U MOV se ne koriste semantički domeni (veza između atributa jedne klase ili više klasa).

Definicije atributa, odnosno njihovih domena najpogodnije je dati preko tabela. Jezik za definisanje ograničenja se bazira na konceptu
primitivnih i složenih ograničenja. Primitivna ograničenja se konstruišu preko sledećih operatora:

Θ konstanta, gde je Θ bilo koji operator poređenja koji se na datom domenu može definisati (>, ≤,<, ≥, =), a konstanta je neka vrednost
iz datog domena,
Between konstanta, gde su konstante vrednosti iz datog domena,
In (lista vrednosti), gde se lista formira od konstanti iz odgovarajućeg domena,
NotNull, kada dato polje ne može da dobije null vrednost, odnosno mora da ima vrednost.

Složena ograničenja se formiraju od primitivnih ili drugih složenih ograničenja vezujući ih logičkim operatorima And, Or i Not.

Očigledno je, na osnovu definicije koncepata atributa i veze, da ne postoji formalna (a možda i suštinska) razlika između ova dva
koncepta. Veza definiše dva preslikavanja, direktno i inverzno, između dve klase objekata, a atribut preslikavanje između klase objekata i
odgovarajućeg domena.

Ako bi se svi domeni tretirali kao klase objekata, tada bi atribut predstavljao jedno preslikavanje u vezi sa tom klasom sa odgovarajućim
objektom. Na primer, ako se domen IMENA tretira kao klasa objekata (čija su pojavljivanja nizovi karaktera dužine 20), tada bi atribut IME
predstavljao preslikavanje RADNIK —–> IMENA u vezi objekata RADNIK i objekata IMENA. Isto tako, moglo bi se postupiti i obrnuto i
preslikavanja u datim vezama tretirati kao atribute čiji su domeni odgovarajuće klase objekata.

Prva vrsta modela koji koriste samo koncepte objekata i preslikavanja se nazivaju funkcionalni modeli podataka.

U drugu vrstu modela koji koriste samo koncepte objekata i atributa spadaju pojedini semantički modeli podataka (SDM) i
objektno_orjentisani modeli. Osnovna karakteristika ovih modela je ta što se pojam veze između objekata eksplicitno ne koristi, već se
implementira na taj način što se kao domen atributa jednog objekta tretira klasa drugih objekata. Iskazom INVERZNO u specifikaciji nekog
atributa, ukazuje se na inverzno preslikavnje (atribut) koji sa posmatranim atributom čini jednu binarnu vezu.

U PMOV, iz semantičkih i praktičnih razloga, ako se model objekti-veze implementira preko nekog „klasičnog”, rekord orjentisanog jezika
ili sistema za upralvljanje bazom podataka, pogodno je razlikovati koncept atributa od koncepta veze.

Sa semantičke tačke gledišta prihvata se da je prirodnije razdvojiti koncepte atributa i veza. Tako, na primer, prirodnije je tretirati IME kao
atribut (svojstvo) objekata RADNIK, a RADI kao preslikavanje RADNIK ——> ODELENJE veze između objekata RADNIK i ODELJENJE.
Pri tom je kriterijum „prirodnije” veoma relativan.

Primena tog slabo definisanog kriterijuma „prirodnije” dovodi do dilema u modeliranju – kada neki skup objekata predstaviti kao domen,
odnosno njegov odnos sa nekim drugim tipom objekata kao atribut, a kada ga predstaviti kao tip objekata, odnosno njegov odnos sa
nekim drugim tipom objekata kao vezu?

Uputstva za razrešenje ove dileme su sledeća:

ako ne postoji potreba za posebnim identifikovanjem svakog pojavljivanja objekta u skupu i ako su ta pojavljivanja vrednosti koje su
„ugrađeni” tipovi podataka (bazni domeni) nekog SUBP-a ili nekog jezika (celobrojne vrednosti, karakteri, nizovi karaktera i slično),
tada skup takvih objekata treba tretirati kao domen,
ako ne postoji potreba da se neki skup objekata opisuje atributima, tada ga treba tretirati kao domen. Drugačije rečeno, ako neka
osobina objekata uzima vrednosti iz skupa prostih vrednosti, treba je predstaviti kao atribut, a dati skup kao domen, ili, ako neka
osobina objekta uzima vrednosti iz skupa n-torki (parova, trojki), tu osobinu treba predstaviti kao vezu, a dati skup vrednosti kao tip
objekata. Ova preporuka ne sprečava korišćenje složenog domena, ako je to povoljnije,
ako se, u toku modeliranja, ukaže potreba da se neki već definisani atribut poveže sa nekim objektom, odnosno da se definiše

2 of 6 13-Nov-23, 1:38 PM
Model baze podataka objekti - veze (MOV) | Edukacija https://edukacija.rs/it/baze-podataka/model-objekti-veze-mov

preslikavanje DOMEN —> OBJEKAT, tada odgovarajući domen treba tretirati kao tip objekta, a atribut kao preslikavanje u vezi.

Sa praktične tačke gledišta, u mnogim primenama, za implementaciju modela, pogodno je jedan objekat i skup njegovih atributa tretirati
kao rekord, pa je to još jedan razlog da se razdvoje koncepti atributa i veze. Time se implicitno uvodi i koncept agregacije, jer se objekat
može definisati kao agregacija njegovih atributa.

Generalizacija je, kao što je rečeno, apstrakcija u kojoj se skup sličnih tipova objekata tretira kao generički tip objekta (nadtip). „Slični”
tipovi objekata su oni tipovi koji imaju neke zajedničke atribute, veze i/ili operacije.

Specijalizacija je inverzni postupak u kome se za neki tip objekta definišu njegovi podtipovi, koji imaju neke njima specifične atribute,
veze i/ili operacije.

Na primer, skup tipova Radnik, Student, Penzioner, Dete može se predstaviti generičkim tipom Građanin. Isto tako se tip Radnik može
specijalizovati u podtipove Vozač, Inženjer, Lekar i druge.

Klasa nadtipa sadrži sva pojavljivanja „sličnih” objekata, sa onim atributima i preslikavanjima koji su im zajednički, a klase podtipova su
podskupovi pojavljivanja nadtipa sa dodatnim, njima specifičnim preslikavanjima.

Kada se jedno pojavljivanje tipa može specijalizovati samo u jedan podtip (eksluzivna specijalizacija) tada je GG = 1. Na primer, jedno
pojavljivanje tipa RADNIK može imati samo jedno zanimanje (u jednom trenutku vremena). Kada se jedno pojavljivanje tipa može
specijalizovati u više podtipova (neeksluzivna specijalizacija) tada je GG > 1.

Na primer, neki građanin može istovremeno da bude i dete i student. Ako je u specijalizaciji DG = 0, tada ne mora svako pojavljivanje tipa
biti specijalizacija u neki podtip (unija podtipova je podskup nadtipa).

Postupci generalizacije i specijalizacije se u PMOV pretstavljaju specijalnom „S” (Subtype ili IS-A (is a)) vezom koja se sastoji od dva
preslikavanja:

1. generalizacije, odnosno preslikavanja PODTIP —-> NADTIP (trivijalno preslikavanje između podskupa i skupa za koje je uvek DG
= 1 i GG = 1, pa se kardinalnost ovoga preslikavanja i ne predstavlja na DOV) i
2. specijalizacije, koja predstavlja preslikavanje NADTIP —-> NEPOVEZANA UNIJA PODTIPOVA. „Nepovezana unija” podtipova
predstavlja skup koji sadrži sva pojavljivanja svakog podtipa kao različite elemente u skupu, čak i kada su neka pojavljivanja dva (ili
više) podtipova jednaka.

U generalizacionoj hijerarhiji objekata važi pravilo nasleđivanja osobina i pravilo nasleđivanja operacija: Podtipovi nasleđuju sve atribute i
veze svoga nadtipa.

Na primer tip Student je podtip tipa Građanin i pored svojih atributa BrojInd i Semestar, on nasleđuje i atribute svog „nadtipa”, Mlb, Ime,
Starost. Atributi tipa lekar su njegovi atributi i atributi svih njegovih nadtipova po generalizocionoj hijerarhiji, tj, Specijalnost, Plata, Mlb, Ime

3 of 6 13-Nov-23, 1:38 PM
Model baze podataka objekti - veze (MOV) | Edukacija https://edukacija.rs/it/baze-podataka/model-objekti-veze-mov

i Starost.

Podtipovi takođe nasleđuju i operacije nadtipa koje se u MOV veoma retko definišu.

Agregacija je apstrakcija u kojoj se veza između dva objekta ili više tipova objekata tretira kao objekat na višem nivou apstrkacije. Zbog
toga što istovremeno predstavlja i objekat i vezu, agregacija se često naziva i mešoviti tip objekta-veza. Objekti koji čine agregaciju se
nazivaju komponentama agregacije.

Postupak inverzan aregaciji se naziva dekompozicija. Kardinalnost preslikavanja KOMPONENTA->AGREGACIJA mora biti specificirana,
dok je za inverzno preslikavnaje uvek DG = 1 i GG = 1, što znači da je agregacija egzistencijalno zavisna od svojih komponenata.

Agregirani objekat se razlikuje od ostalih objekata u sistemu po tome što nema svoj sopstveni identifikator, već ga identifikuju objekti
koje on agregira. Agregacija je klasa Prijava, a njene komponente su Student i Predmet. Jednom pojavljivanju agregacije uvek odgovara
po jedno pojavljivanje komponenti koje je čine. Jedan Student može da učestvuje u formiranju 0 ili M Prijava.

Agregirani objekat se u modelu tretira kao i bilo koji drugi objekat. To znači da on može da ima svoje atribute i/ili da bude u vezi sa nekim
drugim objektima (moguće agreiranim, takođe), da ima svoje podtipove i slično. Mada svaka veza agregira dva objekta, samo one binarne
veze kojima bi imalo smisla dodati neke atribute ili koje bi imalo smisla povezivati sa drugim objektima treba tretirati kao agregirane
objekte (agregacije).

Dobra praksa modeliranja može da bude i to da se svaka binarna veza u kojoj oba preslikavanja imaju GG = M, tretira kao agregacija. U
MOV koriste se samo binarne veze objekata. Ako postoji potreba da se direktno predstavi veza tri ili više objekata, tada se takva veza
tretira kao agregacija.

Na primer, činjenicu da dobavljači dobavljaju neke proizvode za specifične projekte može se predstaviti kao agregacija objekata
Dobavljač, Proizvod i Projekat. Ako se višestruke veze predstavljaju kao agregirani objekti, tada model uključuje samo binarne veze što
omogućuje jasno definisanje kardinalnosti direktnog i inverznog preslikavanja koje ih čine.

Primer 1: kola parkira jedan student

Model podataka za ovaj hipotetički fakultetski informacioni sistem je predstavljen tako što su pojedini delovi namerno neobični, da bi se
iskazale neke karakteristike MOV.

Pretpostavlja se da na posmatranom fakultetu postoji specijalan parking namenjen samo studentima. Ovaj zaključak sledi iz činjenice da
svaka Kola Parkira najmanje jedan Student. Drugim rečima, DG preslikavanja Kola->Student koja je jednaka 1 pokazuje da svaka kola
na parkingu moraju biti vezana barem za jednog studenta i mogu biti vezana samo za jednog studenta GG=1. Student ne mora da Parkira
nijedna, a može najviše jedna Kola.

Primer 2: student, registar, predmet

Ovaj primer prikazuje vezu studenta i predmeta.

4 of 6 13-Nov-23, 1:38 PM
Model baze podataka objekti - veze (MOV) | Edukacija https://edukacija.rs/it/baze-podataka/model-objekti-veze-mov

Student mora biti Registrovan barem za jedan predmet, a za Predmet može da bude registrovano nula, jedan ili više Studenata.

Primer 3: student, imaju, roditelj

Donja granica preslikavanja Roditelj->Student je jednaka 1. To znači da Roditelj ne može postojati u bazi ako nije vezan za nekog
studenta. Ne može se izbaciti neko pojavljivanje Studenta iz baze ako je za njega vezano pojavljivanje Roditelja koji je Roditelj samo tom
Studentu, ili se zajdeno sa njim mora izbaciti i takvo pojavljivanje Roditelja.

Uopšteno ažuriranje baze podataka može da naruši kardinalnost preslikavanja (tzv. „strukturna ograničenja”) i zbog toga je neophodno
definisati odgovarajuća dinamička pravila integriteta.

Očigledno je da su kritična preslikavanja sa donjom granicom različitom od nule (najčešće 1) i gornjom granicom različitom od M
(najčešće 1).

Primer 4: student, prijava, predmet

Jedno pojavljivanje klase Prijava ima kao svoje komponente pojavljivanje objekta iz klase Student i Predmet. Atributi ove agregacije daju
za datog studenta i dati predmet, datum i ocenu položenog ispita.

Primer 5: student, specijalizacija vanredni

Klasa Vanredni predstavlja podtip klase Student preko specijalizacije Vrsta. Znači da se za jedan nadtip može definisati i samo jedan
podtip preko neke specijalizacije.

Međutim, u ovom slučaju specijalizacija ne sme da bude obavezna (donja granica preslikavanja specijalizacije mora da bude jednaka
nuli).

Primer 6: projekat, podtip zadatak

Klasa Zadatak predstavlja klasu slabih, identifikaciono zavisnih objekata, zavisnih od objekata nadređene klase Projekat. To ovde znači
da se pojedini zadaci sami za sebe ne mogu pojavljivati u modelu i da atribut ŠifZad ne može jedinstveno identifikovati jedan zadatak u
sistemu. Tek agregacija <ŠifProj, ŠifZad>, odnosno veza projekta i zadatka jedinstveno identifikuje jedan zadatak u sistemu.

Ovakva identifikacija Zadatka se naziva „govoreća šifra” jer, pored jedinstvene identifikacije zadatka u sistemu, daje i informaciju o
projektu kome zadatak pripada. U mnogim modelima slabi objekti su posledica govorećih šifara u odgovarajućem sistemu. Govoreće šifre
treba izbegavati jer dati model podataka, odnosno odgovarajuću bazu čine neelastičnom.

5 of 6 13-Nov-23, 1:38 PM
Model baze podataka objekti - veze (MOV) | Edukacija https://edukacija.rs/it/baze-podataka/model-objekti-veze-mov

Primer 7: predmet, pripada katedri

Posebno je zanimljiva „kruta” veza između klasa Predmet i Katedra koja je posledica činjenice da oba preslikavanja ove veze imaju donju
granicu kardinalnosti jednaku jedan.

Svaki Predmet mora da Pripada nekoj Katedri i može da pripada samo jednoj, dok svaka Katedra mora da ima bar jedan Predmet. To
znači da se nova Katedra može ubaciti u bazu samo ako se istovremeno (u istoj transakciji) u bazu ubacuje barem jedan novi Predmet
koji joj pripada.

Isto tako neki Predmet koji je poslednji predmet u posmatranoj Katedri, ne može se izbaciti iz baze ili se sa njim mora izbaciti i
odgovarajućia Katedra.

Strani jezici
Informacione tehnologije
Poslovne veštine
Ostali tutorijali

© 2014-2020 Sva prava zadržana.


Eduinfo.ba / Vanredno obrazovanje / Prekvalifikacija / Dokvalifikacija

6 of 6 13-Nov-23, 1:38 PM

You might also like