Model objekti-veze

S Vikipedije, slobodne enciklopedije
Primer modela 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[uredi | uredi izvor]

U 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[uredi | uredi izvor]

Od 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[uredi | uredi izvor]

Veze 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[uredi | uredi izvor]

Koncept 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[uredi | uredi izvor]

Kod 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[uredi | uredi izvor]

Mnogi 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.