Baze podataka

Baze podataka
Prof. dr. sc. Damir Medak
Geodetski fakultet Sveuˇiliˇta u Zagrebu c s

Zagreb, listopad 2008.

Baze podataka Uvodno predavanje Sadrˇaj i cilj kolegija z

Sadrˇaj kolegija z

Cilj uvodnog predavanja: kratak pregled sadrˇaja kolegija z ”Baze podataka” Sadrˇaji svih kolegija na Geodetskom fakultetu dostupni su na z internetu: http://www.geof.hr/

Baze podataka Uvodno predavanje Sadrˇaj i cilj kolegija z

Cilj kolegija

ovladati temeljima suvremenih baza podataka s posebnim naglaskom na prostorne (geo-) podatke usvojiti osnove samostalnog rukovanja komercijalnim i slobodnim programskim paketima za baze podataka (relacijski model, ER-model) ste´i osnovna znanja o konceptima baza podataka koje ´e c c postati industrijski standard u vrijeme poˇetka profesionalne c karijere (objektno-relacijske baze podataka)

Baze podataka Uvodno predavanje Temeljni pojmovi i definicije Temeljni pojmovi i definicije Pojam baze podataka. podatka. informacije. modela podataka Dizajn baza podataka: konceptualni implementacijski fiziˇki dizajn c Fiziˇka organizacija podataka c . informacijskog sustava.

produkt. povezivanje (join).Baze podataka Uvodno predavanje Modeli baza podataka Relacijske baze podataka Osnovni elementi: tablice i relacije. unija. presjek Upitni jezici (SQL) ER-dijagram Normalne forme relacijskih baza podataka Primjene u geodeziji i geoinformatici . razlika. atributi i kljuˇevi c Osnove relacijske algebre: selekcija. projekcija.

Baze podataka Uvodno predavanje Modeli baza podataka Sustav za upravljanje bazom podataka (DBMS) eng. DataBase Management System Integritet podataka Transakcije ACID uvjeti: atomiˇnost (eng. durability) Viˇekorisniˇke baze podataka s c . consistency) izolacija (eng. atomicity) c konzistentnost (eng. isolation) trajnost (eng.

Baze podataka Uvodno predavanje Modeli baza podataka Uvod u objektno-orijentirani dizajn Osnove OO programskih jezika i baza podataka: nasljedivanje (eng. inheritance) viˇeobliˇnost (eng. polymorphysm) s c prikrivanje unutarnjeg ustroja (eng. encapsulation) Primjene u geodeziji i geoinformatici (kompleksnost prostornih podataka i procesa) Uvod u UML (Unified Modeling Language): dijagram geometrijski klasa. nasljedivanje .

Baze podataka Uvodno predavanje Modeli baza podataka Budu´nost baza podataka c Objektno-relacijski model Objektno-orijentirane baze podataka Deduktivne baze podataka (Prolog) .

SQL (PostgreSQL. predikatna logika (Prolog) Pohadanje vjeˇbi obavezno! z Asistenti: Ivan Medved. Mario Miler i Branko Kordi´ c Suradnici: Draˇen Odobaˇi´ i Vedran Tatarevi´ z sc c . MySQL.Baze podataka Uvodno predavanje Program vjeˇbi z Program vjeˇbi z Raˇunalne vjeˇbe (podjela u 8 grupa) c z Relacijske baze podataka. Almin Dapo. MSSQL) Fakultativno: Deduktivne baze podataka.

Baze podataka Uvodno predavanje Ispit Obaveze. 0 za neodgovoreno) c Pismeni ispit (30 bodova): 10 pitanja. 0 za neodgovoreno) c Dva meduispita: viˇe od 40 bodova . ispit. 3 boda za toˇan. -1 za c netoˇan odgovor. -1 za c netoˇan odgovor.ocjena vrlo dobar ili s odliˇan c . ocjena Vjeˇbe obavezne: ˇest zadataka i jedan projekt uvjet za potpis z s Meduispit (30 bodova): 10 pitanja. 3 boda za toˇan.

Baze podataka Baze podataka . Redundancija i inkonzistentnost Ograniˇena mogu´nost pristupa podacima c c Problemi pri viˇekorisniˇkoj upotrebi podataka s c Gubitak podataka Povreda integriteta podataka Sigurnosni problemi Visoki troˇkovi razvoja aplikacija s ...motivacija i definicija Kad ne bi bilo baza podataka.

obrada. a svrha mu je prikupljanje. pohranjivanje i distribucija informacija. Pohranjeni podaci u bazi podataka opisuju trenutaˇno stanje c dijela realnog svijeta za koji je i razvijen informacijski sustav. c c Informacijski sustav je uvijek podsustav nekog organizacijskog sustava.Baze podataka Baze podataka . . koje su potrebne za pra´enje rada i upravljanje tim organizacijskim sustavom ili c nekim njegovim podsustavom. naravno na naˇin pogodan za raˇunalnu obradu.motivacija i definicija Baza podataka i informacijski sustav Baza podataka je centralno mjesto informacijskog sustava.

motivacija i definicija Informacija i podatak Informacija je znanje koje primatelju opisuje nove ˇinjenice. prijenosa i z obrade. s . c Podatak je skup znakova u memoriji koji prikazuje jedan ili viˇe elemenata informacije. simbola koji sluˇe za prikaz informacija u svrhu spremanja. c To znanje se materijalizira u obliku podataka. otklanja neizvjesnost i sluˇi kao podloga za z odluˇivanje.Baze podataka Baze podataka . Informacija je i obradeni podatak koji za primatelja ima karakter novosti.

zajedniˇkim pristupom c dodaju se novi podaci te mijenjaju i premjeˇtaju postoje´i. s c Podaci se pohranjuju u bazu podataka na jedan organizirani naˇin koriste´i odgovaraju´i model podataka. c c c .Baze podataka Baze podataka .motivacija i definicija Baza podataka .definicija Baza podataka je skup medusobno povezanih podataka pohranjenih bez nepotrebne zalihosti s ciljem da na optimalni naˇin posluˇe u raznim primjenama. Podaci se spremaju c z neovisno o programima koji ih koriste.

dobivati i z modificirati podaci o tim objektima.Baze podataka Model podataka Model podataka . Skup op´ih pravila integriteta podataka koja implicitno ili c eksplicitno definiraju skup konzistentnih stanja podataka ili promjena stanja. Skup operacija koje moˇemo izvoditi nad objektima z definiranim pod 1) i kojima se mogu pretraˇivati. ili oboje i koja su op´enita u smislu da su c primjenjiva na bilo koju bazu podataka koja koristi taj model. .definicija Model podataka je formalni sustav koji mora imati barem sljede´e tri komponente: c 1 2 3 Skup objekata koji su osnovni elementi baze podataka.

razvijanje opcih teorija oblikovanja baza podataka. istraˇivanje svojstava podataka.Baze podataka Model podataka Model podataka se koristi za: razvijanje sustava za upravljanje bazom podataka. razvijanje programskih jezika za rad s podacima u bazi podataka. . odnosno svojstava baza z podataka.

Database Management System SUBP je programski sustav koji osigurava osnovne funkcije odabranog modela podataka u postupku kreiranja i koriˇtenja baze s podataka. SUBP se sastoji od integrirane kolekcije programske podrˇke koja s omogu´ava: c opis i manipulaciju podacima pomo´u posebnog jezika ili c posebnih jezika visoki nivo suˇelja prema podacima neovisan o strukturi c podataka u raˇunalu c efikasno koriˇtenje i razumijevanje informacija pohranjenih u s bazi podataka. . zahvaljuju´i skupu programskih alata c (pomagala).Baze podataka Sustav za upravljanje bazom podataka Sustav za upravljanje bazom podataka DBMS .

Baze podataka Modeliranje podataka Razine apstrakcije Pogled 1 Pogled 2 Pogled 3 Logički model fiziˇka neovisnost c podataka logiˇka neovisnost c podataka Fizički model .

Baze podataka Modeliranje podataka Modeliranje podataka Isječak stvarnosti manualno/intelektualno modeliranje konceptualni model (ER-shema) poluautomatska transformacija relacijski model mrežni model objektni model .

entity): pravokutnik atribut (eng. veze i atributi ˇine ER ili ERA c model. Simboli u ER-dijagramima su: entitet (eng. relationship): romb Studenti Ime slušaju .Baze podataka Modeliranje podataka ER-shema: Model entiteta i veza Entiteti. attribute): oval (elipsa) veza (eng.

profesori..) konceptualno modeliranje BrojInd Ime Studenti slušaju Predavanja Profesori drže ŠifraPred Naziv BrRadKnj Ime . predavanja. .Baze podataka Modeliranje podataka Model entiteta i veza Isječak stvarnosti: SVEUČILIŠTE (studenti..

Baze podataka Modeliranje podataka Logiˇki modeli podataka c mreˇni model z hijerarhijski model relacijski model objektni model objektno-relacijski model deduktivni model .

popis c studenata Geodetskog fakulteta) . JMBG) c c Datoteka (file): niz zapisa obiˇno istog tipa (npr. godina upisa na studij) kljuˇ jednoznaˇno definira zapis (npr. mjesto za prezime studenta) polje varijabilne duljine (npr. komentar. popis ocjena) polje fiksne duljine (npr.Baze podataka Modeliranje podataka Logiˇka organizacija podataka c Zapis (record): niz podataka povezan s jednim entitetom (npr. broj indeksa. podaci o jednom studentu) Polje (field): mjesto rezervirano za jedan element zapisa (npr.

Baze podataka Modeliranje podataka Fiziˇka organizacija podataka c Datoteke su fiziˇki spremljene na disk tako da blokovi na disku c ˇuvaju zapise. z s c sc c . zapis ´e c c zauzeti dva ili viˇe blokova. c Ako je kapacitet bloka manji od veliˇine zapisa. blok ´e c c c sadrˇavati viˇe zapisa (najˇeˇ´i sluˇaj). s Ako je kapacitet bloka ve´i od veliˇine zapisa.

Baze podataka Modeliranje podataka Metode pristupa podacima Otvaranje (open): priprema datoteku za pristup Traˇenje (find): lociranje bloka na disku koji sadrˇi zapis koji z z zadovoljava postavljeni uvjet ˇ Citanje (read): kopira zapis u radnu memoriju Brisanje (delete): briˇe zapis i sprema rezultat na disk s Izmjena (modify): mijenja polje u zapisu i sprema rezultat na disk Dodavanje (insert): ˇita blok u radnu memoriju. dodaje novi c zapis i sprema rezultat na disk Zatvaranje (close): prekida pristup datoteci .

jedna od z z temeljnih funkcija baze podataka .Baze podataka Pretraˇivanje podataka z Pretraˇivanje podataka z jednostavno i brzo pretraˇivanje (pronalaˇenje) .

Baze podataka Pretraˇivanje podataka z

Linearno pretraˇivanje z

neuredene datoteke jednostavno dodavanje novih podataka sloˇen direktni pristup (npr. na´i ocjene studenta prema z c imenu: potrebno pretraˇivanje svih zapisa dok se ne pronade z upravo onaj zapis u kojem se polje slaˇe s uvjetom), z za n podataka prosjecno je potrebno ucitati n/2 zapisa linearno pretraˇivanje se joˇ naziva brute-force (sirova snaga) z s

Baze podataka Pretraˇivanje podataka z

Binarno pretraˇivanje z

uredene datoteke broj zapisa se u svakom koraku prepolovi za n podataka potrebno je maksimalno log2 n koraka, npr. za 1000 studenata poredanih po prezimenu dovoljno je 10 pristupa.

Baze podataka Pretraˇivanje podataka z Indeksiranje podataka

Indeksiranje podataka

Dobra strana: ubrzava pristup zapisima Loˇa strana: potreban dodatan prostor za spremanje indeksa s Usporedba: knjigu bez indeksa pojmova bi trebalo svaki put pretraˇiti od prve do zadnje stranice z Indeks je uredena datoteka ciji zapisi sadrˇe dva polja: z
polje indeksa (sadrˇi sortirane vrijednosti indeksnog polja) z polje pokazivaˇa (sadrˇi adrese blokova na disku koje imaju c z vrijednost indeksa)

Pretraˇivanje indeksne datoteke je binarno. z

c z DATOTEKA INDEKS Indeksno Pokazivačko polje polje Adžić Babić Bevanda .... 5881 5887 5907 5910 . 5959 5972 Ime Vježbe + + + + + + + + Bogner Hrvoje Gojmerac Darija Adžić Čustović Gradišer Babić Čanak Bevanda Ivana Aida Lovro Luka Luka Slavica . * * * BrojInd Prezime 5756 5876 ..Baze podataka Pretraˇivanje podataka z Indeksiranje podataka Indeksiranje podataka Pronalazak traˇenog indeksa vodi nas do zapisa koji sadrˇi z z pokazivaˇ na zapis s ostalim poljima o traˇenom entitetu...

Baze podataka Entiteti i atributi Entiteti i atributi Entitet Entitet je individualni primjer elementa stvarnog svijeta ili njegova isjeˇka. Tip entiteta je skup entiteta s istim svojstvima. Entitet je bilo ˇto o ˇemu ˇelimo prikupljati i spremati c s c z informacije. Atribut Atribut je svojstvo koje posjeduje neki entitet. . Primjer Najjednostavniji geometrijski element je toˇka opisana s barem c dvije (nerazdvojne) koordinate (y i x).

Baze podataka Entiteti i atributi Odnos izmedu entiteta ovisan o odabranom modelu podataka odnos moˇe biti i entitet! z binarni odnosi: 1:1. m:n Drˇava z Drˇava z Drˇava z 1 1 m ↔ ↔ ↔ 1 m n Glavni grad ˇ Zupanija Jezik . 1:m.

z z s c Deutschland. Primjer Ime drˇave moˇe biti napisano na viˇe razliˇitih jezika (Germany. c Primarni kljuˇ kojeg ˇine dva ili viˇe atributa zovemo c c s kompozitni kljuˇ (npr. JMBG). Fakultet i BrojIndeksa jednoznaˇno c c odreduju studenta na Sveuˇiliˇtu). Njemaˇka).Baze podataka Kljuˇevi c Primarni kljuˇ c Primarni kljuˇ c Primarni kljuˇ je minimalni skup atributa potreban za c jednoznaˇno odredivanje zapisa (npr. c s Sekundarni kljuˇ je bilo koji atribut koji nije kandidat za c primarni kljuˇ. . c Primarni kljuˇ je s entitetom kojeg opisuje uvijek povezan c asocijacijom 1:1 ili m:1. a ipak se odnosi na jedan te isti zapis u c bazi podataka.

kratica drˇave kao atribut grada).GradID. U polje Student. z c c Primjer Ako u tablici Student postoji uvjet da je poˇtanski broj strani kljuˇ s c (Student.Baze podataka Kljuˇevi c Strani kljuˇ c Strani kljuˇ c Strani kljuˇ (foreign key) je atribut koji sluˇi kao primarni c z kljuˇ drugog entiteta (npr. koji je ujedno primarni kljuˇ u tablici Grad c (Grad. unos nije mogu´.Grad). c z Strani kljuˇ vaˇan je kod povezivanja tablica: ako zapis u c z vezanoj tablici ne sadrˇi na mjestu primarnog kljuˇa vrijednost z c koja se ˇeli unijeti kao strani kljuˇ. .Grad ne moˇemo unijeti vrijednost z 20000.GradID). ako vrijednost 2000 nije prethodno unesena u polje Grad.

Baze podataka Kljuˇevi c Strani kljuˇ c Interna navigacija baza podataka Iako je sustav za upravljanje bazom podataka (DBMS) obiˇno c vrlo napredan program. aplikacije bi se trebale baviti pitanjem: c ˇ STO je potrebno? dok DBMS (SUBP) odgovara na pitanje: KAKO realizirati zahtjev? .to bolje! Op´enito. za pojedine namjene obiˇno se rade c posebna. s ˇ manje pojedina aplikacija ”zna” o internoj navigaciji baze Sto . dodatna programska rjeˇenja (aplikacije).

Baze podataka Kljuˇevi c Strani kljuˇ c Geometrijski primjer: karta M s dva poligona A i B M 3 b 2 c A a 1 4 d 5 e B g f 6 .

Baze podataka Modeli podataka Hijerarhijski model Hijerarhijski model podataka “vlasnici” i “ˇlanovi”: jedan ˇlan moˇe c c z imati samo jednog vlasnika putovi pretraˇivanja su fiksni z M 3 b 2 c A a 1 4 d B g 5 e f 6 M A a b c d d e B f 5 6 g 6 1 1 2 2 3 3 4 4 1 1 4 4 5 .

Baze podataka Modeli podataka Mreˇni model z Mreˇni model podataka z op´i sluˇaj hijerarhijskog modela c c odnosi definirani eksplicitno aplikacija mora poznavati interni model baze podataka M A a b 1 B c 2 3 d 4 e 5 f 6 g .

Baze podataka Relacijski model Relacijski model podataka M 3 b 2 Karta M 5 e c A a 1 4 d B g 6 f A B Poligoni A a B d b e c f d g Linije a b c d e f g 1 2 3 4 4 5 6 2 3 4 1 5 6 1 Točke 1 2 3 4 5 6 x1 x2 x3 x4 x5 x6 y1 y2 y3 y4 y5 y6 .

xr)... Zapisima odgovaraju reci u tablici. (yo. c Svakom tipu podataka odgovara jedna tablica. Ime Zagreb München Beč Graz Berlin . (ym.xp). . ...... . Njemačka Austrija Hrvatska Švicarska Slovenija ...... Država_ID Ime GER AUT CRO SUI SLO .. Poljima odgovaraju stupci u tablici... Geometrija (y1.xn). . ..... Grad_ID ZAG MUC W IE GRZ BER .xm).Baze podataka Relacijski model Relacijske baze podataka Svi su podaci spremljeni u tabliˇnom obliku..... Geometrija (yr.. ..... (yn.. .xo).... (yp.....x1)...

drˇave kao poligoni. provjeriti da li je toˇka c z c u poligonu.Baze podataka Relacijski model Relacije Temelj relacijskih baza podataka: povezivanje entiteta razliˇitog tipa.. Grad_ID Država_ID ZAG CRO GER AUT AUT GER ... Druga mogu´nost je definicija c predmetnog odnosa (relacije) uz pomo´ nove tablice. c Odnos grada i drˇave mogu´e je i implicitno definirati: z c gradovi kao toˇke.. MUC W IE GRZ BER . c .

c . onda je to strani c kljuˇ. Ako je primarni kljuˇ atribut druge tablice.Baze podataka Relacijski model Posebnosti relacijskih baza podataka Niti redoslijed zapisa niti redoslijed polja u tablici nije vaˇan. z c z Relacija se uspostavlja preko primarnih kljuˇeva entitetnih c tablica. z Poloˇaj (redoslijed) identiˇnih vrijednosti nije vaˇan.

) z c . primjena je neovisna o unaprijed zadanim putevima pristupa podacima (hijerarhijski i mreˇni model). ˇ Korisnikov upit se bavi samo pitanjem STO?. kalendar.Baze podataka Relacijski model Posljedice (1) Interna organizacija neke tablice potpuno je neovisna od drugih tablica (npr. .. z tablice su bliske strukturama koje susre´emo u svakodnevnom c ˇivotu (raˇuni.. dok sustav za upravljanje relacijskim bazama podataka (RDBMS) rjeˇava s problem KAKO?. sortiranje).

Upitni jezik sadrˇi malen broj elemenata i lagano ga je z nauˇiti (SQL). s Tablice dozvoljavaju prikaze specifiˇne za pojedinog c korisnika (eksterni model).Baze podataka Relacijski model Posljedice (2) Tablice je mogu´e jednostavno kombinirati. c Tablice se lako proˇiruju novim podacima. Postoje jednostavna pravila za spremanje podataka bez redundancije (normalne forme). . mijenjati i c pretraˇivati: relacijska algebra je matematiˇki precizno z c definirana.

nestabilna struktura anomalije baza podataka. konzistentnost. stabilna s z struktura podataka. . Ciljevi: ˇto jednostavnije odrˇavanje. Relacijski model: jednostavna provjera pridrˇavanja normalnih z formi.Baze podataka Relacijski model Normalne forme Normalne forme Realizacija relacijskih baza podataka ostavlja veliki prostor za izbor entiteta. atributa i relacija. Opasnost: pri izmjeni podataka dolazi do neˇeljenih sporednih z efekata. Nepotrebno spremljeni podaci .

z . normalne forme: 1 veza izmedu podataka na logiˇkoj. Zupanija2. za svaki tip entiteta postoji jedan primarni kljuˇ.Baze podataka Relacijski model Normalne forme 1.. c svako polje unutar jednog entiteta ima jednoznaˇno ime c koje se ne ponavlja. normalna forma Uvjeti 1. GlavniGrad.. . Zupanija1. a ne na fiziˇkoj razini c c (adrese na disku). 2 3 Prva dva uvjeta su za relacijske baze neminovna. Naziv. dok tre´i uvjet ne c zadovoljava sljede´i primjer (jer se polje ˇupanija ponavlja): c z entitet: Drˇava z ˇ ˇ DrˇavaID.

Baze podataka Relacijski model Normalne forme 2. normalna forma Uvjeti 2. svako polje unutar jednog entiteta koje nije dio primarnog kljuˇa funkcionalno potpuno ovisi o cijelom (kompozitnom) c kljuˇu. Prezime. c Druga normalna forma dolazi do izraˇaja kod primarnih kljuˇeva z c sastavljenih od dva ili viˇe polja (kompozitni primarni kljuˇ). BrInd. Ime. AdresaFakulteta Polje AdresaFakulteta ovisi o dijelu kompozitnog primarnog kljuˇa c ˇ kojeg ˇine polja SifraFakulteta i BrInd. normalne forme. c . s c entitet: Student ˇ SifraFakulteta. normalne forme: 1 2 moraju biti ispunjeni uvjeti 1.

odnosno Drˇava. normalnoj formi pa ju treba ˇ rastaviti na dvije relacije: Zupanija. Relacija nije u 3. ne postoji tranzitivna ovisnost nijednog polja o nijednom kljuˇu. ˇ entitet: Zupanija ˇ Zupanija. normalne forme. normalna forma Uvjeti 3. normalne forme: 1 2 moraju biti ispunjeni uvjeti 2. c Tranzitivnost: ako a R b i b R c. z . Drˇava. GlavniGradDrˇave z z Polje GlavniGradDrˇave ovisi o polju Drˇava. z z GlavniGradDrˇave. Drˇava. slijedi a R c. a polje Drˇava o z z z ˇ polju Zupanija.Baze podataka Relacijski model Normalne forme 3.

s Normalne forme su skup pravila korisnih za modeliranje op´ih c sluˇajeva baza podataka. s Takvi kompleksni tipovi podataka posebno se ˇesto javljaju u c geoinformatici. c Kod kompleksnih tipova podataka ponekad su neophodni kompromisi: odstupanje od idealnog rjeˇenja.Baze podataka Relacijski model Normalne forme Normalne forme .posljedice Postoje i viˇi stupnjevi normalnih formi. Rezultat: objektno-relacijske baze podataka. .

Rezultat operacije nad relacijama je ponovo relacija (sliˇno c kao i kod brojeva: rezultat zbrajanja u skupu prirodnih brojeva je uvijek prirodan broj. .Baze podataka Relacijska algebra Relacijska algebra Relacije opisuju i podatke i njihove odnose. Relacijska algebra je zatvoreni i konzistentni skup pravila koja su primjenjiva na relacije. Da li je isto s oduzimanjem?).

Baze podataka Relacijska algebra Elementarne operacije relacijske algebre ∪ unija relacija − razlika relacija ∩ presjek relacija π projekcija σ selekcija × Kartezijev produkt pridruˇivanje ili join z .

moraju imati identiˇna polja c Primjer: pri udruˇivanju geodetskih toˇaka koordinate istih z c toˇaka u razliˇitim tablicama mogu biti razliˇite c c c .Baze podataka Relacijska algebra Unija relacija: C = A ∪ B koncept sukladan uniji skupova rezultiraju´a relacija sadrˇi sve zapise iz obje tablice pri ˇemu c z c se zapisi koji se ponavljaju spremaju samo jedanput UVJET: ulazne relacije (tablice) moraju biti kompatibilne. tj.

u z RDBMS vrlo jednostavna . a c z c tablica B samo izjednaˇene tocke. tablica A sadrˇi sve toˇke. a koji z nisu u relaciji B UVJET: kompatibilnost relacija Primjer: baza geodetskih toˇaka.Baze podataka Relacijska algebra Razlika relacija: C = A − B rezultat ove operacije su svi zapisi sadrˇani u relaciji A. razlikom A-B dobijemo c toˇke koje tek treba izjednaˇiti c c operacija u standardnom programskom jeziku vrlo sloˇena.

Primjer: A: tablica zemalja u kojima se govori engleski jezik B: tablica europskih zemalja C = A ∩ B : tablica europskih zemalja u kojima se govori engleski jezik .Baze podataka Relacijska algebra Presjek relacija: C = A ∩ B rezultat ove operacije sadrˇi samo zapise koji postoje i u z relaciji A i u relaciji B.

.. naziv..y . c H. y. tip toˇke. y. x.x) Tocke izbor podataka za eksterni model gdje isti podaci ne moraju ili ne smiju biti vidljivi svim korisnicima baze podataka . a ˇelimo samo broj toˇke i koordinate c z c (n. x) π(n.).Baze podataka Relacijska algebra Projekcija: B = πA unarna operacija (samo jedan argument) izbor polja neke relacije (izbor stupaca neke tablice) Primjer: tablica s podacima o geodetskim toˇkama (n.

ProsjekOcjena Selekcijom se mogu izabrati samo oni studenti koji imaju prosjek ocjena ve´i od 3. Prezime. Ime.5: c σ(ProsjekOcjena>3.Baze podataka Relacijska algebra Selekcija: B = σA izbor zapisa koji zadovoljavaju postavljene uvjete Primjer: relacija Student ima polja: BrInd.5) Student ponekad nas zanimaju samo pojedini stupci iz zapisa koji zadovoljavaju uvjete pa se izraz selekcija primjenjuje i za kombinaciju selekcije i projekcije .

Baze podataka Relacijska algebra Kartezijev produkt: C = A × B Rezultat je tablica u kojoj je svaki zapis iz prve tablice kombiniran sa svakim zapisom iz druge tablice. Primjer: Student × Predmet Student (BrInd.Naziv.Slusa) Predmet (Sifra.Satnica) Student×Predmet (BrInd.Sifra.Slusa.Naziv.Ime.Prezime.Satnica) pri ˇemu je broj zapisa u rezultatu jednak umnoˇku broja zapisa u c s tablici Student s brojem zapisa u tablici Predmet. .Prezime.Ime.

Satnica) on (Slusa = Sifra) U rezultatu ´e biti samo kombinacije zapisa iz tablica Student i c Predmet u kojima polje Slusa ima jednaku vrijednost polju Sifra. Satnica) Student Predmet (BrInd. Ime. Prezime. Sifra. Prezime. Slusa) Predmet (Sifra. Naziv. Naziv. Slusa.Baze podataka Relacijska algebra Pridruˇivanje: C = A z B poseban oblik Kartezijevog produkta razlikujemo unutarnji. . Ime. vanjski (lijevi i desni) join u svakoj se tablici (relaciji) bira stupac (polje) preko ˇijih se c vrijednosti uspostavlja veza Primjer: Student Predmet Student (BrInd.

Prijevod operacija relacijske algebre u jezik za definiciju i manipulaciju podacima koji danas predstavlja osnovni standard za relacijske baze podataka: SQL.Baze podataka Relacijska algebra Relacijska algebra .zakljuˇak c Opisane operacije relacijske algebre primjenjuju se uvijek u kombinaciji: 1 2 3 iz viˇe tablica selektiramo samo one zapise koji udovoljavaju s uvjetima napravimo pridruˇivanje (join) z projekcijom odaberemo ˇeljena polja z Na taj se naˇin iz vrlo malog broja osnovnih operacija c relacijske algebre moˇe izvesti veliki broj kombinacija za z obradu i analizu podataka. .

komercijalni sustav SQL/DS. potreba za standardizacijom upitnog jezika 1986: prvi SQL-standard ANSI-komisije 1989: prva revizija standarda 1992: proˇirenje na SQL-92 (SQL 2) s 2003: objavljena prva verzija SQL 3 standarda . pojava novih relacijskih DBMS-a (Oracle.Baze podataka Strukturirani upitni jezik: SQL Povijest Povijest relacijskih upitnih jezika 1970-ih: IBM – DBMS System – upitni jezik SEQUEL (Structured English Query Language) 1980-ih: SEQUEL preimenovan u SQL (Structured Query Language). Informix).

nego sluˇi i za definiciju i z manipulaciju podacima: DDL (Data Definition Language) i DML (Data Manipulation Language) SQL ne obraduje relacije u matematiˇkom smislu.Baze podataka Strukturirani upitni jezik: SQL Povijest SQL-92 upitni jezik zasnovan na relacijskoj algebri teorijske postavke pojednostavljene zbog jednostavnije uporabe i ve´e brzine c deklarativni jezik (ˇto? a ne kako?) s jezik nije samo ”upitni”. prava pristupa i kontrolu transakcija . SQL omogu´uje definiciju c integriteta podataka. nego tablice c zapis i polje postaju redak i stupac osim manipulacije tablicama.

u CAD-primjenama). . Osim navedenih. postoji i BLOB (Binary Large OBject) odnosno RAW za binarne tipove podataka (npr. time) Brojevi mogu biti cjelobrojni (integer) i decimalni (float). Datum i vrijeme mogu biti definirani pojedinaˇno ili kao c intervali. Znakovni nizovi mogu biti fiksne duljine (character) ili varijabilne duljine (varchar).Baze podataka Strukturirani upitni jezik: SQL Osnovni tipovi podataka u SQL-u Osnovni tipovi podataka u SQL-92 Tri temeljna tipa podataka: brojevi (numeric) znakovni nizovi (character) datum/vrijeme (date.

Titula CHARACTER(4)). popis atributa i tipa podatka za svaki atribut NOT NULL: primjer definicije uvjeta integriteta podataka (nije moguce zadati nastavnika bez imena) .Baze podataka Strukturirani upitni jezik: SQL DDL Definiranje sheme baze podataka: CREATE TABLE CREATE TABLE Nastavnik (BrRadKnj INTEGER NOT NULL. Ime VARCHAR(10) NOT NULL.

Ako je 10 znakova bila pogreˇna procjena za duljinu imena s nastavnika: ALTER TABLE Nastavnik MODIFY COLUMN Ime VARCHAR(30).Ako bismo htjeli dodati broj sobe za svakog nastavnika: ALTER TABLE Nastavnik ADD COLUMN Soba INTEGER.Prethodna naredba ne iskljuˇuje ranije zadani uvjet integriteta c (not null). .Baze podataka Strukturirani upitni jezik: SQL DDL Izmjena sheme baze podataka: ALTER TABLE . . .

’Medak’. ’prof’. Ime FROM Nastavnik WHERE Titula = ’prof’.izbor podataka na temelju kriterija (selekcija): SELECT BrRadKnj.Baze podataka Strukturirani upitni jezik: SQL DML Manipulacija podacima . select odreduje atribute koji ´e se pojaviti u rezultatu c from odreduje iz koje se relacije traˇe podaci z where odreduje uvjet kojeg reci u rezultatu moraju zadovoljiti . 75) .dodavanje redaka (punjenje podacima): INSERT INTO Nastavnik VALUES (21366.

Ime.Baze podataka Strukturirani upitni jezik: SQL DML Manipulacija podacima: sortiranje snaga SQL-a je u bliskosti naredbi s razgovornim jezikom: najˇeˇ´e je dovoljan prijevod naredbe s engleskog (“izaberi c sc broj i ime nastavnika ˇija je titula prof”) c rezultat prethodnog upita bila je lista bez utvrdenog redoslijeda SQL omogu´uje sortiranje prema bilo kojem atributu: c SELECT BrRadKnj. a descending c silazno sortiranje (z-a. 1-9). pri ˇemu je ascending uzlazno sortiranje (a-z. . 9-1). Name ASC. Titula FROM Nastavnik ORDER BY Titula DESC.

Titula FROM Nastavnik. Predmet WHERE BrRadKnj=Drzi and Naziv="Baze podataka".Baze podataka Strukturirani upitni jezik: SQL DML Viˇetabliˇni upiti s c Povezivanje tablica: Tko predaje “Baze podataka”? SELECT Ime. prijevod: “Izaberi ime i titulu iz kombinacije nastavnika i predavanja pri ˇemu je vrijednost stupca Drˇi u tablici c z Predmet jedanaka vrijednosti stupca BrRadKnj u tablici Nastavnik. a naziv predmeta je “Baze podataka”“ Obrada upita se odvija u tri faze: 1 2 3 Kartezijev produkt tablica Nastavnik i Predavanje za svaki redak produkta se ispituje uvjet postavljen pod WHERE projekcijom se biraju pod SELECT zadani stupci (atributi) .

Elegantniji zapis uz pomo´ varijabli (aliasa): c SELECT s.pridruˇivanje (join) s c z Povezivanje tablica: Koji studenti sluˇaju koje predmete? s SELECT Ime.Sifra. .BrInd=h. p.Sifra=p.Sifra=Predmet.Sifra.Naziv FROM Student as s. Predmet as p WHERE s. Slusa.BrInd AND h.Baze podataka Strukturirani upitni jezik: SQL DML Viˇetabliˇni upiti . Predmet WHERE Student.BrInd=Slusa. . Slusa as h.Ime.BrInd AND Slusa. Naziv FROM Student.

eksplicitni join s c Povezivanje tablica: Koji studenti dolaze iz kojeg grada? STUDENT: BrInd Ime ----. .----4350 Ivana 4230 Marko 5140 Ana 4760 Mijo 5145 Pero GRAD: GradID -----10000 20000 10410 21000 44330 34000 Prezime ------Ivic Maric Anic Mijic Peric Grad ----10000 20000 21000 21000 Naziv ------------Zagreb Dubrovnik Velika Gorica Split Novska Pozega SELECT Ime.Baze podataka Strukturirani upitni jezik: SQL DML Viˇetabliˇni upiti . Naziv FROM Student JOIN Grad on (Grad=GradID). Prezime.

STUDENT JOIN GRAD: Ime Prezime Naziv ----.----------Ivana Ivic Zagreb Marko Maric Dubrovnik Ana Anic Split Mijo Mijic Split .------.eksplicitni join s c Rezultat: samo oni zapisi za koje postoje identiˇne vrijednosti za c strani kljuˇ Grad u tablici Student i primarni kljuˇ GradID u tablici c c Grad.Baze podataka Strukturirani upitni jezik: SQL DML Viˇetabliˇni upiti .

U rezultatu se pojavljuju svi zapisi iz tablice Student bez obzira postoji li odgovaraju´a vrijednost u tablici Grad.Baze podataka Strukturirani upitni jezik: SQL DML Viˇetabliˇni upiti . .left join s c Povezivanje tablica: Svi studenti. Naziv FROM Student LEFT JOIN Grad on (Grad=GradID). Prezime. pa i oni koji nisu iz grada? SELECT Ime.----------Ivana Ivic Zagreb Marko Maric Dubrovnik Ana Anic Split Mijo Mijic Split Pero Peric .------. c STUDENT LEFT JOIN GRAD: Ime Prezime Naziv ----.

Baze podataka Strukturirani upitni jezik: SQL Agregiranje Agregiranje u SQL-u Agregativne funkcije u SQL-u izvode operaciju na skupu zapisa i svode skup vrijednosti na jednu vrijednost. . Primjeri: 1 2 3 4 avg (prosjek skupa brojeva) max. odnosno najmanji element skupa) sum (zbroj svih vrijednosti) count (broj vrijednosti) Srednji broj semestara svih studenata je tako: SELECT AVG(Semestar) FROM Student. min (najveci.

Drzi) mogu´e izraˇunati satnicu pojedinih nastavnika: c c SELECT Drzi. Naredba group by odreduje podgrupe na koje ´e agregativne c funkcije biti primijenjene... c .Baze podataka Strukturirani upitni jezik: SQL Agregiranje Grupiranje u SQL-u. SUM(Satnica) FROM Predmet GROUP BY Drzi. Naziv. iz tablice Predmet (Sifra. Satnica. Tako je npr. Objaˇnjenje: u rezultatu su svi zapisi (predmeti) u tablici koje s imaju jednaku vrijednost za atribut Drzi grupirani u jedan. te je za svaki izraˇunat zbroj satnica.

. s c . having ima sliˇno znaˇenje kao i where u uobiˇajenim c c c upitima: razlika je u tome ˇto se having izvrˇava nakon s s grupiranja pa je u uvjetu mogu´e koristiti agregatne funkcije. Grupiranje u SQL-u Uz pomo´ naredbe having mogu´e je postaviti dodatan uvjet c c kojeg mora ispuniti grupa definirana s group by Primjer: grupirati predmete prema nastavnicima i za svaku grupu (svakog nastavnika) izraˇunati prosjek satnice. c ˇto kod where nije mogu´e.. SUM(Satnica) FROM Predmet GROUP BY Drzi HAVING AVG(Satnica)>3.Baze podataka Strukturirani upitni jezik: SQL Agregiranje . te uzeti c u obzir samo one nastavnike koji imaju viˇe od tri sata tjedno : s SELECT Drzi.

z c Informix. DB2) i slobodnih proizvoda (PostgreSQL) SQL 3 ce predstavljati bitno proˇirenje standarda novim s funkcijama koje proˇiruju relacijski model u smjeru s objektno-relacijskog modela.Baze podataka Strukturirani upitni jezik: SQL Agregiranje SQL . .zakljuˇne napomene c SQL predstavlja standardizirani oblik komunikacije korisnika s relacijskim sustavom za upravljanje bazom podataka (RDBMS). Naredbe napisane u SQL-u su daleko mo´nije od grafiˇkih c c korisniˇkih suˇelja za upisivanje upita prema primjeru (Query c c By Example). SQL-92 je podrˇan od velike ve´ine komercijalnih (Oracle.

ACID uvjeta da bi omogu´io pravilan rad s transakcijama. a druga ne. c .Baze podataka Transakcije. konzistentnost i sigurnost Transakcije Transakcija Transakcija je skup operacija koji prevodi bazu podataka iz jednog konzistentnog stanja u drugo konzistentno stanje. novac bi s mogao nestati. c s Sustav za upravljanje bazom podataka mora zadovoljiti ˇetiri c tzv. Ako je prva operacija izvrˇena. Primjer: pla´anje s jednog raˇuna ukljuˇuje barem dvije c c c operacije: umanji iznos na jednom raˇunu i uve´aj iznos na c c drugom. ˇime bi bilo naruˇeno konzistentno stanje.

konzistentnost i sigurnost ACID uvjeti atomicity atomiˇnost transakcije: transakciju nije mogu´e c c dijeliti na elementarnije transakcije. isolation izolacija: dok transakcija nije izvrˇena. . promjene s s ostaju trajno pohranjene. ˇak i u sluˇaju pada c c sustava. Ili su izvrˇene sve s operacije unutar transakcije ili nijedna.Baze podataka Transakcije. consistency konzistentnost: baza podataka mora uvijek zadrˇati z konzistentno stanje. istodobno izvrˇavane c s transakcije. njezine s operacije ne utjeˇu na druge. durability trajnost: nakon ˇto je transakcija izvrˇena.

Primjer prvi: NOT NULL onemogu´uje prazno polje u zapisu. CHECK (min_placa < max_placa). .. konzistentnost i sigurnost Konzistentnost baza podataka Za pojedine atribute u tablicama mogu´e je u SQL-u definirati c toˇno odredene uvjete (constraints) koje vrijednosti atributa c moraju zadovoljiti. .. min_placa NUMERIC NOT NULL.Baze podataka Transakcije.. c Primjer drugi: CREATE TABLE Posao ( . max_placa NUMERIC NOT NULL..

Baze podataka Transakcije. naredba SHADOW kreira istovjetnu c kopiju Logiˇka sigurnost: osigurati autorizirani pristup bazi podataka c (korisniˇko ime + lozinka) c U SQL-u mogu´e definirati autorizaciju pristupa svakog c korisnika za pravo izvodenja pretraˇivanja odabranih tablica: z GRANT SELECT ON Student TO medak. konzistentnost i sigurnost Sigurnost baza podataka .. Fiziˇka sigurnost: viˇe kopija na razliˇitim mjestima (u c s c razliˇitim zgradama).. .

Sigurnost baza podataka Za naredbe koje mijenjaju vrijednosti u tablicama (INSERT.. c c Svrstavanje korisnika u grupe olakˇava administraciju baze s podataka jer svaki korisnik ’nasljeduje’ prava grupe kojoj pripada. REFERENCE) mogu´e je izabrati pojedine stupce c za koje se dozvoljava pristup: GRANT UPDATE (Datum_ispita.Baze podataka Transakcije. UPDATE. .. Sve je dozvole pristupa mogu´e povu´i naredbom REVOKE. Ocjena) ON Ispit TO medak. konzistentnost i sigurnost .

npr. c c s c svaka toˇka ima tri koordinate. c c raˇunovodstvo. s svaka ploha je omedena s 3 ili viˇe stranica. trgovina..).Baze podataka Objektne baze podataka Objektne baze podataka Relacijske baze podataka imaju dvije velike prednosti: upitni jezik je standardiziran (SQL-92) relacijski model ima ˇvrst teorijski temelj: relacijsku algebru c Relacijski model posebno je pogodan za podatke koji se obiˇno prikazuju tablicama (bankovni raˇuni. tijela u 3D prostoru (vidi sliku na sljede´oj stranici): c poliedar zatvaraju 4 ili viˇe ploha.. c Geometrijski podaci su kompleksniji. . c . s svaka stranica ima toˇno jednu poˇetnu i jednu zavrˇnu toˇku.

.00 0..00 Z 0.9 Željezo 45.. X 0..00 3..3D .*) omeđuju (2...3 Staklo tetra01 p09 t23 p10 t14 t33 Ploha (3.00 Y 0..00 4.ER i relacijski model Poliedar (4.2) Ploha PlohaID p08 p09 .00 . p31 Točka X Y Z TockaID t13 t14 . t89 p08 .9 15. s78 Točka PolyID tetra01 tetra01 Boja plava zelena Šrafura ne ne s01 p08 t13 s02 Stranica (2. t87 t33 .7 11.1) Poliedar PolyID tetra01 kocka04 Masa Volumen Materijal 25..2) omeđene (3....*) PlohaD TočkaPoč TočkaKraj p08 t13 t14 p10 . Stranica StranicaID PlohaL s01 p09 s02 .*) zatvaraju (1. p67 t13 ...

Rotacija definirana izvan RDBMS-a Aplikacija A rotacija Aplikacija B rotacija Poliedar Ploha Stranica Točka Relacijska baza podataka .

rotacija s s poliedra) . npr. masa nisu definirani u logiˇkom modelu. c s promjena mjerila. behavior).Baze podataka Objektne baze podataka Nedostaci relacijskog modela Nedostaci relacijskog modela Segmentiranje: jedan objekt se obiˇno segmentira na viˇe c s relacija. rotacija i translacija.kompleksna i dugotrajna operacija. Java). ˇijim se pridruˇivanjem (join) ponovno uspostavlja c z cjelina . Umjetni kljuˇevi: nuˇno uvodenje dodatnih atributa kao c z kljuˇeva (xxxID) c Nemogu´e je definirati ponaˇanje (eng. Eksterno programersko suˇelje: nuˇno povezivanje relacijskog c z jezika (SQL) s nekim drugim programskim jezikom (C. nego ovise o konkretnoj c aplikaciji. volumen. ˇto vodi dupliciranju rjeˇenja istih operacija (npr.

Rotacija definirana u OODBMS-u Aplikacija A poliedar → rotiraj (X. premjesti rotiraj promijeni mjerilo Poliedar volumen masa Objektna baza podataka . 10). Aplikacija B V := poliedar → volumen.

. Operacije su realizirane direktno u jeziku objektnog modela. c Ponovna upotrebljivost (reusability): definicije u natklasi vrijede za sve potklase.Baze podataka Objektne baze podataka Nedostaci relacijskog modela Prednosti objektno-orijentiranog modela Prikrivanje informacija (encapsulation): pristup atributima iskljuˇivo preko operacija. Nasljeˇivanje (inheritance) z Viˇeobliˇnost (polymorphism): operacija ’+’ zbraja i cijele i s c decimalne brojeve.

z Tip (klasa): odreduje strukturu i ponaˇanje objekta. c . s Konkretni objekti nastaju kao instance tipa objekta. koji se za vrijeme ˇivotnog ciklusa objekta ne mijenja. broj 2) U objektnom modelu objekt ima tri dijela: Identitet: svaki objekt ima jedinistveni identifikator.Baze podataka Objektne baze podataka Nedostaci relacijskog modela Obiljeˇja objekata z Relacijski model: entiteti u obliku zapisa. zapisi se sastoje iz konaˇnog broja polja. c vrijednosti u poljima su elementarne i nepromjenjive (npr. Vrijednost (stanje): u nekom trenutku ˇivotnog ciklusa objekt z ima odredeno stanje dato vrijednostima atributa i postoje´ih veza s drugim objektima.

27.) NEW YORK – Drˇavno tuˇiteljstvo u New Yorku optuˇilo je juˇer z z z c trojicu ljudi za kradu identiteta oko 30 tisu´a osoba kojima je c nanesena ˇteta od gotovo 3 milijuna dolara.11. . laˇno se predstavljaju´i. “Kupci” novog identiteta mogli su. Drˇavni tuˇitelj na z z Manhattanu kaˇe da su na takav naˇin pribavili oko 15 tisu´a z c c kreditnih kartica. te da je to najve´a krada identiteta u povijesti c SAD-a. kreditne agencije Experian i joˇ nekih tvrtki.Baze podataka Objektne baze podataka Nedostaci relacijskog modela Ukrali identitet 30. podizati kredite. Trojka je tijekom tri s godine krala podatke iz baza podataka kreditnog odjela tvrtke Ford.000 ljudi (VL.2002. nesmetano traˇiti duplikate z c z kreditnih ili bankovnih kartica. Podatke o s osobama preprodavali su za 60 dolara.

tj. s Ako je m = 11.Baze podataka Objektne baze podataka Nedostaci relacijskog modela JMBG . Ako je m = 10. onda je K = m. Dobiva se raˇunskim putem . onda je K=0.ˇto znaˇi trinaesta znamenka? s c Trinaesta znamenka je kontrola da li je prvih 12 ispravno upisano.neka su znamenke c DDMMGGGRRBBBK date kao niz abcdefghijklm. tada je: m = 11 − ((7 ∗ (a + g ) + 6 ∗ (b + h) + 5 ∗ (c + i) + 4 ∗ (d + j) + 3 ∗ (e + k) + 2 ∗ (f + l)) mod 11) Ako je m izmedu 1 i 9. . neki od prvih 12 z c brojeva su pogreˇni. K se ne moˇe izraˇunati.

Nasljedivanje Ime Sveučilištarac je BrInd Student Radnik je BrRadKnj Predmet Asistent Nastavnik Titula Soba .

Nasljedivanje atributa .ponovna upotrebljivost BrRadKnj Ime DatRođ Staž() Plaća() BrRadKnj Ime DatRođ Staž() Plaća() Predmet je Radnik BrRadKnj Ime DatRođ Staž() Plaća() Asistent Nastavnik Titula Soba Ispituje Drži .

... Illustra.zakljuˇne napomene c Objektna orijentacija obe´avaju´a metodologija na polju c c programskih jezika i konceptualnog modeliranja (ljudi u svojoj okolini opaˇaju objekte. Postoji veliki broj OODBMS-ova na trˇiˇtu (ObjectStore. z Trenutaˇni nedostatak standardiziranog upitnog jezika glavna c prepreka nedovoljno brzom ˇirenju objektne paradigme u svijet s kojim dominiraju relacijske baze podataka. Versant. Velik potencijal upravo kod kompleksnih podataka i operacija kakve su uobiˇajene u geoinformatici.Baze podataka Objektne baze podataka Nasljedivanje Objektne baze podataka .). zs Poet. c Usvajanjem naprednih osobina objektno-orijentiranog modela. . relacijske baze podataka postaju objektno-relacijske baze podataka. a ne tablice).

c npr.Baze podataka Objektno-relacijske baze podataka Funkcionalno proˇirenje relacijskog modela s Skupovni atributi: dozvoljen atribut koji sadrˇi viˇe z s istovrsnih podataka (ocjene studenta) Definiranje tipova podataka od strane korisnika Reference na pojedine zapise (umjesto stranih kljuˇeva). reference za predavanja za svakog studenta Identitet objekata Nasljedivanje Operacije (u SQL se podacima ne mogu pridruˇiti operacije) z .

open source) .Baze podataka Objektno-relacijske baze podataka Prostorni podaci Proˇirenja za prostorne podatke s Operacije nad prostornim podacima u SQL-92 vrlo sloˇene z (povrˇina poligona) s Tipovi prostornih podataka: problem standarda (Open Geodata Interoperability Specification) Operacije nad prostornim podacima: problem kompleksnosti (aˇuriranje baze) i efikasnosti (brzina obrade upita) z Primjeri: Oracle + Spatial (komercijalna baza podataka) PostgreSQL + PostGIS (slobodna baza podataka.

Baze podataka Objektno-relacijske baze podataka Prostorni podaci Standardi za prostorne podatke OpenGIS: Open Geodata Interoperability Specification (Otvorena specifikacija za interoperabilnost geopodataka) UML (Unified Modeling Language) JDBC (Java Database Connectivity) OGC: Open Geospatial Consortium ISO: Medunarodna organizacija za standardizaciju ISO/TC 211 Geographic information / Geomatics .

UML-hijerarhija geometrijskih klasa (OGC) .

] ((x1.) [(x1. y2)) ((x1.. . r > naziv (hr) pravac duˇina z pravokutnik zatvorena polilinija otvorena polilinija poligon krug . y1). y1). (x2. y). y1). y1).) < (x. . y2)) ((x1. (x2..Baze podataka Objektno-relacijske baze podataka Geometrijski tipovi podataka PostgreSQL: geometrijski tipovi podataka naziv (eng) line lseg box path open path polygon circle oblik ((x1. y1).. (x2.. .. y1). y2)) ((x1..

Baze podataka Objektno-relacijske baze podataka Operacije nad geometrijskim podacima PostgreSQL: operacije nad geometrijskim podacima simbol + ∗ # # && << >> << ?# naziv translacija pravokutnika promjena mjerila presjek duˇina z broj vrhova poligona preklapanje poligona da li je s lijeve strane? da li je s desne strane? da li je ispod? presjek specifikacija box × point → box box × integer → box lseg × lseg → point polygon → integer polygon × polygon → bool geom × geom → bool geom × geom → bool geom × geom → bool path × geom → bool .

geometry ?# Ceste. .primjer geometrijskog upita Na´i ceste koje prolaze op´inom X: c c SELECT FROM WHERE AND Cesta.geometry. Ceste Opcine.opcinaID = ’X’ Opcine.Baze podataka Objektno-relacijske baze podataka Operacije nad geometrijskim podacima PostgreSQL .naziv Opcine.

0) Za geodetske i geoinformatiˇke primjene standardizacija c prostornih podataka kljuˇni je preduvjet efikasne primjene c baza podataka u svakodnevnom radu. Informix).Baze podataka Objektno-relacijske baze podataka Operacije nad geometrijskim podacima Objektno-relacijske baze podataka .zakljuˇne napomene c Objektno-relacijski koncepti prisutni kod ve´ine najnovijih c verzija komercijalnih (Oracle 10g. c z s . i slobodnih baza podataka (Postgresql 8. Napori ISO/TC211 i OGC-a vrijedni paˇnje geodeta i z geoinformatiˇara i prije samog sluˇbenog donoˇenja standarda.

Baze podataka Deduktivne baze podataka Baze znanja i logika Znanje nije jednostavno definirati. Koncept vjerovanja problematiˇan za raˇunala.). Zagreb je glavni grad Republike Hrvatske. tj. c c . znanje je mogu´e potkrijepiti argumentom c (npr. Znanje predstavlja sljede´u kariku u nizu: c podaci → informacije → znanje Stara definicija: “istinito vjerovanje koje je mogu´e c opravdati”. c c Razvoj formalne logike omogucio raˇunalni pristup c problematici izvodenja zakljuˇaka iz poznatih ˇinjenica.

rule) je uvjetna izjava koja ukljuˇuje c kvantificiranje: ∀ “za svaki”. fact) u formalnoj logici je atomarna izjava koja se ne moˇe dijeliti. ∃ “postoji” Logiˇki simboli: ⇒ “implikacija”.Baze podataka Deduktivne baze podataka ˇ Cinjenice i pravila ˇ Cinjenica (eng. ¬ “negacija”. prikazati kao logiˇka kombinacija z c jednostavnijih izjava. ∧ “i”. a ne op´enite: c c “Sokrat je smrtnik” je ˇinjenica c “Svi ljudi su smrtnici” nije ˇinjenica c Pravilo (eng. tj. ˇ Cinjenice su specifiˇne. c . ∨ “ili”.

Baze podataka Deduktivne baze podataka

“Tradicionalni” pristup

ˇ Cinjenice su tip znanja kojim se bave tradicionalne baze podataka (npr. relacija GLAVNIGRAD bi imala polja GRAD i DRZAVA) Tradicionalne baze podataka se bave jednostavnim ˇinjenicama, ali je vrlo teˇko definirati pravila tipa: “Svi letovi c s za Dubrovnik idu preko Zagreba”. Kod baza prostornih podataka, vaˇnih za geodeziju i z geoinformatiku, velik broj informacija je implicitno pohranjen.

Baze podataka Deduktivne baze podataka

Deduktivne baze podataka

Dedukcija: izvodenje zakljuˇaka iz premisa u logiˇkim c c sustavima. Primjer Svi ljudi su smrtni. Sokrat je ˇovjek. c ⇒ Sokrat je smrtnik

Baze podataka Deduktivne baze podataka

Pravilo za presjedanje - zraˇni promet c
Neka je predikatom let zadan niz ˇinjenica koji povezuje c polaziˇta i odrediˇta u zraˇnom prometu: let(ZG,FR), s s c let(ZG,ST), let(ZG,DU), let(ZG,PU). Ako ˇelimo definirati predikat jednoPresjedanje, kojim z ˇelimo provjeriti da li se iz polaziˇta X moˇe sti´i u odrediˇte z s z c s Y uz toˇno jedno presjedanje, logiˇka definicija glasi: c c ∀X ∀Y (jednoPresjedanje) ⇔ ∃Z (let(X , Z ) ∧ let(Z , Y ))

Primjena pravila jednoPresjedanje jednoPresjedanje(ZG,ST) - No jednoPresjedanje(FR,ST) - Yes

z jezik za manipulaciju je odvojen od podataka. tj. c ˇinjenice i pravila su dio jezika. ˇijim z c pretraˇivanjem dobivamo odgovor. nema razlike izmedu c podataka i jezika za njihovu manipulaciju. Problemi deduktivnog modela osiguravanje trajnosti zapisa u deduktivnoj bazi konstrukcija logiˇkog jezika koji ce imati mogu´nosti prelaziti c c okvire radne memorije . Deduktivni model izraˇunava vrijednost logiˇkih izraza (istina ili neistina) ili traˇi c c z vrijednosti za koje je logiˇki izraz istinit.Baze podataka Deduktivne baze podataka Usporedba relacijskih i deduktivnih baza podataka Relacijski model SQL manipulira sloˇenom strukturom podataka.

baka. roditelj Pravila: majka. pa i onih vezanih uz s c prostorne podatke. otac.Y):= zensko(X).org/ Primjer: obiteljsko stablo ˇ Cinjenice: zensko. http://www. sin. djed. primjenjiv za rjeˇenja brojnih logiˇkih problema.Y). majka(X. logiˇki sustav.Baze podataka Deduktivne baze podataka PROLOG “PROgramming with LOGic”. musko.. odnedavno open c source iznimno popularan alat u akademskoj zajednici. roditelj(X. kcer.swi-prolog.. . .

Kompaktan format zapisa pravila koja zamjenjuju tisu´e c redaka. Jedinstvenost podataka i jezika za manipulaciju. sc .Baze podataka Deduktivne baze podataka Deduktivne baze podataka .zakljuˇne napomene c Deduktivne baze podataka su obe´avaju´a tehnologija za baze c c podataka utemeljene na znanju. Problemi s trajnoˇ´u podataka.

Sign up to vote on this title
UsefulNot useful