Model objekti-veze
Model objekti-veze (MOV) predstavlja jedan od načina na koji se mogu projektovati baze podataka. Pored IDEF1x, UML, i još nekoliko drugih metoda, MOV predstavlja jedan od najpopularnijih metoda.
Naime, MOV nastoji da grafičkim putem, koristeći dijagram objekti-veze (DOV) prikaže model realnog sveta, tj onog dela realnog sveta na koji se baza podataka odnosi. To prikazivanje stvarnosti se odlikuje u prikazivanju objekata, njihovih osobina i međusobnih odnosa.
Objekti i atributi
urediU realnom svetu svaki objekat (čovek, dokument, prevozno sredstvo...) ima obilje osobina. Pri projektovanju baze podataka, a samim tim i izrade MOV-a, vrši se apstrakcija, to jest zanemarivanje nebitnih stvari.
Na primer, ako je reč o bazi podataka nekog preduzeća, za objekat tipa čovek od značaja su nam osobine kao što su stručna sprema i radni staž, a kad bi se radila baza podataka nekog sportskog društva, onda bi od zanačaja za čoveka bile osobine sport kojim se bavi, visina, težina i sl. U teoriji baza podataka ove osobine se nazivaju atributima. Jedan atribut, ili grupa od nekoliko atributa, koji su jendistveni u svom pojavljivanju, kandidati su za identifikatora objekata datog tipa.
Ovakvom apstrakcijom dolazimo do tipova podataka.
U konkretnom primeru, tip podatka je čovek. S druge strane, u zavisnosti od nivoa apstrakcije (koji opet zavisi od potreba same baze) možemo imati različite tipove. Negde bismo mogli da napravimo objekat tipa prevozno sredstvo, ali, ako projektujemo bazu i MOV nekog sistema gde su vozila od ključnog značaja, moramo nivo apstrakcije spustiti i, umesto prevoznog sredstva, imati tipove kao što su automobili, kamioni, autobusi.
Na DOV-u se objekti prikazuju pravougaonicima, dok se njihovi atributi prikazuju krugovima/elipsama direktno povezanim sa objektom.
Objekti i tipovi
urediOd ključnog značaja za razumevanje MOV-a je praviti razliku između pojmova objekat (entitet) i tip.
Tip predstavlja definisinje, ali ne i opredmećivanje, osobina i daje opseg relacija koje određeni objekti moraju imati. Objekat predstavlja opredmećivanje, konkretno pojavljivanje nekog tipa.
Vratimo se opet tipu čovek. Čovek, kao tip, ima osobine ime, težina i visina. Time je sam tip definisan. S druge strane, ako kažemo da je Pera težak 80kg i visok 180cm, a Mika težak 90kg, a visok 170cm, onda govorimo o dva konkretna pojavljivanja tipa čovek, tj o dva objekta koja su tipa čovek. Isto i kada govorimo o relacijama, tj. odnosima, u definiciji tipa čovek možemo reći da čovek može da ne vozi ni jedno vozilo, ali i da može voziti beskonačno mnogo vozila. Ali posebno ćemo za Peru reći da vozi jedan automobil, a za Miku da vozi kombi i motocikl.
Veze
urediVeze predstavljaju koncept koji objašanjava na koji način su dva ili više objekata povezana. Ako uzmemo binarnu vezu, tj. vezu između dva objekta, kao bazični tip veze, onda govrimo o odnosu gde se veza, tj. odnos može posmatrati iz dva ugla. U vezi lečenje, možemo da kažemo da doktor leči pacijenta, ali i da je pacijent izlečen od strane doktora.
Za vezu su od velikog značaja kardinalni brojevi. To su brojevi koji označavaju sa koliko različitih objekata drugog tipa objekat može da stupi u vezu. Kardinalni brojevi mogu biti 0, 1 i M (neograničeno mnogo). Na primer, doktor može da leči više pacijenata, ali pojedinačni pacijent može biti lečen od samo jednog doktora (ukoliko takvo ograničenje postoji u modelovanom sistemu).
Same veze se obeležavaju rombovima, koji se nalaze na liniji koja povezuje objekte u vezi. Veze imaju svoje identifikatore. Oni se na DOV-u ne obeležavaju direktno jer njih čini identifikator jednog ili oba objekta koja su u vezi.
Slabi objekti
urediKoncept slabih objekata se vezuje za objekte koji se mogu jednom ili više puta pojaviti za svako pojavljivanje jednog običnog objekta, koji se sad može nazvati i jakim objektom. Primer može biti broj telefona. Pretpostavimo da u bazi moramo da vodimo evidenciju o brojevima telefona zaposlenih. Za objekat zaposleni može se vezati atribut broj telefona, međutim time smo ograničeni na to da zaposleni može imati evidentiran samo jedan broj telefona. A u stvarnosti može i više.
Ovaj problem se rešava tako što se napravi novi objekat broj telefona, i on se, kao slab objekat, vezuje za objekat zaposleni. Slab objekat se obeležava usmerenom linijom gde je kardinalnost od slabog ka jakom objektu 1.
Identifikator slabog objekta je složen: sastoji se iz identifikatora samog slabog objekta i iz identifikatora njegovog jakog objekta.
Objekti sa semantički ograničenim skupom vrednosti
urediKod slabih objekata je karakteristično da imaju, uslovno rečeno, bezbroj mogućih oblika javljanja. Ako bismo imali objekat račun koji bi imao atribute koji se nalaze u zaglavlju računa, a za njega vezan slab objekat stavka računa, javljanje ovog objekta se može desiti na mnogo načina, jer njega karakterišu prvo sam proizvod, a zatim i količina i cena koja su, faktički, neograničenog opsega.
Ako bismo imali situaciju da vodimo evidenciju o danima u nedelji kad koji čovek ide na džogiranje, gde svako može da ne džogira ni jednom u nedelji, ali može i svih sedam dana, nećemo koristiti koncept slabih objekata, kako se možda čini na prvi pogled. Zašto? Za razliku od stavke računa, dani u nedelji se javljaju u vrlo ograničenom domenu od svega 7 različitih oblika. Druga bitna razlika je ta da, dok slabi objekti ne postoje i nemaju smisla bez jakih objekata, objekti koji su semantički određeni postoje nezavisno od objekata sa kojim stupaju u vezu. Ponedeljak, utorak, sreda.. postoje nezavisno od toga da li iko džogira tim danima ili ne. Kad se već znaju sve moguće vrednosti, praktičnije je da se već čuvaju negde (u vidu objekta, u ovom slučaju objekta Dan) nego stalno u bazu kucati iste stvari (ponedeljak, ponedeljak, sreda, utorak, sreda, sreda...). Odvajanjem u poseban objekat semnatički definisan opseg vrednosti se i znanto smanjuje mogućnost greški pri unosu tih vrednosti.
Prošireni model objekti-veze
urediMnogi informatičari i teoretičari su davali svoja proširenja na model objekti-veze. Poslednje decenije, prvo u Jugoslaviji, a sada u Srbiji vrlo je popularan prošireni model objekti-veze (PMOV) koji je uobličen od strane grupe stručnjaka sa Fakulteta tehničkih nauka u Novom Sadu.