Baze podataka - osnovni pojmovi
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
1/52
Šta ćete naučiti
Pregled Pregled Uvod u baze podataka Relacione baze podataka Razvoj baze podataka
• • • •
Šta je to baza podataka? Zašto koristiti bazu podataka? Šta je to relaciona baza podataka? Zašto prostorni podaci predstavljaju problem za relacione baze podataka? • Kako se razvija (projektuje) baza podataka? • Šta je to objektna orijentacija i na koji način je ona relevantna za baze podataka?
Objektna orijentacija
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
2/52
Uvod u baze podataka
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
3/52
Šta je to baza podataka?
Pregled Uvod baze Uvod u baze podataka podataka Relacione baze podataka Razvoj baze podataka
• Baza podataka je kolekcija podataka organizovanih na takav način da kompjuter može efikasno smeštati i učitavati podatke • Repozitorijum koji je logično povezan
• Baza podataka se kreira i održava korišćenjem softvera opšte namene koji se naziva sistem za upravljanje bazom podataka (database management system - DBMS)
Objektna orijentacija
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
4/52
Pristup sa korišćenjem baze podataka •
• “Kompjuter je bio džinovski kalkulator”
Pregled Uvod baze Introduction Uvod u baze podataka podataka to databases
ulaz
•
Relacione baze podataka
izlaz
Baze podataka tretiraju kompjutere kao korisne repozitorijume podataka
obrada
• “Kompjuter kao repozitorijum podataka”
Razvoj baze podataka Objektna orijentacija
Pre pojave baza podataka, kompjuteri su primarno korišćeni da konvertuju podatke iz jednog u drugi format
•
Većina aplikacija (uključujući GIS) zahteva balans između procesiranja i smeštanja
smeštanje
učitavanje
korisnici
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
5/52
Baze podataka • Da bi bile efikasne, baze podataka moraju da ponude sledeće funkcije: Pregled Uvod baze Introduction Uvod u baze podataka podataka to databases Relacione baze podataka
• • • • •
Pouzdanost Integritet Sigurnost Korisničke poglede Korisnički interfejs
Razvoj baze podataka Objektna orijentacija
• Nezavisnost podataka (od fizičke implementacije) • Samoopisne (i podaci i struktura podataka – model podataka) • Konkurentnost • Distribuiranost • Visoke performanse
• Svim ovim funkcijama upravlja DBMS (sistem za upravljanje bazom podataka, menadžer baze podataka, engl. database management system) Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
6/52
Prednost baze podataka u odnosu na fajl sistem • Dizajniranje programa za potrebe restorana Izmeni meni
Štampaj meni
Pregled Stavka menija
Meni fajl
Uvod baze Introduction Uvod u baze podataka podataka to databases
Objektna orijentacija
Cena stavke
Faza 1
Relacione baze podataka Razvoj baze podataka
Naziv stavke
• Vremenom program postaje komplikovaniji, sa više funkcija
Štampaj meni
Izmeni meni
Izmeni zalihe
Meni fajl
Štampaj izveštaj zaliha
Zalihe fajl
Meni sa cenama
Faza 2 Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
7/52
Prednost baze podataka u odnosu na fajl sistem • Ključni problemi sa prethodnim pristupom:
Pregled Uvod baze Introduction Uvod u baze podataka podataka to databases Relacione baze podataka
• Gubitak integriteta (nema garancije da će biti obezbeđena sihronizacija promena u logički povezanim datotekama) • Gubitak nezavisnosti (promena modela podataka zahteva promenu softvera) • Nedostatak sigurnosti (zaštita podataka i restrikcija pristupa)
• Faza 3 - baza podataka rešava pomenute probleme Izmeni meni
Meni sa cenama
Štampaj meni
Izmeni zalihe
Štampaj izveštaj zaliha
Izmeni dobavljače
Razvoj baze podataka Objektna orijentacija
Dobavljači isporuka
Faza 3
Zalihe cena
meni
Sistem za upravljanje bazom podataka Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
8/52
Uobičajene aplikacije baza podataka • Home/office baze podataka • Proste aplikacije
Pregled Uvod baze Introduction Uvod u baze podataka podataka to databases Relacione baze podataka Razvoj baze podataka Objektna orijentacija
• Komercijalne baze podataka • Čuvaju informacije vezane za posao (npr. mušterije, zaposleni)
• Inženjerske baze podataka • Za čuvanje inženjerskih projekata (npr. CAD)
• Baze podataka sa slikama i multimedijom • Slike, audio i video podaci
• Geo baze podataka (geodatabase) • Čuvaju kombinaciju prostornih i neprostornih podataka
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
9/52
Elementi DBMS-a
Pregled
•
Jezik za upite (Query language)
•
Kompajler upita (Query compiler)
•
Procesor baze podataka za izvršenje (Runtime database processor)
•
Nametanje uslova (Constraint enforcer)
•
Menadžer smeštenih podataka (Stored data manager)
•
Sistemski katalog / rečnik podataka (System catalog / Data dictionary)
Uvod baze Introduction Uvod u baze podataka podataka to databases Relacione baze podataka Razvoj baze podataka Objektna orijentacija
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
10/52
Upravljanje transakcijama • Transakcija je atomska jedinica interakcije između korisnika i baze podataka Pregled Uvod baze Introduction Uvod u baze podataka podataka to databases Relacione baze podataka Razvoj baze podataka Objektna orijentacija
• • • •
Ubacivanje podataka Modifikacija podataka Brisanje podataka Učitavanje podataka
• Upravljanje transakcijama mora podržati • Konkurentnost (više korisnika pristupa istim podacima istovremeno) • Upravljanje oporavkom (učitavanje validnog stanja baze podataka nakon pada ili greške sistema)
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
11/52
Konkurentnost: gubitak ažuriranja • Može doći do gubitka ažuriranja ako se atomske transakcije nekorektno ukrste (izmešaju) Pregled Uvod baze Introduction Uvod u baze podataka podataka to databases Relacione baze podataka Razvoj baze podataka Objektna orijentacija
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
12/52
Relacione baze podataka
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
13/52
Arhitektura baze podataka • Većina današnjih baza podataka su : • Relacione ili • Objektno-orijentisane (posebno korisne za prostorne podatke) Pregled Uvod u baze podataka
Relacione Relacione baze podataka baze podataka Razvoj baze podataka Objektna orijentacija
• Rani sistemi baza podataka su bili bazirani na hijerarhijskom modelu • Effikasno smeštanje podataka, ograničena izražajnost
• Mrežni model je korišćen da bi se prevazišao nedostatak izražajnosti kod hijerarhijskih baza podataka • Ovo je dovelo do kompleksnog sistema baze podataka
• Deduktivni model je trenutno predmet aktivnog istraživanja • Uz činjenice se smeštaju i pravila
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
14/52
Arhitektura baze podataka
Pregled Uvod u baze podataka
Relacione Relacione baze podataka baze podataka Razvoj baze podataka Objektna orijentacija
Hijerarhijska i mrežna implementacija baze podataka za prostorne entitete Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
15/52
Relacioni model • Relaciona baza podataka je kolekcija relacija, koje se često zovu tabele Pregled Uvod u baze podataka
Relacione Relational Relacione baze podataka baze podataka databases Razvoj baze podataka Objektna orijentacija
• Svaka relacija ima skup atributa • Podaci u okviru relacije su organizovani u skupove vrsta (n-torki, slogova) • Svaka n-torka sastoji se iz pojedinačnih vrednosti (podatak, polje) za svaki atribut • Svaka ćelija (polje) u n-torki sadrži samo jednu vrednost • Sistem za upravljanje relacionom bazom podataka (relational database management system - RDBMS) je softver koji upravlja relacionom bazom podataka Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
16/52
Primer relacije
Pregled
Relacija
Atribut
Uvod u baze podataka
Relacione Relational Relacione baze podataka baze podataka databases Razvoj baze podataka Objektna orijentacija
N-torka Podatak Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
17/52
Relacije
Pregled
•
Relaciona šema je skup naziva atributa i domena (tip podatka) za svaki naziv atributa
•
Šema baze podataka je skup relacionih šema
•
U relaciji: • Svaka n-torka sadrži onoliko vrednosti koliko ima atributa u dogovarajućoj relacionoj šemi • Svaki podatak je određen (može uzeti vrednost) domenom svoga atributa • Redosled n-torki nijje relevantan (nebitan je) • Sve n-torke međusobno su različite (posebne, svaka je za sebe)
Uvod u baze podataka
Relacione Relacione baze podataka baze podataka Razvoj baze podataka
•
U većini relacionih sistema, podaci (polja) su atomski • Relacija sadrži samo atomske podatke (polja) – podaci su u prvoj normalnoj formi (1NF)
Objektna orijentacija
•
Stepen relacije predstavlja broj njenih kolona
•
Kardinalnost relacije predstavlja broj njenih n-torki
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
18/52
Arhitektura baze podataka
Pregled Uvod u baze podataka
Relacione Relacione baze podataka baze podataka Razvoj baze podataka Objektna orijentacija
Relaciona organizacija baze podataka (vektorski model prostornih podataka) Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
19/52
Relaciona šema • Ključ kandidat je atribut ili minimalni skup atributa na osnovu kojeg se svaka n-torka relacije može jednoznačno identifikovati
Pregled
• Jedan ključ kandidat se obično bira za primarni ključ
Uvod u baze podataka
Relacione Relational Relacione baze podataka baze podataka databases Razvoj baze podataka Objektna orijentacija
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
20/52
Operacije nad relacijama •
• • • • •
Pregled Uvod u baze podataka
•
Relacione Relational Relacione baze podataka baze podataka databases
Unija Razlika Produkt Projekcija Restrikcija
Tri izvedena relaciona operatora su takođe važni: • Presek • Deljenje • Pridruživanje (join)
Razvoj baze podataka Objektna orijentacija
Postoji pet osnovnih relacionih operatora:
•
Zajedno, ove operacije i način na koji se oni mogu kombinovati naziva se relaciona algebra
•
Za relacioni model se kaže da je zatvoren, jer relacioni operatori uzimaju kao ulaz jednu ili više relacija i vraćaju na izlazu opet relaciju
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
21/52
Operator projekcije • Operator projekcije je unaran
Pregled
• On rezultira novom relacijom koja ima podskup atributa • Identične n-torke u izlaznoj relaciji sjedinjuju se u jednu jedinstvenu n-torku
Uvod u baze podataka
Relacione Relational Relacione baze podataka baze podataka databases Razvoj baze podataka Objektna orijentacija
project NAME
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
22/52
Operatori restrikcije i pridruživanja • Operator restrikcije je unaran • On na izlazu daje relaciju koja ima podskup n-torki ulazne relacije • Uslov određuje koje n-torke će biti sadržane u izlaznoj relaciji Pregled Uvod u baze podataka
Relacione Relacione baze podataka baze podataka Razvoj baze podataka Objektna orijentacija
• Operator pridruživanja je binaran • On na izlazu daje relaciju koja je kombinovana relacija kod koje se ntorke iz ulaznih relacija slažu po nekom zadatom atributu (prirodno pridruživanje)
• Od svih relacionih operatora, pridruživanje je vremenski najzahtevnija operacija za proračun • Uopšteno, redosled izvođenja relacionih operatora je bitan i ne može biti proizvoljan (dobiće se različiti rezultati za različit redosled izvođenja operacija) • Optimizacija upita ima za cilj da pronađe efikasan način obrade upita. Na primer: promena redosleda operacija da bi se dobili ekvivalentni, ali efikasniji upiti
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
23/52
Primer relacionog operatora
Pregled
Relacija pridruživanja za relacije SHOW i FILM koristeći FILM_NAME i TITLE
Uvod u baze podataka
Relacione Relacione baze podataka baze podataka Razvoj baze podataka Objektna orijentacija
Restrikcija korišćenjem uslova CINEMA_ID=1 Projekcija TITLE, DIRECTOR, CINEMA_ID i SCREEN_NO Cela baza podataka može se naći na sajtu: http://worboys.duckham.org Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
24/52
Relacione baze podataka i prostorni podaci • Nekoliko bitnih momenata onemogućavaju da se baze podataka bez modifikacija koriste za prostorne podatke: Pregled Uvod u baze podataka
Relacione Relacione baze podataka baze podataka Razvoj baze podataka Objektna orijentacija
• Struktura prostornih podataka ne uklapa se prirodno u tabele (topologija vektorskih podataka podrazumeva da se granice poligona sastoje iz niza linijskih segmenata, a linijski segmenti od niza tačaka) • Performanse sistema su ugrožene potrebom da se vrše višestruka pridruživanja prostornih podataka (da bi se rekonstruisao neki prostorni objekat) • U konvencionalnim bazama podataka indeksi nisu prostorni
• Prošireni RDBMS pruža nekoliko rešenja da bi se ovi problemi prevazišli • • • •
Korisnički definisani tipovi podataka Korisnički definisane operacije Korisnički definisani indeksi i metode pristupa Aktivne funkcije baze podataka (trigeri, tj. okidači) Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
25/52
Razvoj baze podataka
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
26/52
Konceptualni model podataka
Pregled Uvod u baze podataka Relacione baze podataka Razvojbaze baze Razvoj podataka podataka Objektna orijentacija
• Konceptualni model podataka obezbeđuje nezavisnost predloženog modela od detalja implementacije
mašine
korisnici
• Konceptualni model • Obezbeđuje komunikaciju između analitičara, projektanta i korisnika • Pomaže kod projektovanja sistema • obezbeđuje osnovni referentni materijal za implementirani sistem
konceptualni model podataka
projektanti
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
27/52
Model entiteti-veze #1 • Model objekti-veze (entitetiveze) je tehnika za izradu konceptualnog modela podataka gde: Pregled Uvod u baze podataka Relacione baze podataka Razvoj baze Razvoj Database baze podataka development podataka Objektna orijentacija
• Tip entiteta predstavlja kolekciju sličnih objekata • Instanta entiteta predstavlja pojavljivanje određenog entiteta • Tip atributa je svojstvo povezano sa entitetom
tip attributa tip entiteta
• Tip atributa koji služi da se jednoznačno identifikuje tip entiteta naziva se identifikator • Identifikatori se obično predstavljaju podvučenim rečima
identifikator
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
28/52
Model entiteti-veze #2 • Tipovi entiteta povezani su korišćenjem veza (relacija)
Pregled Uvod u baze podataka Relacione baze podataka Razvoj baze Razvoj Database baze podataka development podataka Objektna orijentacija
• Tip veze povezuje jedan ili više tipova entiteta • Pojavljivanje veze je instanca određene veze
• Veze mogu imati svoje atribute nezavisno od entiteta • Tipovi entitet, atribut i veza se prikazuju na dijagramu entiteta–veza (engl. entity relationship diagram, E-R dijagram)
tip relacije
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
29/52
Model entiteti-veze #3 • Veze mogu biti
Pregled Uvod u baze podataka Relacione baze podataka
• više-na-više (jedan grad može imati više puteva, od kojih svaki može da prolazi kroz više gradova) • više-na-jedan (jedan grad može imati više bioskopa, ali jedan bioskop može biti lociran samo u jednom gradu) • jedan-na-jedane (svaki bioskop ima jednog upravnika koji opet upravlja samo jednim bioskopom)
• Ova ograničenja (uslovi) čine kardinalne uslove (engl. cardinality conditions)
Razvoj baze Razvoj Database baze podataka development podataka Objektna orijentacija
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
30/52
Model entiteti-veze #4 • Uz kardinalne uslove, veze takođe mogu imati dodatne uslove (participatory conditions): • opcionalan ili obavezan (označava se duplom linijom) Pregled Uvod u baze podataka Relacione baze podataka
• Veza od entiteta ka samom sebi naziva se involucioni (engl. involutory) • Veza koja povezuje tri entiteta naziva se ternarna veza
Razvoj baze Razvoj Database baze podataka development podataka Objektna orijentacija
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
31/52
Prošireni model entiteta-veza
• Prošireni model entiteta-veza (extended entity relationship model - EER) dodaje nove mogućnosti: Pregled Uvod u baze podataka Relacione baze podataka Razvoj baze Razvoj Database baze podataka development podataka Objektna orijentacija
• Entitet tipa E1 je podtip (engl. subtype) entiteta E2 ako je svaka pojava E1 istovremeno i pojava E2. U tom slučaju, E2 je nadtip (engl. supertype) E1 • Operacija formiranja podtipova se naziva specijalizacija (engl. specialization); inverzna operacija operacije formiranja podtipova naziva se generalizacija (engl. generalization)
• Kod specijalizacije (i obrnuto kod generalizacije) • Podtip ima iste atribute za identifikaciju kao i nadtip • Podtip ima sve atribute kao i nadtip, a može ih imati i više • Podtip ulazi u sve veze u koje ulazi i nadtip, a može ih imati i više
• Podtipovi i nadtipovi su organizovani u jednu hijerarhiju nasleđivanja (engl. inheritance hierarchy)
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
32/52
Prošireni model entiteta-veza • Podtipovi mogu biti:
Pregled Uvod u baze podataka
• nepovezani (engl. disjoint) - nijedna pojava jednog podtipa nije istovremeno i pojava drugog podtipa • preklapajući (engl. overlapping) – podtipovi nisu nepovezani • EER koristi proširenu dijagramski notaciju za predstavljanje konstrukcija koje se odnose na speciajlizaciju i generalizaciju
Relacione baze podataka Razvoj baze Razvoj Database baze podataka development podataka Objektna orijentacija
nadtip
nepovezani
preklapajući
podtip
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
33/52
EER za prostorne informacije #1
Pregled Uvod u baze podataka
•
E-R ili EER se može koristiti za modeliranje prostornih entiteta
•
Većina vektorski orijentisanih GIS-ova koriste sličnu strukturu
Relacione baze podataka Razvoj baze Razvoj Database baze podataka development podataka Objektna orijentacija
čvor (node)
površina (area)
usmereni luk (directed arc)
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
34/52
EER za prostorne informacije #2
površ
površ_id
čvor_id
čvor
Pregled Uvod u baze podataka
početni čvor
leva površ
Relacione baze podataka Razvoj baze Razvoj Database baze podataka development podataka Objektna orijentacija
desna površ
ograničena sleva
počinje
ograničena zdesna
završni čvor završava
usmereni luk
luk_id Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
35/52
Projektovanje relacione baze podataka • E-R model se može transformisati u šemu relacione baze podataka • Napredne mogućnosti kod relacione baze podataka su: Pregled Uvod u baze podataka Relacione baze podataka Razvoj baze Razvoj Database baze podataka development podataka Objektna orijentacija
• Nedostatak redundantnosti (redundantntni podaci nepotrebno troše prostor i prouzrokuju probleme sa integritetom podataka) • Brz pristup podacima
• Obično postoji balans između memorijskih zahteva (nedostatak redundantnosti) i brzine (brz pristup podacima) • Mnogo relacija dovodi do smanjene redundantnosti, ali i do više pridruživanja relacija (manja brzina) • Manje relacija dovodi do manje potrebe za pridruživanjem relacija (već brzina), ali i do veće redundantnosti (samim tim i do problema sa integritetom podataka)
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
36/52
Redundantnost • Na primer, sledeća relacija i relaciona šema će imati brz pristup podacima ali to podrazumeva i značajnu redundantnost (za zvezdu filma vode se dodatni atributi, ali svi se oni ponavljaju, tj. vode se nezavisno kod svakog filma) Pregled Uvod u baze podataka Relacione baze podataka Razvoj baze Razvoj Database baze podataka development podataka Objektna orijentacija
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
37/52
Otklanjanje redundantnosti
Pregled Uvod u baze podataka Relacione baze podataka Razvoj baze Razvoj Database baze podataka development podataka Objektna orijentacija
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
38/52
Izgradnja relacionih šema •
Dodatna smernica da se obezbedi da su relacije u prvoj normalnoj formi, je proces koji se naziva normalizacija
•
Prvi prolaz kod izgradnje relacione šeme na osnovu E-R model je da se: • Svaki entitet konvertuje se u relaciju • Svaka veza konvertuje se u relaciju
Pregled Uvod u baze podataka Relacione baze podataka
•
Međutim, ne zahtevaju sve veze posebnu relaciju • Za entitete koji su u obaveznoj više-na-jedan vezi, uvek možemo izabrati da definišemo jedinstvenu relaciju pridruživanja u relacionoj šemi, poznatu pod nazivom postavljanje stranog ključa
Razvoj baze Razvoj Database baze podataka development podataka Objektna orijentacija
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
39/52
Objektna orijentacija
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
40/52
Objektna orijentacija •
• Informacije mogu biti izgubljene aplikativni domen u svakoj od faza razvojnog procesa, ovo se naziva nepodudarnost impedance (engl. impedance mismatch) inicijalna model za
Pregled Uvod u baze podataka Relacione baze podataka Razvoj baze podataka
Objektna Objektna orijentacija orijentacija
Faze procesa razvoja sistema dovode do problema
studija
•
Objektna orijentacija ima za cilj minimiziranje nepodudarnosti impedance dovođenjem sistemskih konstrukcija na niskom nivou bliže ka konceptualnim konstrukcijama višeg nivoa
aplikativni domen
analiza sistema
konceptualni model
projektovanje sistema
logički model
implementacija sistema
fizički model
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
41/52
Osnove objektne orijentacije • U srcu objektne orijentacije je objekat • Objekti imaju atribute kojima se modeliraju statički, objektno orijentisani aspekti sistema (slično kao kod n-torki kod relacije) Pregled Uvod u baze podataka Relacione baze podataka Razvoj baze podataka
Objektna Object Objektna orijentacija orijentacija orientation
• Sveukupne vrednosti atributa čine stanje jednog objekta
• Objekti imaju takođe i operacije kojima se modelira ponašanje sistema • Za operacije se koristi termin metode
• Slični objekti (objekti sa sličnim ponašanjem) grupišu se u klase • Skup ponašanja jednog objekta čini jedan interfjes
objekat = stanje + ponašanje
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
42/52
Primer objektne orijentacije
prozor Pregled Uvod u baze podataka Relacione baze podataka
stanje:
prozor zatvoren, nepolomljen
stanje:
zatvoren, polomljen
ponašanje: otvori, zatvori, pogodi ponašanje: otvori, zatvori, pogodi loptica za golf šalje poruku prozoru čime se aktivira ponašanje pogodi
Razvoj baze podataka
Objektna Object Objektna orijentacija orijentacija orientation
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
43/52
Svojstva objektne orijentacije • Četiri glavna svojstva objektne orijentacije sa aspekta modeliranja su:
Pregled Uvod u baze podataka Relacione baze podataka Razvoj baze podataka
Objektna Object Objektna orijentacija orijentacija orientation
• Smanjuje se kompleksnost: komplesna pojava razlaže se na jednostavnije objekte • Dobro se nosi sa nepodudarnošću impedance: objektna orijentacija može se primeniti na svakom nivou razvoja sistema • Promoviše se ponovno korištenje komponenti: Razvoj sistema je efikasniji ako se konstruisanje vrši korišćenjem kolekcije dobro razumljivih komponenti • Ima metaforičku snagu: Objekti kod objektne orijentacije su metafore za fizičke objekte, što proces modeliranja čini lakšim
• Dodatno, četiri glavne konstrukcije su tesno povezane sa objektnom orijentacijom: identitet, enkapsulacija, nasleđivanje i asocijacija
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
44/52
Identitet i enkapsulacija • Objekat ima identitet koji je nezavisan od vrednosti njegovih atributa
Pregled Uvod u baze podataka Relacione baze podataka Razvoj baze podataka
Objektna Object Objektna orijentacija orijentacija orientation
• Čak i kada objekat promeni sve svoje atribute, on sadržava svoj identitet • Identitet je neprenosiv, kreira se sa kreiranjem objekta, a uništava se samo onda kada se i sam objekat uništava
• Objekat krije interne mehanizme svoga ponašanja od spoljnjeg pristupa svome ponašanju - enkapsulacija • Ponašanje koje objekat ispoljava odvojeno je od toga kako se postiže takvo ponašanje • Enkapsulacija promoviše ponovno korišćenje, pošto promene internih mehanizama objekta ne utiču na spoljni interfejs objekta
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
45/52
Nasleđivanje i polimorfizam
•
• Klasa koja obezbeđuje specijalizovano ponašanje naziva se podklasa (engl. subclass) • Klasa koja obezbeđuje generalizovano ponašanje naziva se nadklasa (engl. superclass)
Pregled Uvod u baze podataka
•
Nasleđivanje omogućava objektima da izvode različite uloge u različitim kontekstima - polimorfizam • Polimorfizam uključivanja (engl. inclusion polymorphism) predstavlja situaciju u kojoj se koristi podklasa umesto superklase • Preklapanje (engl. overloading) predstavlja situaciju gde podklasa implementira svoju specijalizovanu verziju generalnog ponašanja
Relacione baze podataka Razvoj baze podataka
Objektna Object Objektna orijentacija orijentacija orientation
Klase mogu biti organizovane u hijerarhiju nasleđivanja čime se omogućava objektima da dele zajednička svojstva
•
Postoje dva tipa nasleđivanja: • Jednostruko nasleđivanje (engl. single inheritance) - svaka klasa može imati nijednu ili jednu nadklasu • Višestruko nasleđivanje (engl. multiple inheritance) – svaka klasa može imati nijednu ili više nadklasa (zahteva neki protokol za rešavanje konflikta u pogledu ponašanja)
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
46/52
Klasni dijagram
ponašanje
poligon
nadklasa Pregled
crtaj Uvod u baze podataka
(jednostruko) nasleđivanje
površina
Relacione baze podataka Razvoj baze podataka
podklasa trougao
Objektna Object Objektna orijentacija orijentacija orientation
preklapanje (polimorfizam)
pravougaonik
jeJednakostraničan
jeKvadrat
crtaj
crtaj
površina=½ bh
površina=bh
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
47/52
Asocijacija • Asocijacija grupiše objekte zajedno u cilju modeliranja fenomena koji ima kompleksnu internu strukturu
Pregled Uvod u baze podataka Relacione baze podataka Razvoj baze podataka
Objektna Object Objektna orijentacija orijentacija orientation
• Agregacija je tip asocijacije koji se bavi vezama celine i dela (npr. točak je deo automobila) • Veze agregacije formiraju hijerarhiju koja se često naziva partonomija
• Asocijacija je homogena ako je ona formirana od objekata koji su iste klase (npr. fudbalski tim je homogena asocijacija) • Asocijacija je uređena ako je redosled komponenti važan (npr. poliliniju čini uređen niz tačaka)
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
48/52
Objektno orijentisano modeliranje #1 • Objektno orijentisano modeliranje sastoji se od definisanja klasa, atributa, ponašanja, asocijacija i nasleđivanja u okviru sistema • Atributi jedne klase mogu biti definisani na način sličan onom kod E-R modeliranja Pregled Uvod u baze podataka Relacione baze podataka Razvoj baze podataka
• Ponašanje kod klase može pasti u jednu od tri kategorije • Konstruktori su ponašanja koja se aktiviraju kada se objekat kreira, dok se destruktori aktiviraju onda kada se objekat uništava • Pristupi (engl. accessors) su ponašanja koja se koriste za ispitivanje stanja objekta • Transformeri su ponašanja koja menjaju stanje objekta
Objektna Object Objektna orijentacija orijentacija orientation
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
49/52
Objektno orijentisano modeliranje #2 • Definisanje asocijativnih veza i veza nasleđivanja je iterativan proces koji je zavistan od konkretne aplikacije Pregled Uvod u baze podataka Relacione baze podataka
• Po pravilu: • Veze nasleđivanja se mogu otkriti koristeći vezu “je” u rečenici sa dve klase (npr. automobil “je” vozilo) • Veze agregacije mogu se otkriti koristeći frazu “deo” u rečenici (npr. upravljač je “deo” vozila’)
Razvoj baze podataka
Objektna Object Objektna orijentacija orijentacija orientation
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
50/52
Dijagrami klasa
asocijacija
transformer Pregled Uvod u baze podataka Relacione baze podataka
agregacija
Razvoj baze podataka
Objektna Object Objektna orijentacija orijentacija orientation
konstruktor
pristup atribut Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
51/52
Objektno orijentisani DBMS •
DBMS koji koristi objektno orijentisani model podataka naziva se objektno orijentisani DBMS (OODBMS)
•
Pored OO konstrukcija, OODBMS zahteva još nekoliko mogućnosti • • • •
Pregled Uvod u baze podataka Relacione baze podataka Razvoj baze podataka
Objektna Object Objektna orijentacija orijentacija orientation
•
Upravljanje šemom (mogućnost da se kreiraju i održavaju šeme klasa) Automatska optimizacija upita Upravljanje smeštanjem i pristupom podacima Upravljanje transakcijama
Postoje sledeći tehnički problemi kod ostvarivanja ovih mogućnosti: • Kompleksnost sistema znači da više nisu dovoljni jednostavni operatori kao što su oni kod relacionih sistema • Enkapsulacija znači da interno stanje entiteta može biti sakriveno od DBMS
•
Rezultat je da su performanse OODBMS niže nego one kod RDBMS
•
Hibridni objektno-relacioni DBMS (ORDBMS) koristi kombinaciju relacionog upravljanja podacima i objektno-orijentisanu “ljusku” za posredovanje kod pristupa korisnika samom DBMS-u
Geoinformatika 1 © Worboys and Duckham (2004) GIS: A Computing Perspective, Second Edition, CRC Press
52/52