MladenANTUNOVIC

Embed Size (px)

Citation preview

UNIVERZITET U SARAJEVU ELEKTROTEHNIKI FAKULTET SARAJEVO

PRIMJENA I IMPLEMENTACIJA ORACLE WEB SERVISA I SPATIAL TIP PODATAKA- DIPLOMSKI RAD -

Mentor: Doc.Dr. Denana onko, dipl.el.ing

Kandidat: Mladen Antunovi

SaetakOsnova komunikacije izmeu distribuiranih sistema predstavlja razmjena podataka. Podaci se smjetaju u bazu podataka na razliite naine i istim se moe pristupati na unaprijed odreeni nain. Oracle baza podataka predstavlja relacioni model baze podataka, gdje su podaci uvaju u tabelama koje se meusobno vezane po unaprijed definisanim standardima relacijama. Manipulacija podacima u Oracle bazi podataka se vri pomou SQL jezika. U Oracle bazi podataka mogue je smjetati podatke razliitog tipa, jedan od tipova podataka predstavlja prostorni tip podataka (SDO_GEOMETRY). Upravljanje prostornim tipom podataka se vri pomou funkcija i operatora omoguavajui unos novih i modifikovanje postojeih podataka. Osim smjetanja podataka Oracle baza podataka nudi mehanizme za pristup i manipulaciju podataka pomou Oracle web servisa. Oracle web servisi koriste standardizovan sistem razmjene XML poruka po principu zahtjev-odgovor. Pomou Oracle web servisa realizovanog kao PL/SQL procedura ili fukncija mogue je raditi nad svim tipovima podataka koje podrava Oracle baza podataka. Internet bazirane aplikacije se odlikuju kao distribuirani sistemi gdje korisnik pomou udaljene klijentske aplikacije pristupa internet stranici s ciljem dobivanja odreenih informacija. Pomou Javascript programskog jezika mogue je o okviru HTML stranica implementirati dinamike sadraje koji se mjenjaju zavisno od zahtjeva korisnika.

AbstractConcept of comunnication between distributed systems consist of exchanging information. Data is usually stored in database so it is possible to access data from database for reading or changing in different ways, depend on database system used. Oracle database is relational database model, data are stored in tables connected with specific rules called relations. Structured Query Language is used for data manipulation in Oracle database system. In Oracle database is possible to store different kind of data, among others and spatial data type (SDO_GEOMETRY). Managing spatial data is performed using operators and functions enabling changing existing and entering new data. Except Oracle database system used for storing different kind of data, there are mechanisms for accessing and manipulating stored data using Oracle web services. Oracle web services use standardized way of exchanging XML messages using request-response mechanism. Oracle web servis implemented as PL/SQL procedure or function can manipulate with all datatypes defined in Oracle database. Internet based applications are distributed over different physical locations where application user access web pages for searching needed informations. Using Javascript program language inside HTML web pages is possible to implement dynamic content that is going to be changed depending on user request

|1

Sadraj:UVOD ............................................................................................................................................................. 4 1. UVOD U BAZE PODATAKA ........................................................................................................................ 6 1.1. 1.2. 1.3. 2. TA JE BAZA PODATAKA ........................................................................................................................................6 TA JE SQL (STRUCTURED QUERY LANGUAGE) .......................................................................................................10 ISTORIJA BAZA PODATAKA ...................................................................................................................................11

ORACLE BAZA PODATAKA ...................................................................................................................... 14 2.1. ARHITEKTURA ORACLE BAZE PODATAKA ................................................................................................................14 Mrena arhitektura ..............................................................................................................................14 Aplikaciona arhitektura .......................................................................................................................15

2.1.1. 2.1.2. 2.2. 2.3. 2.4.

FIZIKA STRUKTURA ORACLE BAZE PODATAKA .........................................................................................................16 LOGIKA STRUKTURA ORACLE BAZE PODATAKA .......................................................................................................18 eme baze podataka i objekti ema baze podataka ............................................................................20 Oracle XML DB protokol arhitektura....................................................................................................22 Pristup Oracle XML bazi podataka iz programskih jezika ....................................................................23 XML (eXtensible Markup Language) ....................................................................................................23Poreenje XML-a sa HTML-om ............................................................................................................................... 24 Prednosti i mogunosti XML-a ................................................................................................................................ 24 Prikazivanje XML dokumenata ................................................................................................................................ 25 XML Document Object Model (XML DOM) ............................................................................................................ 27 Document Type Definition (DTD) ............................................................................................................................ 28 Pravila pisanja XML dokumenata (XML sintaksa) .................................................................................................. 28

2.3.1. 2.4.1. 2.4.2. 2.4.3.2.4.3.1. 2.4.3.2. 2.4.3.3. 2.4.3.4. 2.4.3.5. 2.4.3.6.

ORACLE XML BAZA PODATAKA ............................................................................................................................22

2.5. 2.6.

PREDNOSTI I NEDOSTACI ORACLE BAZE PODATAKA ...................................................................................................29 Nove i poboljane mogunosti Oracle 11g baze podataka ..................................................................30 Pregled razvoja Oracle koorporacije od nastanka do danas................................................................32 ISTORIJA ORACLE BAZE PODATAKA ........................................................................................................................31

2.5.1. 2.6.1. 3.

ORACLE SPATIAL .................................................................................................................................... 38 3.1. UPRAVLJANJE PROSTORNIM INFORMACIJAMA .........................................................................................................38 Operacije nad prostornim tipom podataka .........................................................................................39 Smjetanje prostornih podataka u bazu podataka ..............................................................................40 Oracle spatial arhitektura ....................................................................................................................41 Tipovi geometrijskih podataka podrani u SDO_GEOMETRY Oracle tipu podataka ............................43Points (Take) ........................................................................................................................................................... 43 Line strings (Linije) ................................................................................................................................................... 43 Poligoni i povrine (Polygons and Surface) ............................................................................................................ 44 Geometrijska tijela (Solids)...................................................................................................................................... 44 Kolekcije (Collections) .............................................................................................................................................. 44

3.1.1. 3.1.2. 3.1.3. 3.2. 3.2.1.3.2.1.1. 3.2.1.2. 3.2.1.3. 3.2.1.4. 3.2.1.5.

SDO_GEOMETRY TIP PODATAKA ......................................................................................................................42

|2

3.2.2.3.2.2.1. 3.2.2.2. 3.2.2.3. 3.2.2.4.

Tip, atributi i vrijednosti SDO_GEOMETRY tipa....................................................................................45SDO_GTYPE............................................................................................................................................................... 45 SDO_SRID .................................................................................................................................................................. 46 SDO_POINT ............................................................................................................................................................... 48 SDO_ELEM_INFO i SDO_ORDINATES atributi ........................................................................................................ 49 Arhitektura Oracle Geokoder-a............................................................................................................................... 52

3.3. 3.4.

GEOKODIRANJE ................................................................................................................................................513.3.1.1.

PRIMJENA, PREDNOSTI I NEDOSTACI SPATIAL PODATAKA ...........................................................................................54 Primjena Spatial podataka u praksi .....................................................................................................56 Prednosti i nedostaci Oracle Spatial tipa podataka .............................................................................57

3.4.1. 3.4.2. 4.

WEB SERVIS ........................................................................................................................................... 59 4.1. 4.2. DEFINICIJA WEB SERVISA ....................................................................................................................................59 ARHITEKTURA WEB SERVISA ................................................................................................................................60 Web servis uloge ..................................................................................................................................60 Web servis skup protokola ...................................................................................................................60 XML i XML-RPC .....................................................................................................................................61XML-RPC data model ............................................................................................................................................... 62 XML-RPC Request structure (struktura zahtjeva) .................................................................................................. 63 XML-RPC Response structure (struktura odgovora) .............................................................................................. 63

4.2.1. 4.2.2. 4.3. 4.3.1.4.3.1.1. 4.3.1.2. 4.3.1.3.

OSNOVNI PRINCIPI I TEHNOLOGIJE WEB SERVISA ..................................................................................................... 61

4.3.2. 4.3.3.4.3.3.1. 4.3.3.2. 4.3.3.3. 4.3.3.4.

WSDL .................................................................................................................................................... 64 SOAP (Simple Object Access Protocol) .................................................................................................69SOAP 101 .................................................................................................................................................................. 69 SOAP Zahtjev ............................................................................................................................................................ 69 SOAP Odgovor .......................................................................................................................................................... 70 SOAP preko HTTP-a .................................................................................................................................................. 70

4.3.4.4.3.4.1.

UDDI (Universal Description Discovery and Integration) .....................................................................72UDDI tehnike specifikacije ..................................................................................................................................... 72

4.4. 4.5. 5.

WEB SERVIS U POREENJU SA DRUGIM TEHNOLOGIJAMA ..........................................................................................73 PRIMJENA, UPOTREBA I PREDNOSTI WEB SERVISA.................................................................................................... 73

PRIMJENA ORACLE WEB SERVISA I SPATIAL TIP PODATAKA ..................................................................... 76 5.1. 5.2. 5.3. 5.4. 5.5. POSTAVKE NA ORACLE BAZI PODATAKA UPOTREBA XML WEB SERVISA ......................................................................76 OMOGUAVANJE UPOTREBE ORACLE WEB SERVISA KORISNICIMA ...............................................................................77 PL/SQL PROCEDURA KAO WEB SERVIS ..................................................................................................................77 IBM FRAMEWORK ZA PRISTUP SOAP WEB SERVISIMA .............................................................................................79 REALIZACIJA ORACLE WEB SERVISA, PRISTUP BAZI PODATAKA POMOU IBM JAVASCRIPT FRAMEWORK-A U PRAKSI ..............81

ZAKLJUAK ................................................................................................................................................... 89 LITERATURA .................................................................................................................................................. 90

|3

UVODU dananje vrijeme u svim drutvenim krugovima se moe uti kako ivimo u vremenu globalizacije, eri Interneta i informatizacije. Poevi od traenja zakonskih dokumenata o dokazu mjesta boravka, identiteta, posjedovnih listova i slino ujemo pojmove kao to su baze podataka, internet stranice, internet bazirane aplikacije. Da li smo svi svjesni o emu govorimo ? Osnovna ideja ovog diplomskog rada je prikazati na jednostavan nain, na najniem nivou apstrakcije, pojmove sa kojima se susreemo u svakodnevnom ivotu, iz dana u dan primorani koristit nove moderne tehnologije kao to su moderni mobilni ureaji, raunari, navigacioni sistemi. Rad je organizovan u pet poglavlja gdje je kroz svako poglavlje opisana koritena tehnologija poevi od jednostavnih informatikih pojmova, njihovog definisanja, naina upotrebe do sloenih pojmova i integrisanja navedenih tehnologija u internet baziranu aplikaciju.

Uvod u baze podataka Opti pojmovi vezani za sisteme za upravljanje bazama podataka,pojam baze podataka, istorijat baza podataka od nastanka do danas, modeli baza podataka i nain pristupa bazama podataka s ciljem manipulacije podacima smjetenim u bazu podataka. Oracle baza podataka Sistem za upravljanje bazama podataka, fizika i logika arhitektura Oracle baze podataka. Od ega se satoji baza podataka, objekti koji ine Oracle bazu podataka, XML kao univerzalni nain za smjetanje i prenos podataka, podrka XML-u kroz Oracle bazu podataka. Pristup podacima smjetenim u Oracle bazu podataka, istorijat razvoja Oracle sistema za upravljanje bazama podataka, prednosti koritenja Oracle baze podataka. Oracle spatial Tip podataka vlasnitvo Oracle baze podataka, podrka smjetanju prostornih informacija u Oracle bazu podataka. Arhitektura Oracle spatial-a, operacije nad podacima i nain predstavljanja lokacija objekata u Oracle bazi podataka, manipulacija podacima, tipovi geometrijskih objekata podrani kroz Oracle spatial, Oracle geokoder, upotreba prostornog tipa u praksi, prednosti i nedostaci. Web servis Definicija i arhitektura web servisa, web servis skup protokola, implementacija i nain koritenja web servisa, univerzalnost i standardiziranost u sistemu razmjene poruka klijent-server. Dokumenti koji opisuju web servis, poreenje sa drugim tehnologijama, prednosti i upotreba web servisa. Primjena Oracle web servisa i spatial tip podataka Nain omoguavanja i upotrebe Oracle XML web servis tehnologije. Integracija tehnologija Oracle baze podataka, XML sistema razmjene poruka, web servisa i Google mape realizovan kroz praktini dio rada koristei IBM-ov AJAX framework za pristup prostornim podacima pomou internet pretraivaa uz prikaz lokacija na Google mapi.

|4

Postavka diplomskog radaU okviru teoretskog djela diplomskog rada opisati tehnologiju baza podataka, Oracle bazu podataka kao jedan od sistema za upravljanje bazama podataka, tehnologiju web servisa, Oracle prostorni tip podataka sa osnovnim funkcijama, operatorima i geometrijskim tijelima koji su podrani u Oracle bazi podataka, web servis, Oracle web servis implementiran kao PL/SQL procedura ili funkcija. U praktinom djelu diplomskog rada implementirati internet stranicu gdje se razmjena podataka izmeu klijenta i servera vri koritenjem Oracle baze podataka kao sistema za smjetanje podataka, Oracle prostornog tipa podataka i Oracle web servisa pomou kojeg se vri manipulacija prostornim podacima.

__________________________________ Doc.dr. Denana onko, dipl.el.ing.

|5

1. Uvod u baze podataka1.1. ta je baza podatakaTermin database se godinama koristi da se opie skup (selekcija) proizvoda i/ili sistema koji ukljuuju skup, poevi od kolekcije datoteka do kompleksne strukture koju ine korisniki interfejsi, ureaji za smjetanje podataka, sigurnosni mehanizami za pristup podacima, klijentserver tehnologije itd. Na primjer, kompanija A uva podatke o zaposlenima, kao to su lini podaci, radno mjesto u kompaniji i visina mjesene zarade u tekstualnim datotekama za svakog radnika pojedinano. S druge strane kompanija B koja prestavlja regionalnu kompaniju za mjerenje i naplatu elektrine energije podatke o svojim korisnicima uva u integrisanom informacionom sistemu te na osnovu tih podataka generie izvjetaje o potronji elektrine energije za odreeni period, automatski kreira raune za potroenu elektrinu energiju i slino. U oba navedena sluaja, kompanije se ophode prema svojim sistemima kao prema bazama podataka (database) bez obzira kolko je jedan sistem kompleksniji od drugog. Zavisno kako se koristi baza podataka, koju koliinu podataka uva, kompleksnosti podatka koji se nalaze u bazi podataka i brojni drugi parametri odreuju ta je ustvari baza podataka. Najjednostavnije reeno baza podataka predstavlja kolekciju podataka koji su meusobno povezani na specifian nain. Na primjer baza podataka jedne biblioteke sadri informacije o autorima knjiga, naslovima knjiga i izdavaima. Takoer baza podataka je kolekcija meusobno povezanih podataka. Podaci moraju biti organizovani i klasificirani u struktuiranom formatu kako je opisano u metapodacima (metadata), koji opisuju podatke koji se nalaze u bazi podataka. Zajedno podaci i metapodaci ine jednu logiku cjelinu naina organizacije podataka kako bi se istim moglo efikasno pristupat, te odravat bazu podataka. Najjednostavniji nain da se razumije pojam baze podataka je analogija sa telefonskim imenikom. Telefonski imenik sadri imena, adrese i brojeve telefona za odreeni grad,dravu ili region. Ako se telefonski imenik posmatra kao baza podataka moe se uoiti zavisnost meu podacima(ime, adresa, telefonski broj) i uvidjeti struktuiranost u organizaciji podataka (metapodaci) koji odreuju kako su stranice telefonskog imenika struktuirane kao i redoslijed telefonskih brojeva unesenih u imenik. Bez odreene strukture podataka unutar telefonskog imenika bilo bi gotovo nemogue pronai odreenu osobu ili broj telefona. Na isti nain kako struktura telefonskog imenika odreuje informacije potrebne korisniku, metapodaci u bazama podataka odreuju strukturu logike organizacije podataka. Kada govorimo o bazama podataka postoje etri osnovna modela baza podataka koje su najee u upotrebi: a) b) c) d) Hijerarhijski model, Mreni model, Relacioni model Objektno-relacioni model

|6

a) Hijerarhijski model U zaecima nastanka baza podataka jedan od prvih modela dizajna baza podatake je bio hijerarhijski model. Ovaj model definira bazu kao jednostavnu strukturu podataka gdje su svi slogovi organizovani kao roditelj-djete veza formirajui invertovano drvo. Pomou drveta se kreira logika struktura kategorija i podkategorija koristei slogove da se predstave logike jedinice podataka.

Slika 1.1 Hijerahijska organizacije baze podataka Kao to se moe vidjet sa slike 1.1. slog roditelj se moe povezati sa vie slogova djece ali slog dijete se moe vezati za samo jednog roditelja. Ovakva struktura podataka je slina strukturi koju je mogue vidjeti kroz korisniki interfejs aplikacija za upravljanje datotekama kao to je Windows explorer(Windows) ili Konqueror(Linux). U sluaju organizacije datoteka na osnovu prethodnog dijagrama imali bi glavni direktorij Grupa, dva poddirektorija Korisnik i Uloga a unutar direktorija Uloga bi imali direktorij Dozvola kao to je prikazanno na sljedeoj slici (Slika 1.2).

Slika 1.2. Hijerarhijska organizacija datotetka Jedna od najuspjenijih implementacija hijerarhijskog modela baze podataka predstavlja IBM-ov Informacioni sistem za upravljanje (Information Management System - IMS) realizovan 1960-te godine i jo uvijek iroko koriten na IBM-ovim superraunarima. Kakogod, na stranu popularnost hijerarhijskog modela, ipak je ovaj nain organizacije podataka neiskoristiv za veliki broj dananjih aplikacija. Bez obzira na jednostavnost roditelj-djete zavisnosti, organizacija podataka je precizno odreena strukura koja za rezultat ima komplikovan proces navigacije (kretanja) kroz stablo koje zahtijeva, od onog koji razvija aplikaciju, kretanje kroz stablo od roditelja prema djeci putem kojim su povezani slogovi da bi doli do informacije koja im je potrebna. Slogovi se mogu itati jedan po jedan kreui se kroz stablo na gore i na dole kroz

|7

nivoe hijerarhije to esto zahtijeva komplikovane promjene nad bazom podataka ili nad aplikacijom da bi se ispotovala hijerarhijska struktura podataka. Takoer hijerarhijska struktura podataka ne podrava kompleksne veze izmeu slogova. I naravno slog dijete moe se povezati samo sa jednim slogom roditeljem. Bez obzira na sva ogranienja hijerarhijskog modela velika koliina podataka se jo uvijek smjeta u hijerarhijski organizovane baze podataka. Veliki broj sistema za upravljanje koriste hijerarhijski model, kao na primjer sistem za upravljanje korisnicima (Windows - Active directory, Linux - OpenLDAP). Sistem za upravljanje datotekama omoguavajui korisniku jednostavno pretraivanje koristei sve prednosti i mane hijerarhijskog naina organizacije podataka. b) Model mree Kao rezultat rada sa hijerarhijskim bazama podataka uz sva ogranienja koja posjeduje prethodni model, 1970. godine nastao je novi model baze podataka, sagraen na temeljima hijerarhijskog modela, mreni model baze podataka. Mreni model je poboljanje hijerarhijskog modela tako to je, kao jedan od novih mogunosti, omogueno da slogovi mogu uestvovati u vie veza roditelj-djete. Zamislimo informacioni sistem koji upravlja podacima o ljudskim resursima tj, zaposlenima, njihovim vezama sa kupcima, narudbama te poslovima koje obavljaju zaposleni.

Slika 1.3. Mreni model organizacije podataka Ako svaki od navedenih entiteta operiraju bez meusobne interakcije tada je potreba za mrenim modelom baze podataka minimalna. Kakogod, ako se uvidi da postoji veza izmeu narudbe i zaposlenog koji je napravio narudbu, kupca koji je kupio naruene proizvode, vrste proizvoda koji je kupljen tada je oigledno da hijerarhijski model ne moe udovoljiti adekvatno zahtjevima tada se koristi mreni model jer se radi o kompleksnijim vezama izmeu slogova u bazi podataka.

|8

Mreni model jo uvijek ima mnogo nedostataka, ali za razliku od hijerarhijskog modela omoguava dosta fleksibilnije programiranje aplikacija koje rade s bazama podataka. Takoer bilo kakva promjena u strukturi baze podataka rezultira promjenama na nivou aplikacije i moe dovesti do velikih problema. Iz navedenih razloga baza podataka treba unaprijed biti dobro dizajnirana, meutim u veini sluajeva to u potpunosti nije mogue postii. c) Relacioni model Relacioni model baza podataka je nastao kao odgovor na ogranienja prethodna dva modela (hijerarhijski, mreni) krajem 1970-te godine i poetkom 1980-tih godina kao standard za novu generaciju baza podataka. Relacioni model baza podataka donio je radikalne promjene u odnosu na prethodne modele koji zahtjevaju veliki broj ogranienja u samom dizajnu baze podataka prema jednom od navedenih modela. Pristup bazi podataka hijerarhijskog modela lei na unaprijed definisanoj strukturi baze podataka tako da baza mora bit kodirana unutuar programskog jezika aplikacije. Kad se promijeni struktura baze podataka mora se mijenjati i struktura aplikacije. Meutim relaciona baza podataka je nezavisna od aplikacije. Mogue je modificirati bazu podataka bez da se mijenja struktura aplikacije zato to relacioni model mijenja logiku roditeljdjete sa strukturom baziranom na kolonoma i redovima koji ine tabele u kojima se smjetaju podaci. Rezultat ovakvog naina organizacije podataka jeste mogunost kreiranja kompleksnih veza izmeu tabela bez ogranienja koja su postojala u prethodim modelima. d) Objektno-relacioni model Objektno-relacioni model baze podataka je slian relacionom modelu baze podataka koji podrava dodatne mogunosti kao to su objekti, klase, nasljeivanje koji su direktno podrani u shemama baza podataka i u jeziku za pravljenje upita nad bazom podataka. Objektnorelacioni model podrava proirenje modela podataka sa specifinim tipovima podataka i metodama. Jedna od prednosti ovakvog modela sistema je povezivanje konceptualnog modeliranja podataka kao to je Dijagramom veza entiteta (ERD) i objektno-relacionog mapiranja, koji esto koristi klase i nasljeivanje to u relacionim baza podataka nije podrano. Jo jedna mogunost koju sa sobom nosi ovaj model baze podataka je povezivanje relacionih baza podataka i objektno-orjentisanih tehnika za modeliranje koje se koriste u programskim jezicima kao to su Java, C++ i C#. Jedna od popularnih mogunosti je koritenje standardne relacione baze podataka kao to je Oracle sa nekim od alata za objektno-orjentisano mapiranje (Java, .NET, PHP, Perl).

|9

Slika 1.4. Relacioni model organizacije podataka

1.2. ta je SQL (Structured Query Language)SQL je, iznad svega, programski jezik koji se koristi za odravanje i pristup podacima u relacionim bazama podataka. SQL je univerzalni jezik za pristup podacima smjetenim u bazama podataka, i kao takav je postao standardni jezik za menadment baza podataka. SQL se koristi sa RDBMS-om (Relational DataBase Management System - sistem za upravljanje bazom podataka) kako bi se definisala struktura baze podataka, sauvali podaci u bazi podataka. Omoguava manipualciju sa podacima smjetenim u bazu, tj. itanje iz baze, upisivanje u bazu, brisanje iz baze i kontrolu pristupa nad podacima uz ouvanje integriteta podataka. Takoer razvijeni su mnogi drugi jezici koji implementiraju relacioni model ali SQL je iznad svih izaao kao pobjednik. Gotovo svi sistemi za upravljanje bazama podataka koriste odreeni model SQL jezika kako bi upravljali bazom podataka.

Slika 1.5. Komunikacija izmeu RDBMS-a i SQL baze podataka

| 10

Meu baze koje koriste SQL jezik osim Oracle-a tu su i MySQL, SQL Server, DB2, PostgreeSQL itd. Meutim ne treba mjeati SQL jezik sa programskim jezicima koji su koriteni za realizaciju RDBMS-ova. Primarna namjena SQL jezika je da omogui sistemu za upravljanje bazama podataka da komunicira sa bazom podataka (itanje iz baze i upisivanje u bazu). Na slici 1.5 je prikazan ematski prikaz interakcije izmeu sistema za upravljanje bazom podataka i SQL baze podataka pomou SQL jezika. SQL je stanrdadiziran jezik, nije zaseban proizvod, kao to su Oracle i MySQL. Osnovna i najbitnija funkcija SQL jezika je komunikacija sa RDBMS-om u cilju upravljanja podacima koji su smjeteni u bazu podataka. Nije mogue razviti SQL baziranu aplikaciju ali je mogue razviti aplikaciju koja ima mogunost konekcije sa RDBMS-om i preko njega indirektno slanja SQL upita nad bazom podataka kako bi se na taj nain dobili podaci koje zahtijeva aplikacija a smjeteni su u bazi podataka. Kakogod u postupku kreiranja aplikacija koje komuniciraju s SQL bazom podataka potrebno je bar osnovno znanje SQL jezika. Sredinom 1980-te godine relacione baze podataka i SQL su postali industrijski standard. Od tada pa nadalje performanse sistema za upravljanje bazama podataka su se poveavale, mnoge kompanije su investirale u relacione tehnologije na vie naina, razvijajui ili izlazei na trite sa svojim vlastitim SQL baziranim sistemima za upravljanje bazama podataka. SQL se sastoji od skupa izraza i iskaza koji definiu strukturu baze podataka i obrauju podatke. Sr svakog SQL upita je sintaksna struktura koja definie kako treba biti struktuiran upit nad podacima smjetenim u bazi podataka. Zavisno od proizvoaa baze podataka postoje razliite verzije SQL jezika sa vrlo malim modifikacijama, meutim da bi se manipuliralo podacima u bazi potrebno je imati osnovno znanje SQL jezika proizvoda kojeg koristimo. Tipovi SQL upita: a) DDL Data Definition Language Jezik za definiranje podataka. SQL upiti koji se koriste za definisanje strukture podataka, kreiranje baze podataka, kreiranje tabela, indeksa i drugih objekata te modifikovanje i brisanje postojeih objekata. b) DML Data Manipulation Language Jezik za manipuliranje podacima. Za razliku od DDL upita DML upiti se koriste za manipuliranje podacima kao to je ubacivanje podataka u bazu podataka, brisanje podataka iz baze te njihova promjena. c) DCL Data Control Language Jezik za kontrolu podataka. Kao to je reeno ranije DDL upiti omoguavaju da se definie struktura baze podataka, DML upiti omoguavaju pristup i rad nad podacima. DCL upiti predstavljaju jo jednu funkcionalnost koja omoguava kontrolu pristupa bazi podataka. To su upiti tipa dodjeljivanja i oduzimanje prava nad objektima korisnicima baze podataka.

1.3. Istorija baza podatakaBaze podataka su nastale u samim poecima elektronskog raunarstva. Za razliku od modernih raunarskih sistema koji imaju mogunost koritenja velikog broja sistema za

| 11

upravljanje bazama podataka raznih proizvoaa, sistemi koji su u poetku koristili baze podataka za razvoj aplikacija su bili usko vezani za tano odreene baze podataka kako bi bili isplativi uz zadovoljavajue performanse. U poetku razvoja baza podataka sistemi za upravljanje bazama podataka su koriteni samo od strane velikih organizacija koji su mogli sebi priutiti raunarsku infrastrukturu kako bi podrali rad baza podataka. Baze podataka od nastanka do danas su prole kroz odreene faze razvoja koje su donijeli bitne promjene u nainu koritenja sistema baza podataka:

-

1960 te godine: Navigacione baze podatakaKako su mogunosti raunara da izvravaju sloene operacije rasle tako su se sve vie raunari koristili u svim oblicima poslovanja, sredinom 60-tih godina sve vei broj sistema koriten je u komercijalne svrhe. Navigacioni pristup podacima se tradicionalno povezuje sa mrenim i hijerarhijskim modelom baza podataka koji su prerasli u skup orjentisane sisteme. Navigacione tehnike koriste pokazivae i puteve kako bi navodili izmeu slogova podataka (poznatih kao vorovi). Na primjer, da bi dali nekom upute kako da doe do odreene lokacije prema navigacionom pristupu bi to izgledalo otprilke ovako: Idite autoputem 30 kilometara, iskljuite se s autoputa na izlazu Podlugovi, na sljedeoj raskrsnici skrenite desno u ulicu Veselin Maslea, trea kua od skretanja je lokacije koju traite. Za razliku od ovog pristupa deklarativni pristup bi za isti primjer izgledao ovako: Pronaite kuu sa sljedeim koordinatama....

-

1970-te godine: Relacione baze podatakaOsnovna ideja relacionih baza podataka je da se baza podataka opie kao kolekcija predikata pomou skupa predikatskih varijabli, opisujui validne podatke koji se mogu unosit u bazu podataka kako bi se zadovoljila unaprijed zadata pravila(tipovi podataka, broj dozvoljenih karaktera i slino). sadraj baze podataka je u svakom trenutku je potpun model, na primjer skup veza i entiteta. Osnov relacionih baza podataka predstavljaju table u koje se smjetaju podaci i veze(relacije) koje odreuju pravila izmeu podataka. U relacionom modelu baza podataka konzistentnost podataka je odreena pomou kljueva.

-

Kraj 1970-tih godina: SQL DBMS sistemiIBM-ov rad na protitip sistemu baziranom na Cood-ovm konceptu (Sve vrijednosti u bazi podataka su definisane atomski tj. vrijednosti u jednoj koloni u bazi podataka se ne mogu dalje razlagati odnosno pojjednostavljivati) nazvanom System R u ranim sedamdesetim godinama te je kao takav smatran nemogu za implementaciju. Na projektu je radila grupa programera koji nisu razumili Codd-ov koncept te su prekrili osnovne principe koncepta relacinoh baza podataka. Prvi implementiran sistem na bazi Codd-ovog koncepta je napravljen 1974/5 godine te je tada zapoeo rad na vie tabelarnim sistemima u koje je mogue razdvojiti podatke. Viekorisniko okruenje je testirano od strane korisnika sistema 1978/9-te godine kada je u meuvremenu nastao i SQL jezik za manipuliranje podacima i upravljanje bazama podataka.

| 12

Danas postoji veliki broj sistema za upravljanje bazama podataka meu kojima su: Oracle IBM DB2 Microsoft SQL server Microsoft Access MySQL server PostgreSQL SQLite BerkeleyDB Sybase dBase CouchDB

| 13

2. Oracle baza podatakaOracle baza podataka (Oracle relacioni sistem za upravljanje bazama podataka ili jednostvano Oracle) je relacioni sistem za upravljanje bazama podataka dizajniran i distribuiran od strane Oracle korporacije. Oracle je postao vodei brend u polju sistema za upravljanje bazama podataka. Larry Ellison i njegove kolege, meu kojima treba izdvojit Bob Miner-a, i Ed Oates-a, su zapoeli rad laboratorije za razvoj aplikacija (SDL Software Development Laboratories) 1977.godine. SDL je razvila orginalnu verziju Oracle baze podataka. Ime Oracle potie od kodnog imena CIA projekta na kojem je Ellison radio u prethodnoj kompaniji u kojoj je bio zaposlen(Ampex).

2.1. Arhitektura Oracle baze podatakaBaza podataka je skup podataka koji se posmatra kao cjelina. Osnovna namjena baze podataka je da uva podatke i da omoguava da se ti podaci mogu po potrebi koristiti. Server baze podataka (Database server) je klju za upravljanje informacijama. Generalno server upravlja velikim koliinama podataka u viekorisnikom okruenju kako bi svi korisnici mogli konkurentno pristupati bazi podataka (itnaje podataka i upisivanje podataka u bazu podataka). Server baze podataka takoer ima sigurnosnu ulogu tako to spreava neovlaten pristup podacima i omoguava efikasna rjeenja u sluaju greaka. Oracle baza podataka je prva baza koja podrava pristup serveru baze podataka preko mree, to olakava kompanijama u pogledu odravnja a takoer odnos cijena-performanse je zadovoljavajui. Ovakav nain organizacije preduzea omoguava rad sa modularnim sistemima za smjetanje podataka i serverskim tehnologijama. Koristei serversku tehnologiju sistem odlikuje skalabilnost, tj. novi moduli se mogu dodavati i stari mjenjati bez potrebe za gaenjem sistema, nema potrebe za dodavanjem novih hardverskih komponenti kako bi se poveala mogunost optereenja sistema npr.dodavanjem veeg broja korisnika na bazu podataka se smanjuju performanse meutim uvijek postoji mogunost nadogradnje sistema ili preraspodjele postojeih resursa kako bi se podrao vei broj korisnika. Kod baza podataka razlikujemo fiziku i logiku strukturu. Zbog postojanja ove razlike fiziki smjetajni prostor se moe administrirati bez uticaja na logiku strukuru baze podataka.

2.1.1.

Mrena arhitektura

Mrena arhitektura raunarskih sistema(Grid Computing) je arhitektura informacionih tehnologija koja doprinosi skalabilnosti i rentabilnosti informacionih sistema. Na ovaj nain grupe nezavisno organizovanih hardverskih platformi i softverskih komponenti mogu biti povezani u cjelinu zavisno od potreba samog informacionog sistema kojeg opsluuju. Mrena arhitektura u raunarskim sistemima je doprinijela rjeavanju odreenih problema u infrastrukturi velikih korporacija koje se bave razvojem informacionih sistema. Poredei sa drugim nainima organizacije IT resursa, sistemi dizajnirani i implemetirani pomou mrene arhitekture odlikuju se visokim kvalitetom servisa, manjom cijenom i veom fleksibilnosti. Vei

| 14

nivo kvaliteta usluga je obezbjeen na taj nain to u mrenoj arhitekturi nije situacija da ako jedan vor i mrei prestane sa radom to dovodi do prestanka rada cijelog sistema. Upravljanje sistemima sa mrenom arhitekturom je centralizovano. Prednost mrene organizacije je manje cijene odravanja, skalabilnost sistema i vrijeme koje sistem nije u funkciji se svodi na minimum ak u dosta situacija je nula.

2.1.2.

Aplikaciona arhitektura

Dvije najee koritene arhitekture baze podataka su klijent-server i vienivovska arhitektura. Kako je Internet raunarstvo postalo veoma zastupljeno u svim oblastima ljudskog ivota, tako i u poslovnim okruenjima koja koriste raunarske tehnologije sve vie sistema za upravljanje bazama podataka se okree ka vienivovskom okruenju. Klijen-server arhitektura Sistem Oracle baze podataka koristi prednosti distribuiranog procesiranja koristei klijentserver arhitekturu. Na ovaj nain sistem se sastoji iz dva dijela: Klijent aplikacija koja zahtijeva izvravanje odreene akcije na strani servera baze podataka. Klijentska radna stanica treba biti optimizirana za izvravanje klijentskih aplikacija. Na primjer, u ovakvoj aplikacionoj arhitekturi, klijentska radna stanica nema potrebe za velikim memorijskim prostorom. Na ovakav nain omogueno je da vie klijenata istovremeno pristupaju jednom serveru baze pdoataka. Server Na serveru baze podataka pokrenut je softver Oracle baze podataka koji upravlja resursima, rasporeuje zadatke i usluuje zahtjeve korisnika odnosno klijentskih aplikacija. Raunar koji predstavlja server baze podataka treba da ima velik diskovni prostor, velik memorijski prostor kako bi bio u mogunosti sa minimalnim vremenom odziva ispravno opsluivati klijentske aplikacije odlikovan stabilnou u radu. Vienivovska arhitektura: Aplikacioni serveri Tradicionalna vienivovska arhitektura ima sljedee komponente: Klijent inicijator procesa koji pokree odreene akcije odnosno operacije. Jedan ili vie aplikacionih servera koji obrauju zahtjeve primljene od strane klijenata. Aplikacioni server sadri veliki dio logike aplikacije, omoguava pristup podacima od strane klijenata, procesira upite nad bazom podataka. Aplikacioni server slui kao interfejs izmeu vie klijenata i servera baze podataka, te uz sve navedene operacije poveava nivo sigurnisti. Krajnji server ili server baze podataka koji uva veinu podataka koji se koriste za izvravanje operacija zahtjevanih od klijentskih aplikacija.

-

| 15

Vienivovska arhitektura omoguava upotrebu aplikacionog servera u sljedee namjene: Autorizacija klijenata kroz klijentske aplikacije kao to su internet pretraivai. Povezivanje klijenata na Oracle server baze podataka, kiljentske aplikacije koritene za rad nad bazama podataka Oracle SQL Developer. Izvravanje operacija zahtjevanih od klijentskih aplikacija.

Ako se u sistemu koristi proxy autorizacija onda je provjera identiteta korisnika omoguena na svim nivoima veze izmeu klijenata i servera. Vienivovska arhitektura: Servis-orjentisana arhitektura (SOA) Servis orjentisana arhitektura (SOA) je vienivovska arhitektura gdje je funkcionalnost aplikacije definisana pomou servisa. SOA servisi su veinom implementirani kao web servisi. Web servisima se moe pristupati preko HTTP(Hyper Text Transfer Protocol) protokola i bazirani su na XML otvorenim standardima kao to su WSDL i SOAP.

2.2. Fizika struktura Oracle baze podatakaOracle baza podataka je fiziki sainjena od : - Podatkovnih fajlova (Datafiles). - Kontrolnih fajlova (Control Files) - Online Redo log fajlova - Arhiviranih Redo log fajlova - Parametar fajlova - Alert i Trace log fajlova - Backup fajlova Datafiles (fajlovi podataka) Svaka Oracle baza podataka ima jedan ili vie fizikih fajlova za smjetanje podaka (datafiles), u kojima se fiziki nalaze svi podaci baze podataka. Podaci logikih struktura Oracle baze podataka kao to su tabele i indeksi su fiziki smjeteni u datafajlovima koji su alocirani za bazu podataka. Karakteristike datafajlova su : - Jedan datafile moe biti pridruen samo jednoj bazi podataka. - Datafajlovi se mogu definisani da budu fiksne memorijske veliine ili da se po potrebi poveavaju stopom rasta kako se odredi na nivou baze podataka. - Jedan ili vie datafajlova ine logiku jedinicu Tablespace. itanje podataka iz baze podataka je ustvari itanje podataka koji su smjeteni u odreenom datafajlu, koji po potrebi mogu biti smjeteni u memorijski ke Oracle baze podataka. Na

| 16

primjer ako korisnik eli proitati podatak koji se nalazi u bazi podataka a isti nije keiran u memoriji onda se pristupa direktno datafajlu koji sadri traene podatke. Promjene nad podacima u bazi se ne smjetaju odma u datafajlove. Da bi se smanjio broj itanja s diska zbog poboljanja performansi podaci se skupljaju u memoriju i piu u odreene datafajlove atomski. Datafajlovi koji privremeno uvaju podatke unutar privremenog tablespace nazivaju se privremeni datafajlovi. Control Files (Kontrolni fajlovi) Svaka Oracle baza podataka ima kontrolne fajlove. Kontrolni fajlovi sadre podatke koji specificiraju fiziku strukturu baze podataka, ukljuujui sljedee informacije: - Ime baze podataka. - Imena i lokaciju datafajlova i Redo log fajlova. - Vrijeme kreiranja baze podataka. Svaki put kada se pokree instanca Oracle baze podataka, kontrolni fajlovi identificiraju datafajlove, privremene datafajlove i redo logove koji moraju postojati i biti ispravni da bi mogla normalno funkcionirati instanca Oracle baze podataka. Online Redo Log fajlovi Svaka instanca Oracle baze podataka ima skup od dva ili vie redo log fajlova. Redo log fajlovi zajedno sa arhiviranim kopijama redo log fajlova zajedno ine redo logove jedne baze podataka. Jedan redo log je sainjen od redo slogova u kojima su logirane sve promjene koje se deavaju na bazi podataka. Ako doe do greke u sistemu koja onemoguava pisanje podataka direktno u podatkovne fajlove baze podataka (datafiles), tada se promjene mogu restaurirati iz redo log fajlova tako da je na taj nain omogueno da rad s podacima nikada ne bude izgubljen. Da bi se u to boljoj mjeri zatitio sav rad nad podacima koji se nalaze u bazi podataka mogue je umnoiti redo log fajlove koji se mogu uvati na razliim diskovima kako bi se onemoguilo da disk bude slaba taka sistema koja moe dovesti do gubitka rada nad podacima u bazi podataka. Arhivirani redo log fajlovi Kada se redo log fajlovi zapisuju na diskove automatski postaju arhivirani redo log fajlovi. Oracle preporuuje da se omogui automatizovano zapisivanje log fajlova na druge diskove kako bi se mogunost kraha sisteme svela na minimum. Kada je Oracle baza podataka u ARCHIVELOG modu rada tada je omogueno automatski spremanje redo log fajlova. Parametar fajlovi Jedan parametar fajl na Oracle bazi podataka sadri konfiguracione informacije vezano za instancu baze podataka. Parametar fajlovi i server parametar fajlovi omoguavaju uvanje i spremanje inicijalizacijskih parametara perzistentno na nekom distribuiranom disku. Server parametar fajl ima nekoliko prednosti:

| 17

-

Fajl se konkurentno update-uje svaki put kada neka od vrijednosto parametara aktivne instance bude promjenjena. Fajl je centralizovan za pristup svim instancama u sluaju da je baza instalirana kao Real application servis.

Alert i Trace log fajlovi Svaki serverski i pozadinski proces moe pisati u odgovarajui trace fajl. Kada se desi interna greka u nekom od procesa koji se izvravaju na Oracle bazi podataka, taj isti proces pie informacije vezane za tu greku u odreeni trace fajl. Neke od informacija koje se zapisuju u trace fajlove se tiu administratora baze podataka kako bi na osnovu tih informacija mogli odrediti uzrok greke i na taj nain djelovati da se greka eliminie, a drugi dio informacija pomau Oracle servisima podrke korisnicima kako bi, ako je greka uzrokovana bazom podataka, istu mogli Oracle programeri ispraviti. Alert fajl ili alert log fajl je specijalna vrsta trace fajla gdje se zapisuju hronoloki upozorenja i greke koje su se dogodile na bazi podataka. Backup fajlovi U sluaju da doe do greke ili pada kompletnog sistema baze podataka tada dolazi do gubitka svih podataka koji su se uvali u bazi podataka. Meutim poto se u bazi podataka kao to je Oracle veinom nalaze velike koliine podataka koji su vani za kompaniju Oracle baza podataka ima mogunost spaavanja svih podataka koji su smjeteni u bazu podataka u obliku backup fajlova. Da bi vratili bazu u posljednje konzistentno stanje potrebno je da imamo backup fajlove zadnjeg konzistentnog stanja. Tipine situacije koje dovode do potrebe za restauracijom baze podataka na prethodno stanje jesu hardverske greke medija na kojem se uvaju fajlovi gdje Oracle baza podataka smjeta podatke. Do potrebe za koritenjem backup fajlova moe doi i usljed greke korisnika baze podataka ili brisanja orginalnog fajla gdje su smjeeni podaci. U navedenoj situaciji nastupaju backup fajlovi koji se moraju uvati na odvojenom mediju od medija za smjetanje podatkovnih fajlova. Backup Oracle baze podataka se vri automatski tako to se odrede vremenski intervali kada se radi backup kompletne baze i backup nastalih promjena od zadnjeg potpunog backup-a Oracle baze podataka.

2.3. Logika struktura Oracle baze podatakaLogika struktura Oracle baze podataka omoguava preciznu kontrolu prostora za smjetanje podataka unutar Oracle baze podataka. U okviru logike strukture baze podataka bitne je spomeniti sljedee teme: Blokovi podataka unutar Oracle baze podataka, Produeci (Extents), Segmenti, Tablespace-i.

| 18

Blokovi podataka Na najniem nivou granularnosti podaci unutar Oracle baze podataka su smjeteni u logike cjeline blokove podataka (data bloks). Jedan blok podataka odgovara odreenom broju bajta fizikog prostora Oracle baze podataka unutar memorijskog prostora. Standardna veliina bloka podataka je definisana pomou inicijalizacijskog parametra DB_BLOCK_SIZE. Oracle baza podataka alocira memorijski prostor unutar slobodnog prostora unutar blokova podataka. Produeci (Extents) Sljedei logiki nivo memorijskog prostora je produetak (extent). Produetak je broj uzastopnih blokova podataka koji su alocirani sekvencijalno i koriste se za smjetanje posebne informacije. Segmenti Nakon produetaka u hijerarhiji logike strukutre baze podataka je segment. Segment predstavlja skup produetaka alociranih za tabelu, indeks, segment za povratak stanja baze u prethodno stanje ili za privremenu upotrebu od strane pojedine sesije ili transakcije. Poredei sa fizikom strukturom baze podataka svi produeci pripadaju segmentu koji se nalazi u jednom tablespace-u, ali mogu se nalaziti u razliitim podatkovnim fajlovima koji ine taj tablespace. Kada je produetak popunjen podacima Oracle baza podataka dinamiki alocira novi produetak za taj segment. Kako su produeci alocirani po potrebi slijedi da produeci koji ine jedan segment mogu ali nemoraju biti smjeteni sekvencijalno na disku. Tablespace Oracle baza podataka je podijeljena u logike jedinice tablespace, koji grupiu odreene blokove podataka, segmente i produetke u logiku cjelinu. Tablespace grupie zajedno sve objekte jedne aplikacije kako bi se pojednostavile administrativne operacije. Svaka baza podataka je logiki podijeljena u dva ili vie tablespace-a. Jedan ili vie fajlova podataka(datafiles) su eksplicitno kreirani za svaki tablespace da fiziki uvaju podatke svih logikih struktura u jednom tablespace-u. Suma smjetajnog prostora fajlova podataka koji ine odreeni tablespace predstavlja ukupnu veliinu memorijskog prostora jednog tablespace-a. Svaka Oracle baza podataka sadri SYSTEM i SYSAUX tablespace koji su kreirani automatski pri instalaciji odnosno kreiranju same Oracle baze podataka. Sistemski kreirani tablespace su malog smjetajnog kapaciteta (smallfile tablespace) koji predstavljaju tradicionalni tip tablespace-a. Pri kreiranju tablespace-a Oracle baza podataka dozvoljava kreiranje tablespace-a za smjetanje velikih koliina podataka (bigfile tablespace) koje ini jedan veliki fajl za smjetanje podataka a ne vie fajlove podataka manjeg smjetajnog kapaciteta. U 64-bitnom sistemu adresiranja memorije omogueno je kreiranje velikih tablespace-a do 8 hexabajta veliine to omoguava izvravanje operacija na tablespace-u radije nego na pripadajuim fajlovima za smjetanje podataka.

| 19

2.3.1.

eme baze podataka i objekti ema baze podataka

ema predstavlja kolekciju objekata unutar baze podataka. Vlasnik eme baze podataka je korisnik kreiran na nivou baze podataka koji ima isto korisniko ime kao to je i ime same eme baze podataka. Objekti eme baze podataka su logike strukture koji se direktno odnose na podatke smjetene unutar baze podataka. Ne postoji relacija izmeu tablespace-a i eme baze podataka. Objekti iz jedne eme mogu fiziki biti smjeteni unutar razliitih tablespace-a kao to jedan tablespace moe uvati objekte koji pripadaju razliitim emama baze podataka. Objekti eme baze podataka predstavljaju strukture kao to su: Tabele, Indeksi, Pogledi, Klusteri, Sinonimi.

Tabele Tabele predstavljaju osnovne jedinice za smjetanje podataka na Oracle bazi podataka. Tabele baze podataka uvaju sve podatke kojima korisnik baze podataka moe pristupati. Tabela je sainjena od kolona i redova. Tabela koja uva informacije o brojevima telefona (telefonski imenik) moe imati kolonu broj_telefona koja uva podatke o brojevima telefona za odreeni slog unutar tabele. Indeksi Indeksi su opcionalne struktrure podataka vezane za tabele unutar eme Oracle baze podataka. Indeksi se kreiraju s ciljem poboljanja performansi pri itanju podataka iz baze podataka. Kao to indeks po prezimenu u telefonskom imeniku omoguava lake pronalaenje osobe iji broj telefona Vam je potreban tako indeks po odreenom polju omoguava bre pretraivanje baze podataka po vrijednosti polja po kojem je indeks kreiran. Kada Oracle baza procesira upit nad podacima unutar baze podataka mogue je da se koristi odreeni indeks ili svi indeksi koji postoje definisani na kolonama unutar tabele odakle se trae podaci. Indeksi su korisni kada aplikacija nad bazom podataka vrlo esto trai podatke za vie slogova odnosno kada je povratna informacija niz podataka na osnovu zadatog kriterija pretraivanja (Na primjer: pretraivanje baze telefonskih brojeva koji poinju sa 032) ili pri vraanju jedne vrijednosti na osnovu specifinog zahtjeva (Na primjer: Broj telefona korisnika iji je JMBG dat kao uslov za pretragu). Nakon kreiranja indeksa Oracle baza podataka automatizovano koristi i upravlja indeksima. Promjene nad podacima unutar tabele na kojoj su kreirani indeksi se automatski odnose i na idekse, odnosno indeksi se automatski kreiraju i na dodatim ili promjenjenim vrijednostima unutar indeksirane kolone.

| 20

Pogledi Pogledi predstavljaju specifian nain prikazivanja podataka iz jedne ili vie tabela ili drugih pogleda. Pogledi fiziki ne uvaju podatke nego prikazuju podatke iz tabela ili drugih pogleda na kojima su bazirani. Operacije ubacivanja, mjenjanja i brisanja podataka se mogu izvravati nad pogledima kao i nad tabelama sa odreenim ogranienjima. Ako je mogue mjenjati podatke nad pogledima tada sve promjene napravljene nad pogledom takoer su promjene i nad tabelama na kojima su pogledi bazirani. Pogledi omoguavaju vei nivo sigurnosti jer postoji mogunost zabrane pristupa podacima nad odreenim redovima ili kolonama tabele, takoer skrivaju kompleksnost podataka i upita nad tim podacima. Klusteri Klasteri su grupe sainjene od jedne ili vie tabela fiziki spojene zato to dijele zajednike kolone i esto su koritene zajedno. Zbog grupisanja tabela redovi unutar klastera su fiziki spojeni to smanjuje broj pristupa disku a to dalje vodi poboljanju performansi sistema. Kao i indeksi, klasteri ne utiu na dizajn aplikacije, kada je tabela dio klastera ona je transparentna i korisnicima i aplikaciji. SQL upiti pristupaju podacima iz tabela spojenih u klaster na isti nain kako pristupaju tabelama koji ne ine klaster nego su zasebne. Sinonimi Sinonimi predstavljaju drugo ime za tabelu, pogled, sekvencu, operator, proceduru, funkciju, paket, Java objekat, objekat defisan od strane korisnika ili za drugi sinonim. Sinonim je tipini alias tako da ne zahtijeva dodatni memorijski prostor za smjetanje podataka, jedina potreba za memorijskim prostorom jeste za samu definiciju sinonima unutar rjenika podataka.

2.3.2.

Oracle rjenik podataka (Data Dictionary)

Svaka Oracle baza podataka sadri rjenik podataka (Data Dictionary). Rjenik podataka predstvalja skup tabela i pogleda koji slue kao referenca za bazu podataka. Rjenik podataka uva informacije o logikoj i fizikoj strukturi baze podataka kao i validne korisnike kreirane nad bazom podataka, informacije o intergitetu podataka unutar baze podataka, veliini prostora alociranog za svaku emu baze podataka kao i koliko je od tog prostora zauzeto a koliko slobodno i mnoge druge vane informacije. Rjenik podataka se kreira pri instalaciji baze podataka. Da bi u svakom vremenskom trenutku rjenik podataka imao validne informacije vezane za bazu podataka Oracle baza podataka na osnovu promjena logike i fizike strukture baze podataka automatski mijenja vrijednosti unutar rijenika podataka. Korisnici nad bazom podataka nemaju mogunost runog mjenjanja rjenika podataka. Tokom operacije koje utiu na promjenu logike ili fizike strukture baze podataka Oracle baza podataka ita podatke iz rjenika podataka kako bi verfikovala da korisnik nad bazom ima privilegije da izvrava odreene operacije nad objektima eme baze podataka.

| 21

2.4. Oracle XML baza podatakaOracle XML DB predstavlja naziv za skup tehnologija unutar Oracle baze podataka koji se odnosi na visoke performanse za smjetanje podataka u obliku XML-a i vraanje podataka iz XML dokumenata. Oracle XML DB podrava koritenje izvornog XML formata ukljuujui SQL i XML model podataka. Oracle XML baza podataka ukljuuje sljedee mogunosti: Podrka W3C (World Wide Web Consortium) XML formatu i XML emi podataka ukljuujui standardne metode pristupa i pretraivanja XML strukture podataka. Model podataka je inkorporiran u okviru Oracle baze podataka. Nain za smjetanje, pretraivanje, promjene podataka i transformisanje XML podataka koristei SQL. Nain da se izvravaju XML operacije nad SQL podacima. Na jednostavan nain organizovanje XML repozitorija gdje je mogue organizovati i upravljati sadrajem baze podataka ukljuujui i XML koristei file/folder/URL poreenje. Neovisna infrastruktura na nivou smjetanja podataka, sadraja podataka i programskih jezika za smjetanje i upravljanje XML podacima. Na ovaj nain je omoguen novi nain pretraivanja sadraja XML podataka smjetenih unutar Oracle baze podataka. Na primjer Oracle XML DB repositorij omoguava jednostavnije upravljanje hijerarhijom meu XML dokumentima. Pristup podacima po industrijskim standardima i njihova promjena. Meu industrijskim standardima bitno je napomenuti W3C Xpath preporuku i ISO-ANSI SQL/XML standard. FTP HTTP(S) i WebDAV je mogue koristiti za itanje i smjetanje podataka iz i u Oracle bazu podoataka. API-ji definisani po industrijskom standardu omoguavaju pristup i manipuliranje sadrajem XML-a koristei programske jezike kao to su: Java, C i PL/SQL. Upravljanje memorijom i optimizacija. Visok nivo poboljanja mogunosti XML integracije u okviru Oracle baza podataka, mogunosti kao to su: sigurnost, proirivost, pouzdanost i upotrebljivost.

-

-

-

-

2.4.1.

Oracle XML DB protokol arhitektura

Jedna od kljunih mogunosti Oracle XML baze podataka je podrka iroko rasprostranjenim protokolima kao to stu HTTP(S), WebDAV i FTP protokoli. Listener (komponenta Oracle baze podataka) oslukuje HTTP i FTP zahtjeve na isti nain kako oslukuje ODP.NET zahtjeve. Kada Listener primi HTTP(S) ili FTP zahtjev od strane klijenta taj zahtjev se prosljeuje serveru Oracle baze podataka koji usluuje zahtjev i vraa klijentu odgovarajui rezultat. Na nivou Oracle baze podataka potrebno je omoguiti pristup bazi podataka po navedenim protokolima.

| 22

2.4.2.

Pristup Oracle XML bazi podataka iz programskih jezika

Svim mogunostima koje nudi Oracle XML baza podataka je mogue pristupiti iz programskih jezika kao to su Java, PL/SQL i C. Na ovaj nain je omogueno pravljenje internet baziranih aplikacija: - Koritenjem servlet JSP stranica. Tipian API pristup podacima smjetenim u Oracle bazi podataka pomou JDBC-a (Java Database Conectivity). - Koristei XSL (Extensible Stylesheet Language) i XSP (XML Server Pages). Pristup podacima u obliku XML-a je omoguen pomou aplikacinog programskog interfejsa (API) koristei DOM (Docuement Object Model) API implementacije. Oracle XML baza podataka podrava oba pristupa razvoju aplikacija. Takoer je omoguena implementacija DOM API metoda u okviru programskih jezika kao to su JAVA, PL/SQL i C. Aplikacije koje koriste JDBC, kao one bazirane na servletima, trebaju prije svega poznavanje strukture baze podataka koje procesiraju. Oracle JDBC drajveri omoguavaju pristup i promjene nad XML podacima smjetenim u Oracke bazi podataka, kao i poziv PL/SQL procedura koje pristupaju Oracle XML DB repozitoriju. Aplikacije koje koriste DOM metodu zahtjevaju manje poznavanje strukture podataka smjetenih u Oracle bazi podataka. DOM bazirane aplikacije koriste imena kako bi identificirali djelove sadraja te dinamiki prolaze kroz DOM strukturu kako bi pristupili traenim informacijama. Oracle XML DB podrava koritenje DOM API-ja za itanje i promjene nad XML podacima smjetenim u Oracle bazi podataka. Programiranje pomou DOM API-ja je dosta fleksibilnije od programiranja koristei JDBC-a meutim nedostatak je to u sluaju koritenja DOM API-ja potrebno je vie resursa za vrijeme izvravanja aplikacije.

2.4.3.

XML (eXtensible Markup Language)

XML predstavlja jezik odlikovan fleksibilnou i mogunou mjenjanja. XML kao jezik u velikoj mjeri je nalik na HTML, meutim XML ne predstavlja zamjenu za HTML. XML je dizajniran da uva i prenosi podatke a ne da ih prikazuje, mogue ga je kombinovati sa HTML-om koji moe prikazivati podatke koji su smjeteni u XML dokumentima. Za razliku od HTML-a koji kao standard ima predefinisane tagove koje je mogue koristiti XML dozvoljava kreiranje vlastitih tagova. XML je dizajniran da uva podatke i vri njihov prenos dok HTML vodi brigu kako se odreeni podaci prikazuju. HTML(Hypertext Markup Language), na drugoj strani, nije skalabilan jezik i kao takav predstavlja osnovu veine internet stranica zajedno sa mnogim drugim programskim jezicima koji se koriste za kreiranje sadraja na internet stranicama. HTML internet stranice su efektivno zamrznute u vremenu od kad su kreirane i ne mogu se mjenjati za vrijeme pregleda u pretraivau (poznati internet pretraivai su Mozilla Firefox i Internet Explorer). S druge strane, XML dozvoljava aktualiziranje internet stranica za vrijeme njihovog pregledavanja. XML dozvoljava uvanje promjenljivih podataka unutar internet stranica koji se mogu dinamiki mjenjati za vrijeme rada stranice tj. bez potrebe da stranica bude nedostupna odreeno vrijeme dok se izvravaju odreene promjene.

| 23

2.4.3.1. Poreenje XML-a sa HTML-omHTML (HyperText Transfer Protocol) predstavlja dominantni jezik koriten za kreiranje internet stranica. Omoguava opisivanje strukture tekst baziranih informacija u dokumentu oznaavajui odreeni tekst kao vezu prema drugim stranicama ili dataotekama, kao paragrafe ili liste. Takoer se koristi za pravljenje interaktivnih formi, ugradnju slika i drugih objekata u internet stranice. HTML se moe, u odreenoj mjeri, koristiti za kreiranje dizajna internet stranica i u okviru HTML-a je mogue ukljuiti programske jezike kao to je Javascript koji moe utjecati na dinaminst internet stranica. XML, u odreenim sluajevima, se moe posmatrati kao proirenje HTML-a. Ovakav nain posmatranja XML-a je nastao zbog injenice da je HTML jezik tano odreen sa oznakama koje je mogue koristiti. HTML koristi predefinisane tagove (oznake) kao na primjer HEAD, TITILE i P. Za razliku od HTML-a, XML je proiriv i kao takav posjeduje vie mogunosti da bude skalabilan ili da se dodaju nove mogunosti u njegovom koritenju. XML dokument kada se ugradi u HTML internet stranicu treba unaprijed definisane tagove kao i kod HTML-a, meutim XML dokument se moe sastojati od specifinih tagova koji su karakteristini za taj dokumet. Vana injenica koja je vezana za konstrukciju XML dokumenata koja nije u potpunosti zadovoljena kod HTML-a je da svaki tag mora imati svoj poetni i zavrni tag. Kod HTML-a je mogue da zapoeti tag ne mora imati svoj zavrni tag (Na primjer: poetni paragraf tag ne mora imati svoj zavrni tag ) dok kod XML-a to nije sluaj. Svaki XML poetni tag mora imati svoj zavrni tag inae takav XML dokument se ne moe koristit jer nije validno konstruisan. Dakle XML nije ogranien sa uptrebom unaprijed odreenih tagova, mogue je kreirati vlastite tagove unutar XML dokumenata.

2.4.3.2. Prednosti i mogunosti XML-aPrednosi upotrebe XML-a je mogue prikazati na sljedei nain: Fleksibilnost podataka Bilo kakva informacija moe biti smjetena unutar XML stranice. XML stranica postaje nosilac informacija a ne samo opisna definicija podataka. Integracija unutar internet stranica Integrisanje XML dokumenata u internet stranice postaje jednostavnije jer se u novije vrijeme kreiranje stranica sa XML sadrajem vri generiki automatizovano. Internet stranice postaju voene podacima, bazirane na sadraju internet stranice, a ne bazirane na tagovima koji ih definiu, voene programskim jezikom i poloajem tagova unutar stranica. Otvoreni standard XML je potpuno fleksibilan standard. Ne postoji softver niti softverska kompanija koja ima pravo kontrolisanja i definisanja tagova koje je mogue kreirati u okviru XML dokuemata, znaenje kreiranih tagova i pozicija tagova unutar XML dokumenata. Poveana skalabilnost i kompresija Pri slanju internet stranica preko Interneta XML stranice mogu sadravati samo podatke. Kodiranje svih tagova koje zahtjeva HTML nije potrebno.

-

-

| 24

-

Redoslijed podataka Redoslijed prikazivanja podataka unutar XML stranica nije bitan jer to su samo podaci. Podacima se moe na klijentskoj strani omoguiti odreeni nivo dizajna i preglednosti u okviru internet pretraivaa ako se koristi XSL (eXtensible Style Sheets).

2.4.3.3. Prikazivanje XML dokumenataU nastavku je prikazana jednostavna struktura XML dokumenta. Jedini unaprijed definisani tag predstavlja tag prve linije koja slui da se opie verzija XML parsera koji se koristi za XML verzije 1.0. Mladen Antunovi 18.38 43.85

Parser je program koji analizira i provjerava pravila pisanja koda u odreenom programskom jeziku. Internet pretraiva koji podrava pregled internet stranica sa XML sadrajem parsira XML kd s ciljem provjere ispravnosti napisanog XML kda. Kao to je ranije reeno, funkcija parsera je da provjerava da svaki poetni tag ima svoj zavrni tag i da je respored tagova unutar XML dokumenta ispravan. Na ovaj nain je onemogueno da se otvori novi poetni tag dok prethodni takav tag nije zatvoren (Na primjer: tag ne moe biti ponovno otvoren dok prethodni tag nema svoj zavrni tag ). Prvobitna i osnovna uloga HTML-a jeste prikazivanje podataka za razliku od XML-a koji nastoji da opisuje podatke. XML predstavlja podatke uz to da ti podaci sami sebe opisuju. Podaci prikazani u HTML internet stranicama sadre podatke koji se moraju eksplicitno generisati. Za svaku lokaciju koja bi se prikazivala na mapi bi se trebala generisati jedna internet stranica koja e sadrati samo podatke vezane za tu lokaciju. Kada je u okviru HTML internet stranice ukljuen XML sadraj koji sadri podatke o pojedinoj lokaciji HTML stranica je jedna a samo se ponovo generiu podaci koji se prikazuju na mapi u okviru HTML internet stranice. Rezultat ovakvog pristupa kreiranja internet stranica je smanjenje prometa kroz mreu to zahtijeva manje procesiranja na serverskoj kao i na klijentskoj strani. XML je takoer veoma prikladan za pogledu velikog prenosa podataka koji su nezavisni od sistema upravljanje bazama podataka kao i od softverske platforme na kojoj je instaliran sistem gdje se prenos podataka vri. Za razliku od HTML-a koji vri zahtjevna procesiranja podataka XML predstavlja univerzalan standard i kao takav dopunjuje nedostatke koje ima HTML a ne mijenja funkcionalnost HTML jezika. XML je nastao sa svrhom za uvanje i razmjenu podataka dok je funkcija HTML-a prikazivanje podataka.

| 25

Da bi kreirali jedan ispravna XML dokument nije potreban nikakav specijalan softver, dovoljno je imati bilo koji tekstualni editor kao npr. Notepad, WordPad, Gedit, Nano ili Vi. Svaki poetni tag XML dokumenta mora imati svoj zavrni tag. U nastavku je kreiran XML dokument sa osnovnim elementima i terminologijom koja je standardna pri kreiranju XML dokumenata. Primjer 1. XML dokument -->

--> -->

--> -->

Na osnovu nevedenog slijedi da se XML i HTML meusobno dopunjuju a ne iskljuuju jedan drugog, u sljedeem primjeru je prikazano kako je mogue XML dokument ugraditi u HTML dokument i podatke koji su sadrani u XML dokumentu prikazati na HTML internet stranici. Ugradnja XML dokumenta u HTML internet stranicu je poznato pod nazivom otok podataka (Data Islands). U sluaju da se XML dokument ugrauje direktno u HTML stranice tada se govori o inline ubacivanju XML dokumenata koristei tag, takoer je mogue odvojeno kreirati XML dokument i pomou HTML taga koristit XML podatke. Primjer 2. XML dokument ugraen u HTML stranicu XML dokument u okviru HTML-a Mladen Antunovic 13921

| 26

Kd prikazan iznad kada se spasi kao HTML dokument u internet pretraivau izgleda kao na slici 2.1.

Slika 2.1 HTML sa prikazom XML sadraja

2.4.3.4. XML Document Object Model (XML DOM)XML DOM definie standardni nain pristupa i manipulisanja XML dokumenata. DOM gleda na XML dokumente kao na podatke u strukturi drveta, mogue je pristupiti svim elementima kroz drvo. Sadraj XML dokumenata je mogue mjenjati, brisati i krerati nove elemente XML dokuemta. Elementi, tekst i njihovi atributi u XML notaciji se nazivaju vorovima. Jedan od bitnih faktora pri koritenju XML dokumenata u HTML internet stranicama jeste da pretraivai internet stranica imaju ugraenu mogunost prikazivanja XML podataka. Kompletnoj strukturi XML dokumenta je mogue pristupiti koristei Document Object Model ili XML DOM. Programer koristei XML DOM metodu je u stanju pronai, itati i mjenjati sadraj XML dokumenta. Promjene XML dokumenta je mogue napraviti na dva naina: a) Eksplicitni pristup podacima Aplikacija moe pristupiti XML dokumentu eksplicitno traei pojedinog studenta koristei tag i ime studenta kojeg trai. b) Dinamiki ili generiki pristup podacima Aplikacija moe pristupati XML dokumentu na osnovu sadraja dokumenta koristei poznatu strukturu dokumenta. Drugim rijeima, aplikacija moe pretraiti sve tagove i podatke unutar dokumenta bez obzira kakvi se podaci uvaju u XML dokumentu. Skup podataka je nebitan zato to pomou XML DOM-a je omoguen direktan pristup aplikaciji pomou internet pretraivaa, koji prikazuje podatke na ekranu kao to je pokazano na slici 2.1 prolazei kroz drvo koje sadri podatke u obliku XML dokumenta.

| 27

Internet pretraivai koriste XML DOM da bi prikazali sliku XML dokumenta, i parser koji ne brine koji je tip podataka sauvan u XML dokumentu nego kako su struktuirani podaci. Podaci smjeteni u relacionoj bazi podataka se mogu koristiti za kreiranje XML dokumenata koji takoer mogu biti smjeteni u bazi podataka. XML DOM omoguava pristup XML dokumentima koji su smjeteni u relacionoj bazi podataka kao to je Oracle. Drugim rjeima nakon to se kreira XML dokument mogue ga je sauvati u relacionu bazu podataka i onda koristiti aplikacije baze podataka da bi se pristupilo XML dokumentima u cjelini ili samo djelovima dokumenata koristei XML DOM. Na razliite naine i u razliitoj mjeri internet pretraivai podravaju prikaz podataka iz XML dokumenata. Posljednje verzije Internet Explorer-a ili Firefox-a bi trebale podrati prikaz XML podataka dok za starije verzije nije sigurno da li e se podaci ispravno prikazivat.

2.4.3.5. Document Type Definition (DTD)DTD predstavlja metodu definisanja konzistentne strukture pri kreiranju XML dokumenata dozvoljavajui na taj nain uvoenje standarda za kreiranje XML dokumenta u kompanijama. Sa stanovita baze podataka u pogledu XML-a, DTD omoguava nain struturne validacije dokumenata, koji ima veoma vanu ulogu u bilo kojem pogledu strukture baze podataka. Zavisno od naina kreiranja ili generisanja XML dokumenata, da li predstavljaju izvor podataka ili metapodataka ili obadvoje, standardizacije pomou DTD-a moe biti veoma korisna. Statini podaci u bazi podataka su podaci koji se vrlo rijetko mjenjaju ili se ne mjenjaju uopte (baza podataka koja uva podatke o korisnicima). Transakcijski ili dinamiki podaci su podaci koji se mjenjaju veoma esto. Bez obzira da li se radilo o statikim ili dinamikim XML dokumentima oni e se kreirati automatski pomou aplikacije. Zato provjeravati validnost podataka pomou DTD-a ako aplikacija generie podatke i ujedno vri validaciju podataka pri kreiranju ? Zato to pri koritenju XML dokumenta je mogue definisati XML eme pomou kojih su definisana pravila kreiranja i struktuiranja XML dokumenata te kreirani dokumenti moraju zadovoljavat definisane standarde.

2.4.3.6. Pravila pisanja XML dokumenata (XML sintaksa)XML tag: Poetna linija XML dokumenta definie verziju XML-a koji se koristi (). Root (Glavni) vor: Sljedea linija XML dokumenta sadri glavni vor XML dokumenta strukture drveta (). Glavni vor sadri sve ostale vorove u XML dokumentu direktno ili indirektno. Pojedinani glavni vor: XML dokument se sastoji od bar jednog sporednog vora koji predstavlja glavni vor u hijerarhiji za vorove koje on sadri. Svi podelementi moraju biti sadrani u okviru glavnog vora(root node). XML tag se esto naziva element. Zavrni glavni tag: Posljednja linija XML dokumenta sadri zavrni element poetnog glavnog elementa. Svi zavrni elementi imaju samo jedan istoimeni poetni element

-

-

| 28

-

-

-

-

izuzev to je oznaka zavrnog elementa sa dodatim znakom kose linije unaprijed (). Otvoreni i zatvoreni elementi: Svi elementi XML dokumenta moraju imati svoj zavrni element inae XML dokument nije validan to uzrokuje greku u radu sa takvim dokumentom. Izuzetak u ovom pravilu je element koji oznaava verziju XML-a koji se navodi samo na poetku dokumenta i nema svoj zavrni element. Za razliku od XML-a HTML ne zahtijeva da svaki poetni element ima svoj odgovarajuu zavrni element. Osjetljivost na velika i mala slova(Case sensitive): XML elementi razlikuju velika i mala slova dok HTML elementi ne. XML element nije isto to i element ve su to dva u potpunosti razliita elementa. Pozicija elemenata: XML elementi imaju tano odreena pravila u pogledu ugnjedavanja elemenata. Svaki poetni element mora imati svoj zavrni element na tano odreenoj poziciji dok kod HTML-a to nije sluaj. Primjer: Atributi elemenata: XML element moe imati jedan ili vie atributa i njihova vrijednost uvijek mora biti pod dvstrukim znacima navoda Kakanj

2.5. Prednosti i nedostaci Oracle baze podatakaOracle baza podataka ima veliki broj mogunosti i prednosti u odnosu na druge baze podataka to Oracle kompaniju ini najveom softverskom kompanijom u svijetu. Oracle baza podataka, u svakoj novoj verziji softvera, dolazi sa novim funkcionalnostima al i podrkom i poboljanjima za postojee funkcionalnosti iz prethodne verzije. Jedna od bitnih injenica je da Oracle baza podataka predstavlja unazad kompatibilan softver to znai da podaci smjeteni u ranijim verzijama podataka se mogu prebaciti u noviju verziju baze podataka ili da se softver moe nadograditi na posljednje aktuelnu verziju sistema za upravljanje bazom podataka. Pri izlasku nove verzije Oracle baze podataka dokumentacija vezana za novu verziju nudi pregled svih novih funkcionalnosti koje dolaze sa novom verzijom kao i unaprijeenim mogunostima iz prethodne verzije. Trenutno je aktuelna verzija Oracle baze podataka 11.1.0.6 koja se pojavila na tritu poetkom 2008.godine dok je ve u septembru 2008.godine na trite izdata zakrpa za sve greke i poboljanja u funkcionalnosti postojeih funkcionalnosti. Oracle kompanija je zauzela vodeu ulogu u polju sistema za upravljanja bazama podataka iz sljedeih razloga: Oracle baza podataka se koristi u gotovo svim aplikacijama koje rade sa velikim koliinama podataka, naroito je zastupljena u bankovnim aplikacijama. injenica je da deset vodeih

| 29

svjetskih banaka koristi Oracle softver jer Oracle nudi kvalitetnu kombinaciju informacionih tehnologija i sveobuhvatan skup integrisanih poslovnih rjeenja ukljuujui specijalizovane aplikacije za rad sa bankarskim sistemima. Osim Oracle-a sistemi za upravljanje bazama podataka kao to je Microsoft SQL Server takoer nude funkcionalnost kao to su petlje, nizovi, kursori i privremene tabele i druge operacije na nain koji koriste vie resursa od Oracle baze podataka. Prednost svake nove verzije Oracle baze podataka jesu nove funkcionalnosti i optimizacija postojeih funkcionalnosti iz prethodne verzije. Pouzdan i adekvatan sistem bazama podataka posjeduje sljedee osobine: - Atominost U Oracle bazi podataka izvrenje svih vezanih transakcija ili je spaeno u bazu podataka, u sluaju ispravnog rezultata, ili se podaci u sluaju greke pri izvravanju transakcije vraaju u stanje kakvo je bilo prije poetka izvravanja transakcije. Na ovaj nain je omogueno da se transakcije smatraju i izvravaju kao jedna operacija nad bazom podataka i u oba sluaja, ispravnost ili greka, podaci u bazi podataka ostaju u konzistentnom stanju. - Konzistentnost Baza podataka prelazi iz jednog validnog stanja u drugo validno stanje. Ilegalne operacije nisu dozvoljene i ako se desi da je naruen intergritet podataka promjene nee biti spaene u bazu podataka ve se stanje sistema vraa na prethodno ispravno stanje. - Izolacija podataka rezultati jedne transakcije nisu vidljivi drugim transakcijama sve dok se transakcija ili uspjeno ne zavri pa se podaci zapiu u bazu podataka ili se sistem ne vrati u prethodno ispravno stanje. Na ovaj nain informacije koje se uvaju u Oracle bazi podataka su sigurni i oneogueno je naruavanje integriteta podataka. - Stabilnost Rezultati transakcije jednom spaeni su stalni podaci koji su permanentno zatieni od greaka na sistemu osiguravajui odravanje i zatitu podataka.

2.5.1.

Nove i poboljane mogunosti Oracle 11g baze podataka

Jedna od novih mogunosti Oracle baze podataka ve od verzije 10g je Kanta za smee (recycle bin). Navedena opcija kada je omoguena se moe koristiti analogno kanti za otpatke u Windows operativnom sistemu. Izbrisane tabele idu u kantu za otpatke i mogu se ponovo vratiti ba kao u Windows operativnom sistemu. Bitna nova funkcionalnost Oracle baze podataka predstavlja novi koncept nazvan Flashback. injenica je da srce svake aplikacije i oraganizacije predstavljaju podaci to zahtjeva paljivo odravanje postojanosti i validnosti podataka koji se uvaju u bazi podataka. Ali, u najgorem sluaju se moe desiti da iz nekog razloga doe do gubitka bitnih podataka za ta se u veini sluajeva optuuju hardverske greke ili ljudski faktor kao to su sluajno brisanje podataka, brisanje pogrenih podataka ili brisanje pogrene tabele. Rezultat svih navedenih greaka je gubljenje podataka to predstavlja veliki problem za bilo koju bazu podataka bez obzira na koliinu podataka koja se uva u bazi podataka. Pomou Flashback Oracle tehnologije mogue je izbjei neugodnosti koje izazivaju navedene situacije te na taj nain olakati upravljanjem podataka u bazi podataka.

| 30

Pomou flashback tehnologije mogue je: - Efikasno vratiti podatke koji su izgubljeni kao rezultat ljudskog faktora. - Na bri nain povratak baze u prethodno ispravno stanje. - Na jednostavniji nain upravljati procesima i podacima. Flashback je mogue definisati nad sljedeim objektima baze podataka: Flashback arhive podataka na ovaj nain se automatski zapisuju promjene nad svim Oracle podacima i omoguava jednostavan i centralizovan pristup tim podacima te u sluaju greke svi podaci se mogu vratiti u prethodno validno stanje. Flashback na nivou transakcije Baze podataka koje uvaju velike koliine podataka svakodnevno obavljaju veliki broj kompleksnih transakcija, omoguavajui atominost i konzistentnost podataka pri izvravanu operacija kao to su ubacivanje, mjenjanje i brisanje podataka. U sluaju da doe do 'loe' transakcije koja e svojim djelovanjem uzrokovati greku u podacima potrebno je stanje podataka vratiti na prethosno ispravno stanje. Vraanje podataka u prethodno stanje moe biti veoma komplikovan i 'skup' proces, pomou 'flashback' tehnologije jednu transakciju i sve transakcije koje o njoj zavise mogue je vratiti pomou jedne PL/SQL operacije. Flashback baze podataka Pomou ove opcije mogue je na brz i jednostavan nain vratiti stanje baze podataka na odreeni trenutak u prolom vremenu kako bi se ispravile greke uzrokovane grekom na bazi podataka od strane korisnika ili na neki drugi nain. Flashback tabele Kada doe do ljudske ili do greke od strane aplikacije poeljno je da postoji mogunost da se mogu vratiti podaci koji su postojali u tabeli nad kojom je greka imala uticaja. 'Flashback' tabele vraa ne samo grekom izgubljene podatke nego i sve objekte na koje je greka imala uticaja kao to su indeksi i trigeri.

-

-

-

Greke uzrokovane ljudskim faktorom su najee greke koje uzrokuju prestanak ispravnog rada sistema. Ovakve greke je teko predvidjeti i veoma teko je nakon greke sistem vratiti u ispravno stanje ako se ne koristi odgovarajua tehnologija. Jedno od rjeenja je Oracle Database 11g Flashback tehnologija koja, za razliku od drugih, revolucionarno vri povratak podataka zavisno od vremena kad su se desile promjene to smanjuje vrijeme potrebno da se isprave nepredvidive greke uzrokovane ljudskim faktorom.

2.6. Istorija Oracle baze podatakaOd osnivanja do danas Oracle koorporacija je fokusirana na inovatinost proizvoda i nainima kako da doprinesu optimalnijem i jednostavnijem poslovanju kompanija koje koriste njihove proizvode. Korisnici Oracle proizvoda koriste Oracle tehnologije, aplikacije i servise s ciljem poboljanja svojih poslovnih rjeenja. Veliki broj korisnika irom svijeta u okviru razliitih industrijskih procesa koriste Oracle proizvode kako bi poveali profitabilnost i uspjeh u svom poslovanju. Oracle baza podataka je prva relaciona baza podataka koja podrava mrene

| 31

tehnologije, omoguavajui da podaci jedne kompanije budu zatieni i dostupni u cijeloj mrei. Oracle predstavlja broj 1 bazu podataka i broj 1 bazu podataka na Linux operativnom sistemu.

2.6.1.

Pregled razvoja Oracle koorporacije od nastanka do danas

1979.godina Larry Ellison i njegove kolege su osnovali kompaniju po imenu Software Development Laboratories koja je iste godine promjenila naziv u Relational Software, Inc. (RSI) i predstavila proizvod pod imenom Oracle V2 kao prvi komercijalno dostupan relacioni sistem za upravljanje bazama podataka. Oracle V2 je napisan u PDP-11 asembler jeziku i pokretao se na DEC-ovom VAX miniraunarima u PDP-11 emulator nainu rada. 1980.godina RSI je nastavio sa rastom poveavajui upotrebu miniraunara na radnim mjestima. Oracle verzije 2 je impresionirao prve korisnike sa implementacijom SQL-a kojeg je obiljeavao ne ba programerski stil koritenja. Rast u koritenju DEC-ovih VAX raunara i UNIX operativnog sistema na miniraunarima nije samo pomogla u rastu Oracle koorporacije nego je omoguila velikim industrijskim kompanijama da preu sa velikih i skupih raunarskih sistema na koritenje jednostavnijih i jeftinijih raunarskih konfiguracija kao to su radne stanice. Larry Ellison je po prvi put demonstrirao Oracle sistem baza podataka na SIGMOD konferenciji gdje je baza podataka bila instalirana na raunaru manjih dimenzija (PDP-11). IBM-ovi ininjeri koji su prisustvovali konferenciji su bili impresionirani demonstracijom jer su oni u isto vrijeme razvijali slian sistem kojeg je mogue bilo samo pokretati na mainframe raunarima. 1981.godina RSI kompanija je poela sa razvojem novog sistema za upravljanje bazama podataka koji e omoguiti korisnicima da unose, vraaju i formatiraju podatke u obliku izvjetaja. Prvi alat koji je razvijen za potrebe kreiranja izvjetaja je nazvan Interactive Application Facility (IAF) pomou kojeg je omogueno generisanje i izvravanje formi za procesiranje transakcija i predstavlja preteu dananjeg Oracle Forms alata. U meuvremenu kompanija nastavlja sa radom na poboljanju kompatibilnosti koristei popularni C programski jezik za sljedeu verziju Oracle baze podataka. 1982.godina RSI kompanija mijenja naziv u Oracle Systems. RSI kompanija nastavlja sa rastom i razvojem u pogledu kompatibilnosti tako verzija 2.3 Oracle baze podataka podrava vei dijapazon DEC-ovih VAX i PDP-11 miniraunara koji koriste 16-bitne i 32bitne procesore kao i podrka IBM-ovim superraunarima koji pokreu VM/CMS operativne sisteme. Tridesetpet programera zaposlenih na puno radno vrijeme u RSI kompaniji su kodirali i testirali novu verziju baze podataka koja e ukljuiti brzu prenosivost izmeu iroko rasprostranjenih superraunara i radnih stanica. 1983.godina Naglasak na kompatibilnosti i portabilnosti. Oracle Systems izlazi na trite sa verzijom 3 baze podataka sa serverskim kdom napisanom u C programskom jeziku. Oracle baza podatata e se od sada moi pokretati na superraunarima, miniraunarima i radnim stanicama, na bilo kojim hardverskim platformama koje imaju C kompajler. Ova mogunost dozvoljava da korisnik kreiranu bazu podataka moe analizirati na bilo kojoj hardverskoj platformi. Uvedene izmjene u verziji 3 Oracle baze podataka predstavljaju pretee dananje otvorene arhitekture IT sistema.

| 32

1984.godina Oracle postaje skalabilan. Oracle verzije 4 se odlikuje novom mogunosu nazvana konzistentnost pri itanju (read consistency), koja osigurava da e upit nad bazom podataka vratiti skup podataka koji su konzistentni u trenutku vremena bez obzira na ostale operacije koje se u tom vremenu izvravaju nad podacima u bazi podataka. Prednost nove mogunosti u poslovnim aplikacijama je oigledna, ako se kao primjer uzme prenos novca u bankovnom sistemu s jednog rauna na drugi za vrijeme izvravanja upita nee biti pogreno izraunat, i uposlenici iji su podaci unesenei u bazu podataka o uposlenicima za vrijeme izvravanja upita se nee brojati dvaput. Kako je sve vie rasla potreba za ukljuivanjem raunarskih tehnologija u sve oblike ljudskog ivota, konzistentnost pri itanju podataka iz baze podataka je postala vrlo bitno pitanje. Kako je u meuvremenu sve vei broj kompanija za sistem upravljanja bazama podataka birao Oracle bazu podataka tako su proizvoai raunarske opreme bili primorani podrati sposobnost portabilnosti koja je podrana od strane Oracle baze podataka. 1985.godina Klijent-server raunarstvo postaje sve vie zastupljeno u raunarskoj industriji to je uzrokovalo da Oracle objavi novu verziju sistema za upravljanje bazama podataka. Oracle baza podataka verzije 5 je prva baza koja je radila u klijent-server nainu rada. Na ovaj nain je omogueno da se serveru baze podataka pristupa sa desktop raunara (klijent) preko mrene arhitekture. 1986.godina Distribuirano raunarstvo. Oracle verzija 5.1 ukljuuje novu opciju koja omoguava izvravanje distribuiranih upita, dozvoljavajui da upit pristupa podacima koji su smjeteni na vie razliitih fizikih lokacija. Verzija 5.1 donosi mogunost da se vie raunara vee u klaster koji fiziki ne dijele zajedniku memoriju a pristupaju istoj bazi podataka. Takoer tehnologija klastera e se nastaviti usavravati kroz sljedee generacije Oracle baze podataka to e omoguiti dizajna fleksibilnih aplikacija koje e se usavravati kako se usavrava i poslovanje. 1987.godina Na osnovu klijentskih zahtjeva za poslovnim aplikacijama, Oracle kompanija pokree diviziju za razvoj aplikativnog softvera, u poetku sa samo sedam zaposlenih. U veoma kratkom vremenu, kompanija gradi aplikativni softver koji u sebi integrie usku povezanost sa bazom podataka kako bi unarijedili mogunost procesiranja podataka omoguavajui optimalno izvravanje poslovnih aktivnosti. Kako bi pomogli krajnjim korisnicima pri koritenju Oracle baze podataka i aplikativnog softvera uvodi se servis za podrku korisnicima. 1988.godina Kako su rasle potrebe za uvoenjem raunarskih tehnologija u sve vei broj poslovnih procesa tako su rasli zahtjevi za ubrzanjem rada poslovnih aplikacija kako bi kompanije poveale profit. Na osnovu zahtjeva trita Oracle predstavlja verziju est Oracle baze podataka. Neke od novih mogunosti ove verzije Oracle baze podataka su zakljuavanje na nivou sloga podataka za vrijeme operacije pisanja to je u prethodnim verzijama raeno na nivou itave tabele. Rezultat navedene mogunosti se ogleda u veoj propusnosti u pogledu izvravanja klijentskih zahtjeva kako bi dok se u jedan slog baze podataka piu nove vrijednosti ostale vrijednosti u istoj tabeli su mogli biti koriteni ili za itanje ili za pisanje. U verziji est Oracle baze podataka se uvodi mogunost kreiranja backup-a za vrijeme dok je instanca baze podataka aktivna tj.mogue je izvravati normalne operacije nad bazom podataka.

| 33

1989.godina Oracle predstavlja komercijalne aplikacije za razliku od dosadaanjih koje su koritene na superraunarima za naune i ininjerske zadatke. Traei svoje mjesto na to je vie mogue trita koji se dotiu sa dostignuima IT industrije Oracle predstavlja maloprodajne aplikacije. Ova dekada u istorji Oracle kompanije zavrava se sa rastom kompanije u vie lokacija tako da nastaju nova odjeljenja u Belmont-u i Kaliforniji. 1990.godina Nakon uspjene utrke udvostruavajui prodaju svake godine Oracle se suoava sa upravljakim izazovima i potrebom za voenjem bolje poslovne politike kroz stroiji pristup upravljanju finansijama. Unato izazovima, Oracle isporuuje na trite aplikacije koje dozvoljavaju klijentskim programima da se automatski prilagode razliitim korisnikim interfejsima kao to su Macintoi i radne stanice. Uz navedene aplikacije u opticaju su prve klijent-server aplikacije. Raspadom Sovjetskog Saveza i ruenjem postojeih barijera Oracle formira odjel za Jugoistonu Evropu kako bi usluga bila dostupna korisnicima u Bugarskoj, ehoslovakoj, Maarskoj i Sovjetskom Savezu. 1991.godina Raunarska tehnologija se poinje sve vie proimati kroz sve sfere ljudskog ivota, postaje sve zastupljenija sa velikim stepenom savrenstva zahtjevajui od softvera skalabilnost kako bi se zadovoljio veliki trend rasta poslovanja. Oracle kompanija je na ove potrebe odgovorila sa bazom podataka koja podrava skalabilnost, portabilnost i poveanjem vjerodostojnosti ak i kada se pokree na masivnim sistemima koji vre paralelno procesiranje podataka. Sistemi sa paralelnim procesiranjem podataka mogu vriti pretraivanje velikih baza podataka stotinama puta bre od tradicionalnih superraunara. 1992.godina Nakon etiri godine intenzivnog istraivanja i razvoja i dvije godine testiranja od strane korisnika Oracle se predstavlja na tritu sa bazom podataka verzije sedam. Oracle sedam ukljuuje nove mogunosti poput procedura i trigera to bazu podataka ini programabilnom uz podrku poslovnim pravilima. Oracle baza podataka verzije sedam je doivila veliki uspjeh i podrku za svoju superiornost u odnosu na druge sisteme za upravljanje bazama podataka koje su tada bile prisutne na tritu. 1993.godina Klijent-server revolicija se nastavlja. Kako kompanije sve vie pristupaju klijent-server modelu podrke kritinim poslovnim procesima, Oracle revidira sve svoje aplikacije kako bi podrale klijent-server model rada. Prvi klijent-server model projekta realizovan je kao Oracle Financials za OS/2 operativni sistem 1990.godine. Kako bi bilo mogue da se razvijaju nove generacije aplikacija Oracle je razvio alat koji ini skup integrisanih alata koji pruaju podrku pri razvoju aplikacija, Oracle Cooperative Development Environment (CDE). Oracle kompanija je uloila 177 miliona amerikih dolara u istraivanj