Praktikum Baze SQL

Embed Size (px)

Citation preview

FAKULTET ZA POSLOVNU INFORMATIKU

Prof. dr Mladen Veinovi Igor Franc Aleksandar Jevremovi

BAZE PODATAKA- PRAKTIKUM Prvo izdanje

Beograd 2006.

Autori: Prof. dr Mladen Veinovi Igor Franc Aleksandar Jevremovi Recenzent: Prof. dr Milan Milosavljevi Izdava: UNIVERZITET SINGIDUNUM FAKULTET ZA POSLOVNU INFORMATIKU Za izdavaa: Prof. dr Milovan Stanii Dizajn korica: Aleksandar Mihajlovi Goran Latinovi Godina izdanja: 2006. Tira: 250 primeraka tampa: CICERO-print Beograd

SADRAJ:1. UVOD U BAZE PODATAKA .............................................. - 1 1.1. Uvod .............................................................................................. - 1 1.2. Osnovni koncepti i definicije ...................................................... - 3 1.2.1. Podatak ......................................................................................................... - 5 1.2.2. Informacija.................................................................................................... - 6 1.2.3. Metapodaci - podaci o podacima (metadata) ................................................ - 9 1.2.4. Sistem za upravljanje bazama podataka...................................................... - 10 -

1.3. Klasian sistem zasnovan na datotekama ............................... - 12 1.3.1. Nedostaci sistema zasnovanog na datotekama............................................ - 14 -

1.4. Pristup zasnovan na bazama podataka ................................... - 16 1.4.1. Prednosti pristupa zasnovanog na bazama podataka .................................. - 17 1.4.2. Trokovi i rizici pristupa zasnovanog na bazama podataka ........................ - 19 -

1.5. Primene baza podataka............................................................. - 21 1.5.1. Line baze podataka ................................................................................... - 21 1.5.2. Baze podataka za radne grupe..................................................................... - 22 1.5.3. Baze podataka odeljenja ............................................................................. - 23 1.5.4. Baze podataka organizacija ........................................................................ - 24 1.5.5. Internet, Intranet i Extranet baze podataka ................................................. - 25 -

1.6. Tipino okruenje baze podataka ............................................ - 28 1.7. Istorija razvoja baza podataka................................................. - 30 1.8. Modelovanje ............................................................................... - 35 1.8.1. Razvoj konceptualnih modela ..................................................................... - 36 1.8.2. Entiteti ........................................................................................................ - 37 1.8.3. Veze izmeu entiteta................................................................................... - 38 1.8.4. Troslojna arhitektura baze podataka ........................................................... - 40 -

1.9. Modeli baza podataka ............................................................... - 42 1.9.1. Hijerarhijski model ..................................................................................... - 43 1.9.2. Mreni model .............................................................................................. - 44 1.9.3. Relacioni model .......................................................................................... - 45 1.9.4. Objektni model ........................................................................................... - 50 -

1.10. Transakcije............................................................................... - 52 1.10.1. Osobine transakcija ................................................................................... - 53 -

1.10.2. COMMIT i ROLLBACK ......................................................................... - 54 1.10.3. Konkurentno izvravanje transakcija ........................................................ - 55 -

1.11. Oporavak baze podataka ........................................................ - 56 1.12. Osnovne karaketristike savremenih baza podataka ............ - 56 1.13. Zakljuak ................................................................................. - 59 1.14. Literatura ................................................................................. - 60 -

2. O SQL-U ............................................................................... - 61 3. INSTALACIJA, KONFIGURISANJE I POKRETANJE MYSQL-A ................................................................................ - 63 3.1. Proces isntalacije ....................................................................... - 63 3.2. Konfigurisanje MySQL servera ............................................... - 68 3.3. Pokretanje MySQL-a ................................................................ - 73 -

4. SQL TIPOVI PODATAKA ................................................ - 75 4.1. Numeriki tipovi podataka ....................................................... - 75 4.2. Tipovi podataka vezani za datum i vreme .............................. - 76 4.3. Binarni i tekstualni tipovi podataka ........................................ - 77 4.4. Zahtevi pri skladitenju ............................................................ - 79 4.5. Izbor adekvatnog tipa podataka .............................................. - 80 4.6. Sinhronizacija tipova podataka sa drugim DBMS sistemima..- 81 4.7. Unos razliitih tipova podataka ............................................... - 82 -

5. DDL (DATA DEFINITION LANGUAGE) ........................ - 83 -

5.1. Kreiranje baze podataka .......................................................... - 83 5.2. Kreiranje tebele u bazi podataka ............................................. - 84 5.3. Naredbe za definisanje podataka ............................................. - 87 5.4. Kreiranje indeksa u bazi podataka .......................................... - 88 5.5. Kreiranje virtuelne tabele - "pogleda".................................... - 89 5.6. Izmena definicije tabele ............................................................ - 90 5.7. Izmena pogleda u bazi podataka .............................................. - 92 5.8. Promena imena tabele u bazi podataka................................... - 93 5.9. Brisanje tabele iz baze podataka .............................................. - 94 5.10. Uklanjanje indeksa iz tabele ................................................... - 95 5.11. Uklanjanje baze podataka ...................................................... - 96 -

6. DML (DATA MANIPULATION LANGUAGE) ............. - 97 6.1. Manipulisanja podacima .......................................................... - 97 6.2. Unos podataka ........................................................................... - 98 6.3. Pregled podataka ..................................................................... - 101 6.3.1. Klauzula WHERE ..................................................................................... - 105 6.3.2. Klauzula DISTINCT ................................................................................. - 108 6.3.3. Klauzula LIMIT ........................................................................................ - 109 6.3.4. Klauzule GROUP BY / HAVING ............................................................ - 110 -

6.4. Izmena podataka ..................................................................... - 111 6.5. Uklanjanje podataka ............................................................... - 115 -

7. DCL (DATA CONTROL LANGUAGE) ........................... - 116 7.1. Naredba CREATE USER ....................................................... - 117 -

7.2. Naredba RENAME USER ...................................................... - 118 7.3. Naredba DROP USER ............................................................ - 119 7.4. Naredba SET PASSWORD .................................................... - 120 7.5. Dodela privilegija (GRANT) .................................................. - 121 7.6. Oduzimanje privilegija (REVOKE) ...................................... - 124 7.7. Primena izmena (FLUSH) ...................................................... - 125 -

8. ZADACI ZA VEBU DML .............................................. - 126 9. DODATAK ......................................................................... - 128 9.1. Izrazi i funkcije ........................................................................ - 128 -

10. DB DESINGER 4.0 .......................................................... - 130 -

PREDGOVOROva skripta je namenjena prevashodno studentima tree godine Fakulteta za poslovnu informatiku u Beogradu, mada moe biti vrlo korisna i svima onima koji ele da savladaju sintaksu i tehniku upotrebe SQL jezika za rad sa relacionim bazama podataka. Skripta moe da poslui i kao pomo profesionalcima u svakodnevnom radu sa bazama podataka. U praktikumu su na jednom mestu date teorijske osnove baza podataka, prikazan je MySQL DBMS softver i softver za dizajniranje baza, detaljno je razmatran SQL jezik i na kraju su dati praktini primeri. U skladu sa nastavnim planom i programom predmeta baze podataka, svi primeri u SQL jeziku, koji su dati u praktikumu, mogu se izvriti na MySQL DBMS-u. Mogua su manja odstupanje od sintakse standardnog SQL-a koja ni do danas nije potpuno i precizno definisana. Skripta je podeljena u nekoliko celina. Prvi deo predstavlja teorijski uvod u baze podataka. Drugi deo je uvod u SQL jezik, a u trecem delu prikazuju se i objanjavaju tipovi podataka koje MySQL koristi. U etvrtom delu se obrauju naredbe za definisanje podataka, a u petom delu se obrauju naredbe za manipulaciju podacima, koji je u stvari i najvaniji i najopirniji deo ove skripte. Na kraju su obraene naredbe za kontrolne (upravljake) funkcije. Prvih pet delova su namenjeni svim korisnicima dok je esti deo, dodela i oduzimanje prava korisnicima, specifian i potreban samo administratorima baza podataka. U dodatku su nabrojane i objanjene pojedine funkcije koje mogu biti veoma korisne u radu sa ovim sistemima za upravljanje bazama podataka. Autori su se potrudili da primeri budu to jasniji, izloeni po redosledu i da su povezani, tako da kada se redom unose grade kompletnu bazu podataka koja je potpuno funkcionalna, a uz manje modifikacije se moe primeniti i u praksi. Poto je ovo prvo izdanje praktikuma, svi saveti i eventualne primedbe na tekst su dobrodole. Beograd, oktobar 2006. godine Autori

1. UVOD U BAZE PODATAKA1.1. UvodBaze podataka se koriste za prikupljanje, uvanje i manipulaciju podacima na osnovu kojih se dobijaju nove informacije u razliitim organizacijama, kao to su poslovni sistemi, zdravstvo, kolstvo, vladine institucije itd. Svakodnevno ih koriste pojedinci putem linih raunara, radne grupe putem mrenih servera i svi zaposleni putem aplikacija koje se nalaze u poslovnim sistemima. Bazama podataka takoe pristupaju kupci i drugi udaljeni korisnici korienjem razliitih tehnologija kao to su govorni automati, web itai (browser-i), digitalni telefoni i sl. Zbog velike konkurencije u svim oblastima poslovanja, moe se oekivati da tehnologija baza podataka dobije jo vei znaaj. Menaderi trae nain da iz baze podataka bre dou do novih saznanja kako bi bili u prednosti u odnosu na svoju konkurenciju. Na primer, detaljna baza podataka o prodaji se moe iskoristiti kako bi se saznalo koji kupci kupuju koje proizvode, to se koristi kao osnova za reklamu i marketinku kampanju. Organizacije mogu da ukljue u svoje baze podataka procedure koje se zovu okidai - trigeri (alerts) koji upozoravaju o moguim vanrednim dogaajima (kao to su predstojei nedostatak zaliha neke robe ili ansa za prodaju dodatne koliine robe) i na osnovu kojih mogu nastati odgovarajue reakcije. Mnoge organizacije danas prave posebne baze podataka koje se zovu skladita podataka (data werehouses) koje slue za aplikacije za podrku u odluivanju. Izuavanje baza podataka i sistema za upravljanje bazama podataka jesu osnova za izuavanje informacionih sistema. Strunjak za informacione sisteme mora biti spreman da analizira potrebe preduzea i da dizajnira i implementira baze podataka u okviru razvoja informacionog sistema jedne organizacije. Takoe, mora biti spreman da se konsultuje sa krajnim korisnicima i da im pokae kako se korienjem baza podataka moe imati bolja podrka za odluivanje, ime se stvara prednost nad konkurencijom. iroko rasprostranjeno korienje baza podataka vezanih za Internet sajtove, koji vraaju dinamike informacije korisnicima web sajta, zahteva od projektanta da razume ne samo kako da povee bazu

-1-

podataka sa sajtom ve i kako da je obezbedi tako da se njenom sadraju moe pristupiti ali ne i izmeniti od strane spoljnih korisnika. Postoji puno naina kako se moe definisati baza podataka. U osnovi to je skup podataka koji su organizovani prema potrebama korisnika, koji se odravaju i koji se koriste za dobijanje informacija. Moderne baze podataka se uvaju na raunaru, ali to nije bitno za samu definiciju. Na primer, adrese poznanika i prijatelja, kolekcija filmova na CD-ovima, telefonski imenik itd. su takoe baze podataka (mada ih veina ljudi tako ne zove). Meutim, smetanje baze podataka na raunar omoguava laku i bru obradu podataka i dobijanje eljene informacije. Karakteristian je primer sa telefonskim imenikom koji se nalazi na papiru. Jednostavno je pronai telefonski broj eljene osobe, ali je znatno tee pronai ime osobe na osnovu telefonskog broja. Ako je telefonski imenik vei (vie smetenih podataka) prethodni problem se dodatno uslonjava. Raunarski zasnovane baze podataka omoguavaju jednostavno i brzo dobijanje informacija. Pored osnovnih informacija iz odgovarajue baze podataka se mogu dobiti i posebne informacije. Na primeru telefonskog imenika mogu se izlistati podaci za sve osobe po imenu npr. Marko, mogu se izlistati sve osobe kojima telefonski broj poinje npr. sa 2, osobe kojima se telefonski broj zavrava sa 45 i jo mnogo toga. Na razvoj baza podataka presudno je uticao razvoj raunara, raunarskih mrea, kao i klijent/server obrade. Istraivanje, projektovanje i upotreba baza podataka su vrlo brzo pokazali niz svojih dobrih strana kao to su: smanjeni trokovi odravanja; smanjena potreba za mrenim resursima; poboljan integritet podataka; donoenje ispravnih odluka na osnovu objektivnih informacija, bra reakcija na tritu, itd. Baza podataka smetena u raunaru, predstavljena je nizom bita, organizovanih u bajtove, a sa vie bajtova u odgovarajuem formatu zapisuju se vrednosti pojedinih podataka i predstavljaju jedno polje baze podataka. Niz polja se organizuje u zapise (rekorde) koji imaju znaenje jer mogu da predstavljaju opis nekog objekta iz realnog sveta ili neke veze izmedju objekata realnog sveta. Zapisi istog formata se slau i ine datoteke, koje su fiziki zapisane na disku. Baza podataka obuhvata vie povezanih datoteka i moe biti centralizovana na jednom raunaru ili distribuirana na vie meusobno udaljenih raunara. Pored podataka koji su zapisani u bazi podataka, postoje i posebni podaci kojima se opisuju-2-

pojedinane datoteke, njene osobine, karakteristini parametri iz datoteka, uspostavljene meusobne veze, pravila koja se odnos na pojave koje postoje i u realnom svetu i sl. Takvi podaci se zovu meta-podaci (metadata), tj. podaci o podacima. Koriste se pri pokretanju rada sa bazom podataka, kako bi se mogli uitati svi konfiguracioni podaci odgovarajue baze (self-describing).

Slika 1.1 Baze podataka nekada i danas

1.2. Osnovni koncepti i definicijeBaza podataka se moe definisati kao organizovani skup logiki povezanih podataka. Ona moe biti bilo koje veliine i kompleksnosti. Na primer, prodavac moe da ima malu bazu podataka vezanu za kupce na svom notebook raunaru koja se sastoji od nekoliko megabajta podataka. Preduzee koje zapoljava hiljadu i vie ljudi moe da ima veoma veliku bazu podataka od nekoliko terabajta podataka (jedan terabajt = 1012 bajtova) na mainframe kompjuteru na kome se nalazi aplikacija za podrku odluivanju. Veoma velika skladita podataka imaju vie od petabajta podataka (1 petabajt = 1015 bajtova). U irem smislu, bazu podataka moemo posmatrati kao integrisani skup podataka o nekom sistemu i skup postupaka za njihovo odravanje i korienje, organizovan prema potrebama korisnika. To je dobro struktuirana

-3-

kolekcija podataka, koja postoji jedno odreeno vreme, koja se odrava i koju koristi vie korisnika ili programa.

-4-

1.2.1. PodatakIstorijski, pod terminom podatak se podrazumeva injenica o nekom predmetu i/ili dogaaju koja se moe zabeleiti i sauvati na raunaru. Na primer, u bazi podataka nekog prodavca podaci bi bile injenice kao to su ime, adresa i broj telefona kupca. Ovakav tip podatka se zove struktuirani podatak. Najvaniji struktuirani podaci su brojevi, karakteri i datumi (vreme). Dananje baze podataka pored struktuiranih podataka sadre i druge vrste podataka kao to su razna dokumenta, mape, fotografije, zvuk, ak i video zapise. Na primer, u bazi podataka nekog prodavca mogla bi se nai i slika kupca. Takoe bi se mogao nai zvuni ili video zapis poslednjeg razgovora sa kupcem. Ova vrsta podatka se naziva nestruktuirani podatak ili multimedijalni podatak. Multimedijalni podaci se najee mogu nai na web serverima i u Internet bazama podataka. Danas se podatak definie kao sauvana reprezentacija predmeta i/ili dogaaja koja ima smisla i vanosti za korisnika baze podataka. Ova definicija ukljuuje i struktuirane i nestruktuirane podatke. esto se u okviru jedne baze podataka mogu nai kombinovani struktuirani i nestruktuirani podaci kako bi se stvorilo multimedijalno okruenje. Na primer, automehaniarska radnja moe kombinovati struktuirane podatke (koji opisuju klijenta i njegova kola) sa multimedijalnim podacima (slika automobila i skenirana kopija osiguranja). Pod podatkom se podrazumeva injenica prihvaena kao takva tj. kakva jeste. Podatak sam po sebi nema znaenje, tek kada se interpretira nekom vrstom sistema za obradu podataka poprima znaenje i postaje informacija. Tipino, termin podatak se odnosi na ono to je u bazi podatak. Dakle, podatak je sirova injenica - neobraena informacija. Raunar vri obradu podataka, prema zadatom programu, te se na osnovu saznanja sadranih u podacima, a kao rezultat njihove obrade, stiu nova saznanja - informacije.

-5-

1.2.2. InformacijaTermini podatak i informacija su usko povezani i esto se koriste kao sinonimi. Meutim, korisno je razlikovati termine podatak i informacija. Informaciju definiemo kao podatak koji je bio obraen na takav nain da se znanje osobe koja koristi podatak povealo. Na primer, razmotrimo sledei spisak injenica: Petar Petrovi Marko Markovi 0123 Janko Jankovi 0456 -------------------Slika 1.1 Skup podataka Prikazane injenice po definiciji pretstavljaju podatke, ali bi se veina sloila da su ovi podaci u sadanjoj formi beskorisni. ak iako pretpostavljamo da se radi o imenima osoba i njihovim matinim brojevima, podaci ostaju beskorisni jer ne znamo emu slue. Pogledajte ta se dogaa kada stavimo ove iste podatke u kontekst, kao to je pokazano na slici 1.2. Dodavanjem jo nekoliko dodatnih podataka i njihovim ureivanjem, prepoznajemo spisak upisanih studenata. Na ovaj nain se dolazi do informacije koja je korisna npr. upravi fakulteta, profesorima, studentskoj slubi i sl. Ime i prezime Petar Petrovi Marko Markovi Janko Jankovi ----------JMBG 1506983710325 0211979850123 1112985830456 -----------6-

150698371 0325 021197985 111298583

Smer PP RGD PP RGD

Godina upisa 2002 2001 2001 2003

Slika 1.2 Tabelarni prikaz podataka iz BP - informacija o upisu Drugi nain da se iz podataka dobiju informacije je da se podaci sumiraju ili na neki drugi nain obrade i prezentuju. Na primer, na slici 1.3 se vide sumirani podaci o upisu studenata prezentirani u vidu grafike informacije. Ova informacija se moe iskoristiti kao osnova za odluivanje o dodavanju novih predavanja ili o zapoljavanju novog nastavnog kadra. Moderne baze podataka vrlo esto sadre i podatke i informacije. Podaci se esto obrauju i uvaju u obraenoj formi i slue za pomo pri donoenju odluka, a takvim podacima (informacijama) se najbre pristupa.

-7-

Broj upisanih studenata po kolama

Ostali; 63

Gimnazija; 58 Gimnazija Tehnika kola Ekonomska kola Ostali Tehnika kola; 79

Ekonomska kola; 45

Broj upisanih studenata po godinama300 245

250 198

200

150

125

Broj upisanih studenata

100

76 30

50

0 2001 2002 2003 2004 2005

Slika 1.3 Grafiki prikaz podataka iz BP - informacija o upisu Podaci obraeni tako da dobijaju znaenje ine informaciju. Informacija koja je precizna, relevantna, i dobijena na vreme je klju za donoenje dobre odluke.

-8-

Slika 1.4 Obradom prikupljenih podataka nastaje informacija

1.2.3. Metapodaci - podaci o podacima (metadata)Podaci koji se prikupljaju i uvaju u bazi podataka esto se nazivaju i podaci krajnjih korinika (end user data). Metapodaci su podaci koji opisuju svojstva ili karakteristike podataka krajnjih korisnika i kontekst tih podataka. Neka tipina svojstva podataka su naziv (ime) podatka, definicija, duina (veliina), i dozvoljene vrednosti. Kontekst podataka, koji opisuju metapodaci, podrazumeva izvor podataka, gde se uvaju podaci, vlasnitvo i korienje. Tabela 1.1 Primer metapodatakaNaziv Ime JMBG Smer GdUpisa Tip Text Integer CHAR Number Du. 30 1 3 2001 Min Max Opis Ime i prezime studenta Jedinstven matini broj Smer na fakultetu Godina upisa Izvor Lina karta Lina karta Strudentska sluba Studentska sluba

Metapodaci opisuju svojstva podatka ali se nalaze odvojeno od tog podatka. Metapodaci iz tabele1.1 ne prikazuju ni jedan podatak. Oni omoguavaju dizajnerima i korisnicima baza podataka da razumeju koji-9-

podaci postoje u bazi, ta oni znae, i koja je razlika izmeu podataka koji na prvi pogled izgledaju isto. Upravljanje metapodacima je veoma bitno jer podaci bez jasnog znaenja mogu biti zbunjujui, pogreno protumaeni ili puni greaka.

1.2.4. Sistem za upravljanje bazama podatakaSistem za upravljanje bazama podataka (DBMS - Data Base Management System) je softverski sistem koji se koristi za kreiranje, odravanje i manipulisanje podacima, kao i za kontrolu prava pristupa bazi podataka. DBMS omoguava krajnjim korisnicima i programerima da dele podatke, tj. omoguava da se podaci koriste od strane vie aplikacija, a ne da svaka aplikacija ima svoju kopiju podatka sauvanu u posebnim datotekama. DBMS takoe prua mogunost kontrole pristupa podacima, osigurava integritet podataka, uspostavlja kontrolu konkurentnosti i vri oporavak baze podataka. Programeri aplikacija za rad sa bazama podataka ne moraju da poznaju detalje o nainu zapisa baze podataka na disku, ne moraju da formuliu algoritme za efikasan pristup podacima, niti su optereeni bilo kakvim aspektima oko upravljanja podacima u bazi podataka. Danas je veoma bitan i znaajan koncept baze podataka po kome je to, u stvari, zajedniki resurs koga istovremeno (konkurentno) koristi vei broj programa, jer se pravi efekti baze podataka ispoljavaju kada se radi u mrenom okruenju. Posmatrajmo bazu podataka jedne banke u kojoj se nalaze rauni graana. Mogue je da se u istom trenutku na alteru u jednoj ekspozituri podie novac sa jednog rauna i uplauje na drugi raun, a da se istovremeno u sasvim drugoj ekspozituri uplauje novac na isti taj raun. Pomenuti DBMS je upravo tu da upravlja konkurentnim radom vie korisnika i da obezbeuje sinhronizaciju njihovog rada. Takoe, DBMS ima funkciju da sprei tetne posledice (naruen integritet baze, nekonzistentno stanje baze...) pri promenama (transakcijama) koje se vre nad bazom podataka u viekorisnikom okruenju. U tu svrhu postoje razne tehnike kao to su tehnika zakljuavanja podataka, tehnika vremenskog markiranja itd. Posebno je znaajno upravljanje istovremenim (konkurentnim) transakcijama. Tanost, zatita i dostupnost baza podataka, kao i korektnost i performanse transakcija koje pristupaja tim bazama su bitni parametri za- 10 -

uspeh svakog poslovnog sistema.Termini baza podataka i upravljanje bazom podataka se ponekad meaju. Struno govorei, baza podataka je uvek skup injenica, a ne raunarski program. DBMS je uveden kao interfejs izmeu korisnika (korisnikih programa, aplikacija) i zapisa baze podataka na disku. Korisniki programi ne pristupaju podacima direktno, ve komuniciraju sa ovim softverom (programom). DBMS upravlja strukturom baze podataka: definie objekte baze, njihova svojstva (atribute), dozvoljene vrednosti atributa, veze izmeu objekata, ogranienja nad objektima i meusobnim vezama. Omoguava manipulaciju podacima u bazi: unoenje, brisanje i izmene, tj. omoguava njeno odravanje. Kontrolie pristup podacima: ko moe da pristupi podacima, kojim podacima i ta moe sa njima da radi.. DBMS dozvoljava deljenje BP izmeu vie aplikacija/korisnika i ini upravljanje podacima uspenijim i delotvornijim Uobiajeno je da kada se govori o softveru za baze podataka, onda se misli upravo na DBMS. DBMS upravlja interakcijom izmeu krajnjih korisnika (aplikacija) i baze podataka. Krajnji korisnici imaju bolji pristup veem broju bolje organizovanih podatakaAplikacija Y Aplikacija X Aplikacija Z

Data Base Management System

Baza podataka Baza podataka podaci na disku

Slika 1.5 DBMS je interfejs izmeu (aplikacija) korisnika i zapisa baze podataka na disku

- 11 -

1.3. Klasian sistem zasnovan na datotekamaKada su se raunari poeli koristiti za obradu podataka, nisu postojale baze podataka. Raunari su u to vreme bili znatno slabiji nego dananji personalni raunari, zauzimali su itavu prostoriju i koristili su se skoro iskljuivo za nauna izraunavanja. Postepeno su raunari uvoeni u poslovni svet. Da bi bili od koristi za poslovne aplikacije, raunari moraju da skladite, manipuliu, i preuzimaju velike datoteke podataka. Kako su poslovne aplikacije postajale sve kompleksnije, postalo je oigledno da klasini sistemi zasnovani na datotekama imaju veliki broj nedostataka i ogranienja. U veini bitnih poslovnih aplikacija danas se umesto klasinog sistema zasnovanog na datotekama koriste baze podataka. Klasian sistem obrade podataka zasnovan na datotekama i programskim jezicima prikazan je blok emom na sledeoj slici. Programi su direktno povezani sa datotekama, svaki program mora da poznaje detaljan zapis podataka na disku .Aplikacija Y Aplikacija X Aplikacija Z

Datoteka X1 Datoteka X2 Datoteka X3

Datoteka Y4 Datoteka Y5 Datoteke podaci na disku

Datoteka Z1 Datoteka Z2 Datoteka Z3

Slika 1.6 Klasian sistem obrade podataka zasnovan na programskim jezicima i datotekama Da bi objasnili osnovne karakteristike sistema zasnovanog na datotekama, posmatrajmo jednu fabriku sa odreenim proizvodnim programom. Pretpostavimo da su nabavljene raunarske aplikacije za- 12 -

voenje poslovanja ove fabrike realizovane na klasinim sistemima koji se zasnivaju na datotekama. Ovaj pristup dizajnu informacionog sistema se fokusira na potrebe za obradom podataka pojedinanih odeljenja, a ne na potrebe organizacije kao celine. Kada bi se kod korisnika javila potreba za novim sistemima pisali bi se novi raunarski programi za individualne aplikacije kao to su kontrola proizvoda, prijem rauna, ili kadrovski poslovi. Svaki od programa pravi se tako da odgovara potrebama odreenog odeljenja ili radne grupe. Prema tome, ne postoji opti plan, mapa ili model kojim bi se rukovodili za planiranje razvoja sistema. Tri raunarske aplikacije (A, B i C) pomou kojih se obrauju podaci zapisani u datotekama su prikazane na slici 1.7. Programima se odravaju tri nezavisna sistema porudbine, naplate i plate. Na slici se takoe vide osnovne datoteke vezane za svaku aplikaciju. Na primer, proces porudbina ima tri datoteke: podaci o kupcu, podaci o proizvodima, podaci o porudbinama. Neke od datoteka se ponavljaju u sva tri procesa (redudansa) to je tipino za sistem obrade podataka koji se zasniva na datotekama.

Slika 1.7 Klasina obrada podataka zasnovana na sistemu datoteka

- 13 -

1.3.1. Nedostaci sistema zasnovanog na datotekamaPostoji vie mana koje su tipine za sistem koji je zasnovan na datotekama i klasinim programskim jezicima. Ove mane za primer prikazan na slici 1.7 kratko su opisane u nastavku. Zavisnost izmeu programa i podataka Opisi datoteka se uvaju u okviru svakog programa koji pristupa toj datoteci. Na primer, u procesu porudbine sa slike 1.7 program A pristupa datoteci sa podacima o kupcu. Stoga, ovaj program sadri detaljan opis datoteke. Kao posledica ovoga, svaka promena koja se napravi u datoteci, a odnosi se na strukturu, momentalno podrazumeva da se mora menjati i opis datoteka u svakom programu koji pristupa tim podacima. Primetite na slici 1.7 da se podaci o kupcima nalaze i u procesu porudbine i u procesu naplate. Pretpostavimo da se veliina polja "adresa kupca" menja sa 20 karaktera na 30 karaktera. Opis datoteke u svakom programu (moda ak u svih tri) se mora aurirati. esto je teko i samo lociranje svih programa na koje je uticala ovakva promena. to je jo gore, pri auriranju se esto prave greke. Redudansa podataka Kako se u prikazanom sistemu procesi odvijaju nezavisno jedni od drugih, ponavljanje podataka nije izuzetak ve je pravilo. Na primer, na slici 1.7 proces porudbina ima datoteke sa osnovnim podacima o proizvodima dok proces naplate ima datoteku o cenama proizvoda. Dakle, obe ove datoteke sadre podatke o istim proizvodima kao to su: cena po jedinici proizvoda, opis proizvoda, i koliina u skladitu. Zbog nepotrebnih duplikata potreban je vei prostor za njihovo uvanje kao i vie truda i rada pri njihovom auriranju. Neplanirana redudansa podataka moe da dovede do gubitka podataka. Na primer, isti podaci mogu se voditi pod razliitim imenima atributa u razliitim dokumentima, ili obrnuto, isto ime se moe koristiti za razliite vrste podataka.

- 14 -

Ogranienost deljenja podataka Korienjem klasinog sistema zasnovanog na datotekama, svaki proces ima svoje datoteke i korisnici nemaju ansu da meusobno dele podatke sa korisnicima iz drugih procesa. Na slici 1.7 se vidi da radnici u raunovodstvu imaju pristup samo procesu naplate, dok nemaju pristup procesima porudbina i plata. Menaderi su imali velike probleme pri sastavljenju izvetaja za koje su im bili potrebni podaci iz razliitih procesa, jer bi se esto desilo da su dokumenta nekompatibilna i da je potrebno dosta programiranja kako bi se svi ti podaci sakupili u jedan izvetaj. Takoe, dodatni problem je bio u tome to su se eljeni podaci esto nalazili u razliitim odeljenjima organizacije. Dugo vreme za razvoj Sa klasinim sistemom zasnovanom na datotekama postoji mala ansa za korienje prethodnih razvojnih dostigua. Svaka nova aplikacija zahteva od projektanta da krene od nule. Svaki put je neophodno definisati nove formate i opise podataka i pisati kod za pristup podacima za svaki program. Ovako veliko potrebno vreme za razvoj nije u skladu sa dananjim poslovnim potrebama, gde je svaki minut bitan da bi se postigao uspeh. Teko odravanje programa Skup svih prethodno navedenih nedostataka dovodi do preterane potrebe za odravanjem programa. ak 80% budeta predvienog za razvoj sistema zasnovanog na datotekama odlazi na njegovo odravanje. Zbog toga, naravno, ostaje jako malo prostora za razvoj novih aplikacija.

Vano je znati da veina mana klasinog sitema zasnovanog na datotekama, koje smo u prethodnom delu teksta pominjali, mogu isto tako biti ogranienja za bazu podataka, pogotovo ako se ne promeni pristup razvoju baze podataka. Na primer, ukoliko preduzee razvije nekoliko zasebnih baza podataka (recimo, za svaku radnu jedinicu ili proces po jednu bazu) sa malom ili nikakvom vezom izmeu njih, onda moe doi do bespotrebnog ponavljanja istih podataka, ogranienja deljenja podataka, produavanja vremena potrebnog za razvoj i preterane potrebe za odravanjem programa.- 15 -

1.4. Pristup zasnovan na bazama podatakaPristup zasnovan na bazama podataka potencira integraciju i deljenje podataka izmeu svih odeljenja jedne organizacije. Ovaj pristup zahteva potpunu promenu u nainu razmiljanja, poevi od najvieg nivoa upravljanja. Takva promena naina razmiljanja za veinu organizacija je veoma teka. Da bi objasnili pristup zasnovan na bazama podataka posmatrajmo prethodno razmatrani zastareli informacioni sistem fabrike koji se klasino zasnivao na datotekama. Koncept pristupa razvoju informacionog sistema zasnovanog na bazama podataka prikazan je na slici 1.8. Odmah se moe uoiti da podaci koji su prethodno uvani u vie razliitih datoteka, sada su integrisani u jedinstvenu bazu podataka. Takoe, metapodaci koji opisuju ove podatke se nalaze zajedno sa njima u bazi podataka. Sistem za upravljanje bazama podataka prua mogunost stvaranja razliitih pogleda na istu bazu podataka (ili baze podataka) za razliite korisnike u organizaciji. DBMS dozvoljava korisnicima da dele, pretrauju, pristupaju i auriraju integrisanim podacima.

Slika 1.8 Blok ema informacionog sistema zasnovanog na bazama podataka

- 16 -

1.4.1. Prednosti pristupa zasnovanog na bazama podatakaPristup zasnovan na bazama podataka ima mnogo potencionalnih prednosti u odnosu na pristup zasnovan na datotekama. Te potencionalne prednosti su sledee: Nezavisnost izmeu programa i podataka Odvajanje metapodataka od aplikacija koje koriste podatke naziva se nezavisnost podataka. Ova osobina kod baza podataka dozvoljava promenu i prenos podataka organizacije na druge raunarske sisteme bez potrebe za promenom programa koji obrauje ove podatke. Minimalna redudansa podataka Cilj pristupa zasnovanog na bazama podataka je da se podaci koji su se u prethodnom pristupu uvali odvojeno (i vie puta su zbog toga ponavljani) sada integriu u jedinstvenu logiku strukturu. Svaki podatak se nalazi samo na jednom mestu u bazi podataka. Pristup zasnovan na bazama podataka ne uklanja redudansu u potpunosti, ali omoguava projektantu baze podataka da paljivo isplanira vrstu i koliinu redudanse. U nekim sluajevima je poeljno napraviti ogranienu redudansu kako bi se performanse baze podataka poboljale (npr. bra pretraga). Poboljana konzistentnost podataka Eliminisanjem (ili kontrolisanjem) redudanse podataka, u velikoj meri se smanjuju anse za nekonzistentnou podataka. Na primer, ukoliko je adresa kupca zapisana na samo jednom mestu ne moe da postoji ne podudaranje u podacima u bazi podataka. Takoe, auriranje podataka je u velikoj meri uproeno, kada je svaka vrednost zapisana na samo jednom mestu. Na kraju, uklanjanjem redudanse podataka dolazi do utede memorije.

- 17 -

Poboljana razmena podataka Baza podataka je dizajnirana kao resus organizacije koji koriste svi njeni zaposleni (kojima je ona neophodna u opisu posla). Odreenim internim i eksternim korisnicima je dozvoljeno korienje baze podataka, i svaki od njih (bio u pitanju jedan korisnik ili grupa) ima jedan ili vie pogleda koji mu olakavaju korienje baze podataka. Korisniki pogled je logiki opis jednog dela baze podataka koji je neophodan korisniku da obavi neki zadatak. Poveana produktivnost u razvoju aplikacija Velika prednost pristupa zasnovanog na bazama podataka je ta to se u znatnoj meri smanjuju trokovi i vreme potrebno za razvoj novih poslovnih aplikacija. Postoje dva vana razloga zato se aplikacije baza podataka razvijaju znatno bre nego kod klasinih sistema sa datotekama: 1. Pretpostavljajui da su baza podataka i sve propratne aplikacije ve napravljene i implementirane, programer se moe koncetrisati na odreenu funkciju koja je neophodna za novu aplikaciju, a ne mora da razmilja o definisanju podataka ili o detaljima vezanim za implementaciju. 2. DBMS prua veliki broj alata za izvetavanje, kao to su generatori formi i izvetaja, i jezike uz pomo kojih se automatizuju neke od aktivnosti kao to su dizajn i implementacija baza podataka.

Smanjena potreba za odravanjem programa Sauvani podaci se moraju esto menjati iz velikog broja razloga: nove vrste podataka se dodaju, formati podataka se menjaju, i tako dalje. Poznat primer ovoga problema je ulazak u 2000-tu godinu, kada se sa uobiajenog sistema prikazivanja godina sa dve cifre moralo prei na etiri cifre. U sistemu obrade datoteka, metapodaci i logika pristupanju podacima se nalaze u individualnim aplikacionim programima (ovo je zavisnost izmeu programa i podataka o kojoj je ranije bilo rei). Kao rezultat ovoga, promena formata podataka i metoda pristupanja momentalno dovodi do potrebe menjanja aplikativnih programa.- 18 -

Kod baza podataka, podaci su znatno vie nezavisni od aplikativnih programa koji ih koriste. U okviru odreenih granica, moemo da promenimo jednu od stavki, format podataka ili aplikativni program, a da ne moramo da promenimo drugu stavku. Kao rezultat ovoga, javlja se smanjenje potreba za odravanjem programa.

1.4.2. Trokovi i rizici pristupa zasnovanog na bazama podatakaU prethodnom delu teksta navedeno je nekoliko glavnih potencijalnih prednosti pristupa zasnovanog na bazama podataka. Meutim, kod velikog broja organizacija bilo je razliitih problema kod ostvarenja i iskorienja tih prednosti. Na primer, postizanje nezavisnosti podataka (i stoga, smanjene potrebe za odravanjem programa) se pokazalo kao teko ostvarivo zbog ogranienja starijih modela baza podataka i softvera za upravljanje bazama podataka. Na sreu, relacioni modeli (kao i noviji objektno-orjentisani modeli) nemaju ovih problema. Drugi razlog za neuspeh da se iskoriste ove prednosti, je loe planiranje i implementacija baza podataka ak ni najbolji softver za upravljanje bazama podataka ne moe da prevazie ovakve manjkavosti. Pristup zasnovan na bazama podataka sadri neke dodatne trokove i rizike koji se moraju reavati kada se sistem pone primenjivati. Novo, obueno osoblje esto se deava da preduzee, koje se odlui za pristup zasnovan na bazama podataka, mora da anagauje ili obui ljude za projektovanje, implementiranje i odravanje baza podataka, kao i da te ljude ukljui u postojeu radnu organizaciju. Dalje, zbog estih izmena i brzine razvoja tehnologije, znanje ovog novog osoblja zahteva stalnu nadgradnju i unapreivanje. Jedino obueno osoblje moe da izvue maksimum korisnosti iz novih tehnologija.

- 19 -

Trokovi i sloenost instaliranja, upravljanja i rada sistema sa bazama podataka Viekorisniki sistem za upravljanje bazama podataka je veliki i sloen softver koji u startu mnogo kota, zahteva obueno osoblje za instaliranje i rad i ima znaajne godinje trokove za odravanje i tehniku podrku. Instaliranje ovakvog sistema moe zahtevati nadogradnju hardvera. Stalne obuke se podrazumevaju, da bi se mogle pratiti nove verzije i nadogradnje softvera. Takoe se moe pojaviti potreba za dodatnim i skupljim softverom za baze podataka radi vee sigurnosti podataka. Trokovi prilagoavanja (konvertovanja) podataka Termin nasleeni sistemi se uglavnom koristi kada se govori o starijim aplikacijama u preduzeu koje su bazirane na datotenom pristupu ili starijim bazama podataka. Trokovi prilagoavanja ovakvih starijih sistema za rad sa modernim bazama podataka (mereni u novcu, vremenu i zahtevnosti posla) esto deluju kao velika prepreka za preduzee. Potreba za izradom sigurnosnih kopija i oporavkom podataka (backup) Deljena baza podataka preduzea uvek mora biti tana i dostupna. To zahteva razvijanje i korienje jasnih procedura izrade sigurnosnih kopija kao i oporavak baze podataka kada neko oteenje nastane. U dananjem okruenju, gde postoje raznovrsni bezbednosni rizici, reavanje ovog problema je od izuzetne vanosti. Moderan sistem za upravljanje bazama podataka obino sam obavlja izradu sigurnosnih kopija i oporavak podataka u sluaju havarija. Konflikti u organizaciji Deljena baza podataka zahteva saglasnost u vezi sa definicijama i vlasnitvom podataka, kao i utvrenu osobu ili osobe odgovorne za odravanje podataka. Iskustvo je pokazalo da nesuglasice u pogledu definicija podataka, formata i kodiranja podataka, prava na auriranje deljenih podataka i sl. su esta i vrlo teka tema za reavanje. Da bi se ovi problemi reili potrebno je da je organizacija u potpunosti posveena uvoenju/koritenju pristupa zasnovanog na bazama podataka. Zatim je potreban sposoban administrator baze podataka kao i smislen pristup razvoju baza- 20 -

podataka. Ukoliko podrka i posveenost glavnih menadera za pristup okrenut bazama podataka izostane, velika je ansa da e krajnji korisnici razviti vei broj samostalnih baza podataka. Ove baze podataka e teko pruiti prednosti koje smo prethodno opisali. U krajnosti, one mogu da dovedu do donoenja loih odluka to naravno ugroava celu organizaciju.

1.5. Primene baza podatakaVrste baza podataka variraju od onih pravljenih za jednog korisnika PC raunara do baza koje su smetene na glavni raunar (mainframe) i kojima pristupaju hiljade korisnika. Po broju korisnika koji im pristupaju, baze podataka se mogu podeliti u vie kategorija: line baze podataka, baze podataka za radne grupe, baze podataka odeljenja, baze podataka preduzea i Internet, intranet i ekstranet baze podataka.

1.5.1. Line baze podatakaLine baze podataka se prave za korienje od strane jednog korisnika i ve su dugo prisutne u korienju personalnih raunara. Pojavom linih digitalnih pomonika (PDA), line baze podataka su nale primenu i u nizu mobilnih ureaja koji osim raunarskih imaju i neke druge primene npr. mobilni telefoni, faks maine, Internet itai. Jednostavne aplikacije sa bazom podataka u kojoj uvaju informacije i detalje o komunikaciji sa svakim klijentom, mogu da se koriste i sa raunara i sa linog digitalnog pomonika, kao i da se prebacuju sa jednog na drugi ureaj radi izrade sigurnosnih kopija (backup) ili zbog zahteva posla. Uzmimo za primer preduzee koje ima odreeni broj prodavaca koji su u kontaktu sa postojeim i potencijalnim klijentima. Ako svaki prodavac ima jo neke aplikacije, npr. grafike prezentacije, cenovnik sa uslovima prodaje po kojem klijentu moe ponuditi najpovoljniju kombinaciju proizvoda i koliina za naruivanje, onda bi mu za takav posao prenosni raunar, zbog svojih performansi i skladinog prostora, mogao biti optimalno reenje. S druge strane, ako prodavac ima samo listu klijenata i kontakata, njemu bi lini digitalni pomonik i aplikacija koja koristi malu bazu podataka bili najbolje reenje.

- 21 -

Line baze podataka se iroko primenjuju jer esto mogu bitno unaprediti produktivnost pojedinca. Meutim, one sadre jedan faktor rizika: podatke ovih baza nije lako deliti sa drugim korisnicima. Na primer, ako bi menader prodaje eleo celokupan spisak klijenata i kontakata, to se ne bi moglo ni brzo ni lako uraditi uzimanjem podataka iz linih baza svakog od prodavaca. Ovo ilustruje veoma est problem: ako su neki podaci od interesa jednom oveku, onda su verovatno (ili e brzo postati) od interesa i drugim ljudima. Zbog toga, line baze podataka bi trebalo svesti na korienje pod posebnim okolnostima (npr. u veoma malim preduzeima) gde je verovatnoa potreba za deljenjem podataka izmeu korisnika izuzetno mala.

1.5.2. Baze podataka za radne grupeRadnu grupu ini relativno mali broj ljudi koji sarauju na jednom projektu ili aplikaciji ili na grupi slinih projekata ili aplikacija. Radna grupa obino sadri desetak ljudi. Oni mogu biti ukljueni u npr. planiranje, projektovanje ili razvoj novog raunarskog programa. Baza podataka za radne grupe slui za podrku zajednikog rada jedne takve grupe. Uzmimo za primer, radnu grupu koja pravi i standardne i programe po porudbini, koji se prodaju softverskim kompanijama kao i krajnjim korisnicima. Obino, jedna ili vie osoba rade na datom programu, ili dele programe, u isto vreme. Grupi je potrebna baza podataka koja e da prati razvoj svakog dela i koja e da omogui da se podaci to lake razmenjuju meu lanovima tima. Svaki lan radne grupe ima svoj raunar, a raunari su umreeni putem LAN-a. Baza podataka se nalazi na centralnom raunaru koji se zove server baze podataka, koji je takoe na mrei. Stoga, svaki lan grupe ima pristup podacima. Razliiti lanovi grupe (u zavisnoti da li je u pitanju rukovodilac projekta ili projektant, programer) mogu imati razliita ovlaenja (privilegije), a time i razliite poglede na podatke. Primetiete da je glavna mana linih baza podataka, teko ostvariva razmena podataka, ovde prevaziena (barem je razmena podataka u okviru grupe lako ostvariva). Meutim, razmena podataka otvara nova pitanja i probleme koji nisu postojali kod linih baza podataka. Glavni problemi upravljanja podacima su vezani za njihovu bezbednost i integritet, s obzirom da vie korisnika moe istovremeno da obavlja auriranje podataka.- 22 -

1.5.3. Baze podataka odeljenjaOdeljenje je funkcionalna radna jedinica u okviru organizacije. Tipini primeri odeljenja su: kadrovsko, marketing, proizvodnja, raunovodstvo i sl. Odeljenje je obino vee od radne grupe (nekada se sastoji i do 100 osoba) i odgovorno je za vei broj razliitih poslova. Baze podataka odeljenja su napravljene da podre razliite oblike poslova i aktivnosti koje obavlja to odeljenje. Uzmimo za primer bazu podataka kadrovskog odeljenja u kojoj se prate podaci vezani za zaposlene, vrste poslova, strunu spremu i poslovna zaduenja. Kada su svi relevantni podaci sauvani u bazi podataka, korisnici mogu da pretrauju bazu podataka u cilju dobijanja odgovora na pitanja kao to su sledea: Za odreenu vrstu zanimanja (npr programer) kakve prilike za zaposlenje trenutno postoje u organizaciji? Za tu istu vrstu posla koja struna sprema ili vetina je neophodna? Koje vetine, znanje poseduje odreeni radnik? I obrnuto, koji radnici poseduju odreenu vetinu, znanje? Koji sve radnici su obavljali odreeni posao u organizaciji? I obrnuto, koje sve poslove je odreeni radnik obavljao u organizaciji? Koje sve zaposlene nadgleda odreeni menader? Tipina pitanja na koja se treba odgovoriti pri pravljenju baze podataka odeljenja su: 1. Kako baza podataka i njeno okruenje trebaju da budu organizovani da bi se ostvarile zadovoljavajue performanse, uzimajui u obzir veliki broj korisnika i veliki broj transakcija? 2. Kako na odgovarajui nain obezbediti podatke od nedozvoljenog pristupa i/ili distribucije? 3. Koje alate za razvoj baze podataka i aplikacija treba koristiti u sluaju ovako kompleksnog okruenja? 4. Da li i druga odeljenja koriste iste vrste podataka, i ako je to sluaj, kako se najbolje moe upravljati podacima po pitanju njihove redudantnosti i konzistentnosti i metapodacima po pitanju njihove konzistentnosti? 5. Da li su korisnici baze podataka geografski jedni od drugih udaljeni ili je veliina baze podataka tolika da se podaci moraju- 23 -

uvati na vie raunara, tako stvarajui distribuirane baze podataka? 6. Da li se bazi podataka moe pristupati preko Interneta i da li ona treba da bude ukljuena u intranet organizacije?

1.5.4. Baze podataka organizacijaBaza podataka organizacije obuhvata itavu organizaciju ili vie njenih odeljenja. Ova vrsta baza podataka je namenjena da podri sve procese organizacije i proces donoenja odluka. Vano je istai da jedna organizacija moe imati vie baza podataka, tako da jedna takva baza podataka ne sadri sve podatke jedne organizacije. Jedna baza podataka za celu organizaciju srednjih do velikih dimenzija ne bi bila praktina iz mnogo razloga. Kao prvo zbog razliitih potreba razliitih korisnika, kompleksnosti stvaranja jedinstvenih metapodataka za sve korisnike baze podataka je ogromna. Baza podataka organizacije prua podrku za jedan odreeni broj (skup) odeljenja. Tokom poslednje decenije, razvoj baza podataka organizacije je doveo do dva najvanija oblika: 1. Enterprise resource planning (ERP) sistem 2. Implementacija skladita podataka (data werehouses) ERP sistemi rade sa tekuim podacima organizacije, dok skladita podataka sakupljaju podatke iz raznih operativnih baza podataka, ukljuujui i line, radnih grupa, odeljenja i ERP baze podataka. Skladita podataka pruaju mogunost korisnicima da rade sa prethodnim podacima kako bi pronali obrazce i trendove dogaaja i kako bi odgovorili na pitanja koja su vezana za strategiju poslovanja. Uzmimo za primer veliku zdravstvenu organizaciju koja upravlja grupom medicinskih centara, u ta spadaju domovi zdravlja, bolnice, klinike i staraki domovi. Svaki od ovih medicinskih centara ima svoju bazu podataka (ili baze podataka) koja prua podrku u obavljanju raznih poslova. Ove baze podataka imaju podatke o pacijentima, doktorima, medicinskim uslugama, poslovanju i drugim bitnim entitetima. Baza podataka prua adekvatnu podrku za veinu poslova u svakom pojedinanom medicinskom centru. Meutim, postoji potreba za- 24 -

jedinstvenim pogledom na celu organizaciju; na primer, da bi se videla sva poslovanja sa jednim dobavljaem ili pacijentom. Povaanje produktivnosi se moe postii uvoenjem, na primer, centralnog sistema za naruivanje materijala za sve zdravstvene centre i raporeivanjem osoblja i usluga koje vre na sve zdravstvenim centre. ERP sistem omoguava uvoenje prethodnih promena. Donoenje odluka na nivou cele organizacije, u vezi sa poslovanjem sa dobavljaima, i podnoenje izvetaja raznim agencijama zahteva sakupljene svih prethodnih podataka i informacija. Da bi se zadovoljile ove potrebe, organizacija koristi skladite podataka koje se odrava i nalazi u seditu organizacije. Podaci koji se nalaze u skladitu podataka su preuzeti (i potom sumirani) iz pojedinanih baza podataka svakog medicinskog centra. Ovaj proces preuzimanja podataka se odvija periodino putem telekomunikacionoraunarske mree.

1.5.5. Internet, Intranet i Extranet baze podatakaInternet tehnologije slue za olakavanje deljenja podataka i informacija. Na primer, u okviru fabrike moe se koristiti lokalna mrea (LAN) koja povezuje radne stanice zaposlenih iz raznih odeljenja sa serverom na kome se nalazi baza podataka. LAN unapreuje komunikaciju i proces donoenja odluka u okviru same kompanije. Ako se uvede Intranet koji se zasniva na Web tehnologiji, njemu se moe pristupati samo u okvirima kompanije. Radna stanica svakog zaposlenog se moe koristiti kao web browser, i na taj nain se dobija brz pristup informacijama kompanije, ukljuujui i telefonski adresar, specifikacije proizvoda, elektronsku potu i tome slino. Takoe se radne stanice mogu koristiti i kao personalni raunari koji povezani preko LAN-a pristupaju serveru na kome se nalazi baza podataka. Mogue je dodati i Web interfejse nekim poslovnim aplikacijama, kao to su unoenje porudbina, da bi na taj nain vie internih poslovnih aktivnosti moglo biti obavljano od strane zaposlenih preko intraneta. U cilu efikasnijeg ukupnog poslovanja intranet sistem se moe otvoriti ka kupcima preko Interneta. Ovo omoguava maloprodajama da pretrauju katalog proizvoda (ukljuujui slike i specifikacije proizvoda) i utvrde da li eljenog proizvoda ima u skladitu. Tada radnici u maloprodajnim objektima mogu da obaveste svoje kupce i da porue eljeni komad- 25 -

proizvoda preko Interneta. Internet konekcija je konfigurisana kao extranet to znai da samo odobrene maloprodaje mogu da pristupe intranet-u fabrike. Sve vee korienje Interneta, svetske mree koja povezuje korisnike, nebitno koje platforme je dovelo i do promena u okruenju baza podataka. Prihvatanje Interneta od strane poslovnog sveta je dovelo do bitnih promena u davno utvrenim modelima poslovanja. Veoma uspene kompanije su bile ugroene zbog novih kompanija koje su prihvatile Internet pomou koga su unapredile informisanje i usluge koje su pruale svojim klijentima, i koje su zaobile tipine tokove marketinga i distribucije proizvoda. Na primer, kupci konfiguriu i poruuju svoj PC raunar direktno od proizvoaa raunara. Informacije o upranjenim mestima i aktivnostima organizacije se mogu dobiti preko Interneta za veinu organizacija. Svaka od ovih radnji zahteva podrku baze podataka. Lak pristup Internetu svih vrsta platformi omoguava kompanijama da reorganizuju svoje poslove i razviju bre aplikacije i to po manjim trokovima. Standardni interfejsi omoguavaju veu produktivnost korisnika, uz manje provedenog vremena na obuci, i manju potrebnu podrku. Osnova razvoja korisnikove aplikacije je prikljuivanje baze podataka iz koje se mogu dobiti svee informacije. Kada je baza podataka povezana sa nekom Internet lokacijom, korisnici preko Web browser-a mogu da postavljaju odreena pitanja na koja e dobiti odgovore bazirane na sveim informacijama. Odgovaranje na pitanja je automatsko; nema potrebe da se putem telefona prolazi kroz niz opcija da bi se postavilo pitanje nekoj osobi i da bi se zatim od nje ekao odgovor. Internet baze podataka su nezamenljive u razvoju sajtova za kupovinu preko Interneta. Kompanije prate sva deavanja na sajtu kako bi doli do to vie informacija o svojim klijentima (obrazci pri kupovini, navigacija sajtom, duina zadravanja na svakoj stranici i tome slino) kako bi to vie unapredili svoj odnos prema kupcima. Veina primera koji su navedeni prikazuju Business-to-Customer (B2C) veze. Kada su kupci kod nekih firmi druge firme, takav odnos se obino naziva B2B (Business-to-Business) odnos. Internet se koristi da olaka B2C odnos, zato to su kupci obavezno spoljni faktor u odnosu na firmu, i mogunost kupca da pristupi poslovnim podacima i informacijama je od velike vanosti za uspean odnos. Dozvoljavanjem pristupa poslovnim- 26 -

bazama podataka, od strane osoba koje nisu deo organizacije, javljaju se nova pitanja za rukovoenje informacionim sistemima vezana za sigurnost i integritet podataka. Kompanije su godinama vrile razmenu informacija putem elektronske razmene podataka (EDI- eletronic data interchange). Mnoge kompanije i dalje koriste EDI sistem za obavljanje B2B poslovanja. Neke kompanije, uglavnom nove ili one koje nisu imale EDI sistem, koriste extranet za obavljanje B2B razmena podataka i informacija. Extranet koristi Internet tehnologiju, meutim, pristup extranetu je, za razliku od Interneta kome mogu svi pristupiti, ogranien. Ustvari, pristup je ogranien na kompanije koje su u ulozi dobavljaa i kupca i koje imaju meusobni dogovor o pristupu podacima i informacijama jednih drugima. Obino, prethodno pomenuti akteri imaju pristup delu intranet-a drugog aktera. Ovaj nain pristupa olakava poslovne odnose tako to prua bri i efikasniji nain obrade i pristupanja podacima. Kao to je prethodno pomenuto mnoge organizacije su koristile Internet tehnologiju za stvaranje privatne mree namenjene za upravljanje informacijama u okviru organizacije. Po izgledu ne postoji razlika izmeu intranet i Internet stranica, ali pristup intranet stranici je ogranien samo na korisnike u okviru te organizacije. Stoga je i pristup bazi podataka organizacije ogranien. Intranet moe da ostvari Internet konekciju ali ta konekcija e biti zatiena firewall-om koji spreava neovlaeni pristup intranetu.

- 27 -

1.6. Tipino okruenje baze podatakaGlavni delovi tipinog okruenja baze podataka i njihove veze su prikazani na slici 1.9. 1. Baza podataka Organizovan skup logiki povezanih podataka, obino napravljena da zadovolji potrebe za informacijama vie korisnika u organizaciji. 2. Skladite podataka Centralna baza znanja za sve definicije podataka, njihova ogranienja, veze izmeu podataka, izgleda ekrana i izvetaja i drugih sistemskih komponenti. Uskladiteni podaci iz prethodnog perioda. 3. DBMS Sistem za upravljanje bazama podataka (SUBP). Softverski sistem koji se koristi za kreiranje, odravanje i kontrolu pristupa korisnika baze podataka. 4. Aplikativni programi Raunarski programi koji slue za kreiranje i odravanje baze podataka i pruaju informacije korisnicima. 5. Administratori podataka i baza podataka Administratori podataka su osobe odgovorne za upravljanje svim izvorima podataka u organizaciji. Administratori podataka su odgovorni za fiziki dizajn baza podataka i za upravljanje tehnikim problematikama u okruenju baza podataka. 6. Projektanti sistema Osobe kao to su sistemski analitiari i programeri koji dizajniraju nove aplikativne programe. Projektanti sistema esto koriste CASE alate za analizu potreba sistema i dizajn programa. 7. Korisniki interfejs Jezici, meniji, i itd. pomou kojih korisnici koriste razliite komponente sistema, kao to su CASE alati, aplikativni programi, DBMS i metapodaci. 8. Computer-aided softver engineering (CASE) alati Alati koji se koriste za dizajniranje baza podataka i aplikativnih programa. 9. Krajnji korisnici Osobe koje dodaju, briu i modifikuju/auriraju podatke u bazi podataka i koje zahtevaju ili primaju podatke iz njih. Svaka interakcija izmeu korisnika i baze podataka deava se preko DBMS-a.

- 28 -

Slika 1.9 Komponente okruenja BP Sa unapreenjem softvera, korisniki interfejs postaje sve laki za upotrebu. Primeri za ovakav napredak su sistemi zasnovani na menijima, sistemi sa mogunou pristupa Internetu, i sistemi koji prepoznaju govor (prihvataju govorne komande). Cilj ovih sistema je da to vie krajnjih korisnika moe da koristi raunar, to znai da korisnici koji nisu raunarski eksperti mogu sami da naprave izvetaje i koriste jednostave aplikacije. Naravno, u ovakvom okruenju administratori baza podataka moraju da obrate panju na bezbednost baze podataka. Okruenje baze podataka prikazano na slici 1.9 predstavlja integrisani sistem hardvera, softvera i ljudi koji je napravljen da olaka skladitenje, preuzimanje, i kontrolu izvora informacija i da povea produktivnost preduzea.- 29 -

1.7. Istorija razvoja baza podatakaNastanak baza podataka se vezuje za Herman-a Holerith-a koji je 1884. godine prijavio patent sistem za automatsku obradu podataka (AOP) o popisu stanovnitva u SAD. Podaci na buenim karticama su runo ubacivani u ureaj za oitavanje, a obrada podataka se odnosila na prebrojavanje. Programiranje se svodilo na izbor vrste prebrojavanja, a radilo se runim prespajanjem kontakata. Dotadanja obrada podataka popisa trajala je 10-tak godina, a sa Holerith-ovim izumom vreme obrade bilo je smanjeno na est nedelja. Herman Hollerith je osmislio ideju po kojoj se svaki stanovnik SAD predstavlja nizom od 80 karaktera ime, godite itd. popunjenih praznim prostorima da bi se za sva imena obezbedila ista duina, tako da baza podataka bude poravnata. On je uspeo da proda koncept svoje maine i buene kartice koje su sluile za uvanje podataka u statistikom birou SAD. Tako je popis stanovnitva iz 1890. godine bio prva automatizovana baza podataka, koja se u sutini sastojala od hiljada kutija punih buenih kartica. Od Holerith-ove kompanije nastao je dananji IBM.

Slika 1.10 Izgled Holerith-ove buene kartice i maine za oitavanje kartica- 30 -

Nakon Drugog svetskog rata, u kompanijama i vladinim institucijama poeli su se pojavljivati prvi elektronski raunari. Oni su se esto koristili upravo za jednostavne linearne baze podataka, najee za raunovodstvo. Ipak, vrlo brzo, bogati kupci su poeli da zahtevaju vie od njihovih ekstremno skupih maina. Sve je to vodilo do ranih baza podataka. Zanimljivo, ove rane aplikacije su nastavile da koriste Hollerith-ove buene kartice, neznatno modifikovane u odnosu na originalni dizajn. Nefleksibilnost polja iste duine, baze podataka pokretane 80 kolonskim buenim karticama, uinile su rane raunare metom napada i ala i potpunom misterijom za obinog oveka. Veina prvobitnih baza podataka se odnosila na specifine programe napisane za specifine baze podataka. Za razliku od modernih sistema koji mogu biti primenjeni na potpuno razliite baze podataka, ovi sistemi su bili usko povezani za bazu podataka da bi osigurali brzinu na utrb fleksibilnosti. Sistemi upravljanja bazama podataka su se prvi put pojavili tokom 1960-tih godina i nastavili su da se razvijaju tokom sledeih decenija. U veini sluajeva, period uvoenja je dugo trajao, skoro deceniju pre navedene godine poetka upotrebe. Na primer, relacioni model je prvi put definisan od strane E.F.Codd u tekstu objavljenom 1970 godine. Meutim, relacioni model nije bio iroko prihvaen sve do 1980-tih godina. 1960te Tokom ovog perioda, sistemi zasnovani na datotekama su i dalje imali dominantnu ulogu. Pa ipak, prvi sistemi za upravljanje bazom podataka su uvedeni u ovoj deceniji, i korieni su najpre samo kod velikih i sloenih projekata, kao to je to bio projekat sletanja Apollo-a na Mesec. Ovaj period moemo posmatrati kao period dokazivanja, u kom je demonstrirana sposobnost ovih sistema da upravljaju ogromnim koliinama podataka. Takoe, prvi napor da se standardizuju poduzet je sa formiranjem DBT Grupe (Data Base Task Group), tokom kasnih 60ih godina.

- 31 -

1970te Tokom ove decenije, upotreba sistema za upravljanje bazom podataka je postajala komercijalna stvarnost. Hijerarhijski i mreni sistemi za upravljanje podacima su uvedeni, velikim delom zbog potrebe za sistemom koji e moi da upravlja sloenim strukturama podataka, kao to su rauni fabrika pri nabavci sirovina, kojima je bilo izuzetno teko upravljati preko konvencionalnih metoda. Ovi modeli se i sutinski smatraju prvom generacijom sistema za upravljanje bazom podataka. Oba pristupa su se iroko primenjivala, zapravo, mnogi od tih sistema su u upotrebi i danas. Pa ipak, imali su nekoliko velikih nedostataka: Teak pristup podacima. Za pristup i najjednostavnijim podacima bili su potrebni izuzetno sloeni programi. Veoma ograniena nezavisnost podataka, tako da se programi nisu mogli izolovati od promena u formatu podataka. Nije postojala nijedna iroko prihvaena teorijska podloga za bilo koji od ovih modela, za razliku od relacionog modela podataka.

1980te Da bi se prevazila ova ogranienja, E. F. Codd, kao i mnogi drugi, razvili su model relacionih podataka tokom 70-ih godina. Ovaj model, koji se smatra drugom generacijom DBMS-a, doiveo je iroku komercijalnu upotrebu u poslovnom svetu tokom 80-ih godina. Sa relacionim modelom svi podaci su predstavljeni u formi tabele. Relativno jednostavan programski jezik etvrte generacije, nazvan SQL, korien je za dobijanje informacija. Ovaj model je obezbedio jednostavan pristup podacima i onim ljudima koji nisu bili programeri, prevazilazei na taj nain jednu od najveih primedbi koja je pratila sisteme prvih generacija. Model je takoe pokazao i svoju pogodnost za komunikaciju na relaciji klijent/server, paralelni prenos podataka, i upotrebu grafikog korisnikog interfejsa (GUI).

- 32 -

1990te Ove godine se oznaavaju kao nova raunarska era, najpre na nivou raunarske komunikacije na relaciji klijent/server, a potom sa stvaranjem skladita za podatke i upotrebom Internet aplikacija, koji su dobijali sve vie na vanosti u ovom periodu. Kao to je upravljanje podacima od strane DBMS-a postalo visoko primenjivo (npr., u raunovodstvu) tokom osamdesetih godina, multimedijalni podaci (ukljuujui i grafiku, zvuk, slike i video zapis) su postali uobiajena stvar tokom devedesetih godina. Kako bi se izborili sa sve sloenijim podacima, tokom devedesetih su uvedeni sistemi okrenuti ka objektu, koji se smatraju treom generacijom. Zbog velike potrebe za organizacijom ogromne koliine podataka kako strukturisanih, tako i nestrukturisanih podataka, ovaj i prethodni sistem su u upotrebi i danas. Neki proizvoai ak rade na razvoju kombinovanih sistema za upravljanje bazama podataka, kako bi mogli da upravljaju obema vrstama istih. Od 2000. godine Naravno, navodimo se na razmiljanje u kom pravcu e da krene razvoj DBMS tehnologija tokom naredne decenije. Iako e nesumnjivo doi do novih iznenaenja, moemo oekivati nastavak dobro uspostavljenih trendova: 1. Mogunost upravljanja sve sloenijim tipovima podataka. Ovi tipovi ukljuuju i multidimenzionalne podatke, koji su ve dobili na vanosti u aplikacijama skladitenja podataka. 2. Nastavak razvoja univerzalnih servera. Zasnovani na sistemu tree generacije DBMs-a, to su serveri koji mogu da upravljaju irokom lepezom raznih tipova podataka, tako da budu transparentni svim korisnicima. Bie naroito vani kod Internet aplikacija. 3. Dok su realnost, Kako se porastu u potpunosti distribuirane baze podataka postale trenutni trend ka cenrtalizaciji istih e se nastaviti. trokovi komunikacije sve vie smanjuju, nasuprot tipova podataka,vrednost lociranja i pristupa- 33 -

centralizovanoj bazi podataka takoe se smanjuje. Manji trokovi, a visoke performanse svakako ohrabruju ovaj trend. 4. Skladita sa adresiranim sadrajem e postajati sve popularnija. Sa ovakvim pristupom, korisnik moe da izvue bilo kakav podatak specifikacijom kakvu vrstu podatka eli, umesto kako da doe do njega. Na primer, korisnik moe da skenira fotografiju i da trai od kompjutera pretragu, kako bi pronaao istu takvu, ili njoj slinu. 5. Baza podataka i druge tehnologije, poput vetake inteligencije i televizije, kao informacionog servisa, olakae pristup podacima neobuenim korisnicima. Na primer, korisnik e biti u mogunosti da zahteva podatak na vie jezika, a tehnologija baza podataka e da ukljuuje potrebe korisnika za podacima, na osnovu upita koji se uvaju, i menjati se na taj nain. 6. Rad na tehnologijama algoritama za tehniku analize podataka, koji tee ka upravljanju veoma velikim paketima podataka, kako bi organizacije to lake analizirale svoja ogromna skladita podataka. To e u velikoj meri olakati u planiranju strategije oraganizacija za njihovo poslovanje za due vremenske periode. 7. I na kraju skale se nalazi dalje irenje PDA, to e dovesti do poboljane sinhronizacije malih baza podataka i poboljanje brzine beinog prenosa. Bluetooth i drugi beini standardi e u velikoj meri ubrzati razvoj beinog povezivanja na Internet, ali e i nametnuti pitanje daljeg razvoja zatite podataka.

- 34 -

1.8. ModelovanjeInformacioni sistemi pojedinih firmi omoguavaju upravljanje podacima koji su bitni za njeno poslovanje. Meutim, broj internih podataka i podataka iz okruenja je ogroman te je nemogue sve podatke i sve uoene detalje opisati i sauvati unutar informacionog sistema. Postupkom selekcije identifikuju se i uvaju samo relevantni podaci. Time se dolazi do pojma modela podataka. On je izraz i posledica zahteva za obradom podataka relevantnih za odreeno podruje primene. Modeli su ovekovo sredstvo pojednostavljivanja problema i njegovo posmatranje samo sa stanovita bitnih za ciljeve analize. Objekt posmatranja (npr. automobil) ima uvek vie osobina (atributa) od kojih u datom trenutku analize moe biti dovoljan samo njihov manji broj (npr. samo registarski broj, tip automobila, ime i prezime vlasnika). To su najvaniji atributi potrebni u postupku pretraivanja i pronalaenja vlasnika vozila na osnovu registarskog broja vozila unutar jednog informacionog sistema. Ostali atributi kao to su boja, godina proizvodnje, broj sedita i sl. nisu bitni (mogu se zanemariti ) za takav postupak. ovek, obdaren sposobnostima apstraktnog naina miljenja, stvara jedan apstraktni model realnog sveta. Takav model realnog sveta (objekta posmatranja) zasniva se na simbolima i zove se konceptualni model podataka.Relan svet Ulaz Cilj svakog modela je da uini da je: Izlaz1~Izlaz2 Programi za odravanje Baza podataka Programi za izvetavanje Izlaz2 Izlaz1

Slika 1.11 Realan svet i njegov model Modelovanje podataka se radi paralelno sa analizom potreba. Kako se informacije prikupljaju, objekti se identifikuju, dodjeljuju im se imena koristei termine bliske krajnjim korisnicima. Objekti se onda modeluju i analiziraju koritenjem dijagrama objekti-veze (ER dijagrami). Dijagram se moe pregledati od strane dizajnera i krajnjeg korisnika da bi se- 35 -

osigurala njegova kompletnost i tanost. Ako model nije taan, modifikuje se, to ponekad zahteva da se prikupe dodatne informacije. Ciklus pregledanja i modifikovanja se nastavlja sve dok se ne dobije potvrda da je model korektan.

1.8.1. Razvoj konceptualnih modelaObjekti iz relnog sveta se u raunarskoj primeni opisuju pomou podataka. Podaci su zato apstrakcija realnosti, tj. sredstva za kodiranje osobina objekata iz realnog sveta. Modelovane, kao postupak kojim se realni svet svodi na odreeni broj podataka, predstavlja kompleksan posao i sastoji se iz vie koraka: Izbor (selekcija). U prvom koraku se mnotvo objekata iz realnog sveta redukuje na manji skup objekata, koji e initi objekte modela. Npr. objekti mogu biti student, predmet, profesor, studentska sluba, polaganje ispita i sl. U procesu selekcije ovaj broj objekata se moe redukovati na manji broj, ako je cilj praenje uspenosti studiranja na fakultetu. Time se sloenost realnog sistema smanjuje. Selekcija se ne odnosi samo na objekte nego i na njihove osobine, kao i na meusobne veze (relacije) izmeu objekata. Imenovanje. Svakom objektu u realnom svetu, svakoj vezi izmeu uoenih objekata, kao i svakom atributu (svojstvu) uoenog objekta ili veze dodeljuje se ime. Klasifikacija. Nehomogeni skup objekata i odnosa se svrstava u homogene klase i tipove objekata. Klasifikacija uvek zavisi od podruja primene.

Rezultat navedenih koraka modelovanja zove se konceptualni model. On sadri, za posmatrani problem iz realnog sveta, sve relevantne tipove objekata, njihove osobine i meusobne veze. Rezultati prouavanja modela podataka doveli su do saznanja da svaki model podataka ima tri neodvojive komponente: strukturu podataka, operacije nad podacima, ogranienja (constraints).- 36 -

Struktura i ogranienja, za razliku od operacija, opisuju stanje realnog sistema, tj. predstavljaju statiki opis stanja sistema. Strukturu modela ine objekti, njihova svojstva, veze izmeu objekata i njihovih svojstava. Operacije nad podacima u modelu su, u stvari, operacije nad strukturom modela kojima se izraava dinamika realnog sistema. Operacije izraavaju kretanje i promene tj. dinamiku realnog sistema. Ogranienja su pravila koja razdvajaju doputena od nedoputenih stanja realnog sistema i u svojoj prirodi deo su strukture modela podataka. Ponekad se ne posmatraju kao odvojene komponenta, nego kao deo strukture modela podataka.

1.8.2. EntitetiModelima podataka nastoji se preslikati realan sistem. Realan sistem sastoji se od objekata iz realnog sveta i njihovih veza izmeu kojih se uspostavljaju razliiti odnosi. Pod entitetom se podrazumeva sve to se moe jednoznano odrediti, identifikovati i razlikovati. Tako iroko postavljena definicija pokazuje da entitet moe biti svaki "realan" ili "apstraktan" objekt o kojem u odreenom trenutku razmiljamo. Entitet je realan ako fiziki, stvarno postoji. Najoptije se moe tvrditi da su granice entiteta u modelu podataka odreene ljudskim pogledom i nainom razmiljanja. Svaki entitet uoen u realnom sistemu ima svoje osobine koje ga ine sloenim i njihove vrednosti omoguavaju razlikovanje entiteta. Svojstvo entiteta ukljuuje dva elementa - atribut i vrednost atributa (npr. entitet Student ima atribute: Ime, Prezime, Broj indeksa, Adresu, Telefon i sl. i vrednosti Marko, Markovi, 123/03, Danijelova, 15, 011/376-543 respektivno). Svaki put kada se promeni vrednost atributa, potrebno je promenu evidentirati, tj. aurirati tu vrednost atributa za dati entitet. Precizno govorei, objekti koji se oznae pojmom entiteta mogu se zvati klase entiteta. Svaki objekt ima osobine (atribute) klase entiteta kojoj pripada. Npr. klasu entiteta Student ine pojedinani entiteti od kojih svaki ima zajednike atribute: Ime, Prezime, Broj indeksa, Adresa, Telefon i sl. Svaki pojedinani entitet ima sve navedene atribute, ali e se razlikovati od drugih entiteta po vrednostima pojedinih atributa.

- 37 -

Atribut opisuje entitet. Jedno konkretno pojavljivanje atributa naziva se vrednost. Ako je atribut dovoljno sloen, tako da ima svoje dodatne atribute, moe se posmatrati kao novi entitet. Domen atributa je skup svih moguih vrednosti koje atribut moe poprimiti. Primarni klju je jedan ili vie atributa ija vrednost jednoznano odreuje primerak entiteta. Na primer, za entitet Auto, primarni klju je atribut registarski broj. Dva razliita lana ili primerka entiteta ne mogu imati isti primarni klju. Primarni klju je jedinstven za svakog lana entiteta. Na primer, za entitet Student primarni klju bi mogao biti broj indeksa.

1.8.3. Veze izmeu entitetaBaza podataka se ne odnosi samo na pojedinane objekte nego i na odnose izmeu objekata. U realnom sistemu objekti nisu meusobno izolovani, nego se nalaze u meusobnoj interakciji. Student se upisuje na fakultet, slua predavanja iz pojedinih predmeta, prijavljuje polaganje ispita, polae ispit itd. To su primeri logikih i realnih veza izmeu objekata, koje slede iz realnih odnosa u posmatranom sistemu studiranja na jednom fakultetu. Istraimo jedan skup odnosa izmeu studenata koji sluaju predavanja kod odreenog profesora. Postavlja se pitanje ta su u takvim odnosima objekti, koje su njihove osobine (atributi) i kako prikazati njihove odnose. Identifikovati objekte, njihove osobine i odnose znai praktino izgraditi model podataka. U modelu podataka ne postoje samo atributi objekta, nego i veze izmeu objekata. Prvo se selektuju objekti, imenuju se, a zatim se analiziraju tipovi odnosa koji se uspostavljaju izmeu objekata. Odnosi izmeu objekata posmatranja prikazuju se najee primenom logike skupova i preslikavanja njihovih elemenata. Najjednostavniji odnos izmeu ta dva tipa objekata naziva se preslikavanje 1:1. Kod takvog preslikavanja svaki se element skupa X moe preslikati na najvie jedan element skupa Y. Istovremeno, i svaki element skupa Y moe biti preslikan na najvie jedan element skupa X. Karakteristian primer bi bio sa entitetima Fakultet i Dekan. Na jednom fakultetu moe biti samo jedan dekan, a jedan dekan moe biti dekan na- 38 -

samo jednom fakultetu. Takvi odnosi izmeu entiteta su retki, a mogu se predstaviti sledeom slikom:

Slika 1.12 Preslikavanje entiteta 1:1 Druga vrsta odnosa naziva se preslikavanje N:1 (ili 1:N). Vie elementa skupa X moe se preslikati na najvie jedan element skupa Y. Istovremeno jedan element skupa Y moe se preslikati na vie elemenata skupa X. Pogodan primer za ovu vrstu odnosa izmeu entiteta je odnos izmeu entiteta Student i Dekan. Vie studenata na jednom fakultetu ima samo jednog dekana, a jedan dekan je dekan za vie studenata na svom fakultetu.

Slika 1.13 Preslikavanje entiteta N:1 Najsloenije preslikavanje je tipa M:N. Svaki element prvog skupa moe se preslikati na vie elemenata drugog skupa, ali se i svaki element drugog skupa moe preslikati na vie elemenata prvog skupa. Karakteristian primer ovakvih veza postoji ako se uoe entiteti Student i Profesor. Jednom studentu predaje vie profesora, a ujedno jedan profesor predaje za vie studenata.- 39 -

Slika 1.14 Preslikavanje tipa M:N

1.8.4. Troslojna arhitektura baze podatakaOsnovni koncept baze podataka je ideja o skupu injenica ili delova znanja. injenice mogu da budu struktuirane na razliite naine koji se nazivaju modeli podataka. Model podataka nije statina struktura nego se menja kako bi odraavao promene koje se deavaju i u realnom sistemu. Na primeru informacionog sistema jednog fakulteta, studenti polau pojedine ispite, neke ponitavaju i dobijaju drugaije ocene, upisuju se novi studenti, drugi diplomiraju, neki asistenti postaju profesori itd. Za jednostavne sluajeve, kao i mali broj promena relacija i entiteta, mogue je auriranje podataka vriti runo. Za kompleksnije sisteme (sa nekoliko stotina ili hiljada entiteta ili relacija) auriranje podataka postaje ogroman problem. Jedino se uz pomo raunara moe odravati aurnost podataka u velikim informacionim sistemima. Obrada podataka postaje ne samo pitanje produktivnosti neke firme ili organizacije, nego i opstanka, rasta i razvoja u okruenju s intenzivnom konkurencijom. Obrada podataka je deo svakog poslovnog procesa, stoga je poznavanje baza podataka bitno ne samo za projektante informacionih sistema i programere, nego i za krajnje korisnike rezultata takvih obrada. Oni nisu samo skup povremenih korisnika baza podataka, kao to se to moe rei za programere ili projektante informacionih sistema. Danas veliki broj zaposlenih, koji nisu upoznati sa konceptualnom emom BP, kreiraju,

- 40 -

unose, auriraju ili jednostavno koriste baze podataka na razliitim nivoima organiziranosti poslovnih sistema. Model baze podataka koji je danas poznat kao ANSI/X3/SPARC model prikazan je na slici 1.x. Na bazi tog modela razvijeni su sistemi za upravljanje bazama podataka koji imaju troslojnu arhitekturu ili varijantu te arhitekture. Aplikativni programi komuniciraju s bazom podataka preko odgovarajueg eksternog modela. Zahtev za uitavanje odreenih podataka aplikativni sloj upuuje na eksterni sloj, odnosno odgovarajui korisniki model. DBMS preslikava eksterni model na konceptualni i konceptualni na interni model. Konceptualni nivo je najblii stvarnosti. Taj se nivo definie u procesu kreiranja modela podataka. Jedan od ciljeva modela podataka je oblikovanje podataka za sadanje i budue aplikacije. Moe se rei da konceptualni nivo ine sve relacione eme modela podataka, sve relacije i ogranienja. Spoljanji nivoi (modeli A, B i C) formiraju se na temelju konceptualnog nivoa i predstavljaju samo pogled (VIEW) prema potrebama pojedinih korisnika.Konceptualni model (sloj)

Eksterni model (sloj)

Interni model (sloj)

Model A

A

Podaci 1 B

Podaci 2 Podaci 3

Model B

Model C

C Podaci N

Slika 1.15 Troslojna arhitektura baze podataka

- 41 -

Unutranji (interni) sloj baze odnosi se na zapisivanje konceptualnog sloja na nekom medijumu za uvanje (najee disku). Radi se o slogovima zapisanim u datotekama. Nii sloj, uslovno reeno, ili nivo blii disku od internog sloja BP, je operativni sistem , koji na osnovu logikih adresa slogova ita sadraj diska.

1.9. Modeli baza podatakaZa modelovanje strukture podataka koriste se razliite tehnike. Odreeni modeli se lake koriste za neke tipove sistema upravljanja bazama podataka nego drugi modeli. Model ini osnovu za osmiljavanje, definisanje i implementaciju baze podataka. Istorijski gledano sistemi za upravljanje bazama podataka mogu se podeliti u sledee osnovne modele: Hijerarhijski model ine ga podaci sloeni u hijerarhijsku strukturu; Mreni model moe se predstaviti usmerenim grafom u kojem su vorita podaci, a lukovi meu voritima definiu veze meu podacima; Relacioni model zasnovan na matematikom pojmu relacije. Podaci i veze meu podacima se prikazuju preko dvodimenzionalnih tabela. Objektni model bazira se na konceptu objekata, koji predstavljaju skup podataka i operacija koje se na njima mogu izvravati.

- 42 -

1.9.1. Hijerarhijski modelHijerarhijski model je najstariji od svih modela baza podataka, i za razliku od mrenog, relacionog ili objektno orjentisanog, nema dobro dokumentovanu istoriju svoje koncepcije i poetne verzije ovakvog modela. Ovaj model se razvio iz informacionog sistema za upravljanje u 50-tim i 60-tim godinama prolog veka. Usvojen je u mnogim bankama i osiguravajuim drutvima koji ga, kao naslee, i danas koriste. U hijerarhijskom modelu podaci su smeteni u seriju slogova (zapisa) Da bi se uspostavila veza izmeu slogova, hijerarhijski model uspostavlja relaciju roditelj naslednik. Ovo je takozvano 1:N mapiranje izmeu slogova koje se radi korienjem stabla. U ovom modelu, relacije su takve da jedan naslednik moe imati samo jednog roditelja, ali roditelj moe imati vie naslednika. Roditelji i naslednici su povezani vezama koje se nazivaju pokazivai (u fizikoj realizaciji to je adresa u memoriji gde se slog nalazi). Roditelj ima listu pokazivaa za svakog od svojih naslednika. Hijerarhijski model je dobro ureena struktura, koja podsea na hijerarhijsku strukturu u npr. dravi, vojsci ili nekoj velikoj organizaciji .Direktor Zamenik O R R R O R R O R R R O R Zamenik O R R O R R Zamenik O R R R O R R

Slika 1.16 ematski prikaz jednog hijerarhijskog modela Pravilo roditelj naslednik omoguava pristup podacima. Da bi se dolo do tabele na niem nivou, kree se od korena i ide prema dole kroz stablo dok se ne doe do cilja. Naravno, oigledan problem sa ovim modelom je

- 43 -

da korisnik mora da zna kako je stablo organizovano da bi pronaao bilo ta. Hijerarhijski model ima ozbiljnih nedostataka. Na primer, ne moe se dodati slog u tabelu naslednika dok se ne ukljui u roditeljsku tabelu. Hijerarhijski model je sposoban da radi jedino sa jednostrukim stablima, ali ne moe da se nosi sa povezivanjem ogranaka ili stvaranjem viestrukih veza. Zbog toga se stvara redudansa (viestruko pojavljivanje) podataka i mogunost netanog auriranja. Na primeru hijerarhijske organizacije nekog fakulteta koji ima katedre, profesore, studente itd. mogu se lako uoiti navedene slabosti. Lako je predstaviti da na jednoj katedri ima vie profesora, ali se ne moe predstaviti da jedan profesor radi na vie katedri. Da bi se ovo uradilo, mora postojati dva pojavljivanja istog profesora. To moe dovesti do netanosti kod auriranja podataka, npr. mogue je da informacije budu razliite u dva zapisa, to vodi do konfuzije. Hijerarhijski model se vie ne koristi kao osnova za trenutne komercijalne sisteme, ali jo uvek postoji mnogo nasleenih sistema baziranih na ovom modelu. Zbog svih nedostataka koji postoje u hijerarhijskom modelu, razvijen je mreni model.

1.9.2. Mreni modelMreni model je prvi put predstavljen 1971. godine. Moe se smatrati savremenikom relacionog modela, gledajui starost i prva istraivanja uinjena u 60-tim godinama prolog veka.Omoguava da se viestruki skupovi podataka koriste zajedno putem pokazivaa (ili pointera). Neke kolone sadre pokazivae na druge tabele umesto samih podataka. Na taj nain, tabele su povezane pokazivaima i mogu se posmatrati kao mrena struktura. Dok u hijerarhijskom modelu svaki slog ima jedan roditeljski slog i neogranieno naslednika, mreni model omoguava svakom zapisu da ima viestruke roditelje i naslednike, kreirajui mreastu strukturu.

- 44 -

Direktor Zamenik O R R R O R R O R R R O R Zamenik O R R O R R Zamenik O R R R O R R

Slika 1.17 ema mrenog modela Mreni model se danas uglavnom ne upotrebljava za dizajniranje baza podataka, ali ipak ima sluajeva gde se kao deo naslea koristi u nekim kompanijama. Predstavlja unapreenje hijerarhijskog modela, ali je kompleksan i teak za upotrebu. Pored toga, teko ga je podrati matematikim aparatom, to onemoguava kasnije efikasno programiranje.

1.9.3. Relacioni modelKao i mnoge druge tehnologije u raunarskoj industriji, koreni relacionih baza podataka potiu iz IBM-a i njihovog istraivanja automatizovanja kancelarijskih operacija u 60-tim i 70-tim godinama XX veka. 1970. godine, IBM-ov istraiva Ted Codd je prezentovao prvi rad o relacionim bazama podataka. Zbog same tehnike prirode rada i oslanjanja na matematiki aparat, njegova vanost nije odmah shvaena. Ipak, doveo je do formiranja IBM-ove istraivake grupe System R. Od projekta System R se oekivalo da stvori sistem relacione baze podataka koji bi mogao postati proizvod. Prvi prototip prezentovan je 1974/75. godine i eksperimentalno je korien. Nakon to je definisan relacioni model, napravljeni su neformalni modeli da bi se opisali hijerarhijski i mreni model. Hijerarhijske i mrene baze podataka su postojale pre relacionih baza podataka, ali su kao modeli opisani tek nakon to je relacioni model definisan, da bi se napravila osnova za poreenje.

- 45 -

U srcu relacionog modela nalazi se koncept tabele (koja se naziva i relacija) u kojoj su smeteni svi podaci. Svaka tabela je nainjena od slogova (redova u tabeli), a svaki slog ima svoja polja (atribute). Osnovne karakteristike relacionog modela podataka su sledee: Sve se predstavlja relacijama (tabelama) Zasniva se na strogoj matematikoj teoriji Minimalna redudansa podataka Jednostavno auriranje podataka Izbegnute su anomalije auriranja Redosled kolona i redova ne utie na informacioni sadraj tabele Ne mogu da egzistiraju dva identina reda (rekorda) u jednoj tabeli Svaki red se moe jednoznano odrediti (postoji primarni klju) ...

U relacionom modelu podataka klase objekata se predstavljaju tabelama. Na primer klasa STUDENT se moe opisati atributima BROJ INDEKSA i IME i klasa KNJIGA sa itributima IFRA KNJIGE i NAZIV. Trenutno stanje studenata i knjiga koje je uneseno u ove tabele moe biti sledee: Student BrInd75/01 22/02 156/03 112/02

Knjiga SifK001 002 003 004 005

ImeMarko Petar Milan Dragan

NazivRaunovodstvo Baze podataka Osnove finansija Poslovna i f ik Marketing

Slika 1.18 Tabela je osnovni objekat relacione baze podataka Prethodna dva objekta sa svojim atributima grafiki se mogu predstaviti na sledei nain:- 46 -

BrInd Student Ime Knjiga

SifK

Naziv

Slika 1.19 Grafiki prikaz objekata i njihovih atributa U realnom svetu objekti meusobno stupaju u veze. Na jednom fakultetu studenti dre (pozajmljuju iz biblioteke) pojedine knjige. Moe se uoiti da je veza izmeu ova dva posmatrana objekta tipa M:N, tj. vie studenata mogu da dre jednu knjigu, a jedna knjiga moe biti kod vie studenata. Neka je trenutna situacija iz realnog sveta prikazana na sledeoj slici: Student KnjigaBrInd75/01 22/02 156/03 112/02

ImeMarko Petar Milan Dragan

SifK001 002 003 004 005

NazivRaunovodstvo Baze podataka Osnove finansija Poslovna informatika Marketing

Slika 1.20 Veze izmeu objekata realnog sveta formira se klasa veza Klasa veza se moe posmatrati kao zaseban entitet, a taj entitet moe da ima svoje posebne atribute. U naem primeru, klasa veza DRI moe da ima kao atribut DATUM od kada student dri odreenu knjigu. Neka je trenutna situacija iz realnog sveta prikazana sledeom slikom:

- 47 -

Student BrInd75/01 22/02 156/03 112/02

Dri12.09.2005 12.09.2005 12.09.2005 12.09.2005 12.09.2005 12.09.2005

Knjiga SifK001 002 003 004 005

ImeMarko Petar Milan Dragan

NazivRaunovodstvo Baze podataka Osnove finansija Poslovna informatika Marketing

Slika 1.21 Klasa veza moe da ima svoje atribute Grafiki prikaz navedenog dat je na sledeoj sliciBrInd Student Ime

DatumSifK Dri Knjiga Naziv

Slika 1.22 Klasa veza moe da ima svoje atribute Sutina relacionog modela je da se i klase objekata i klase veza izmeu objekata predstavljaju na jedinstven nain, tj. preko tabela. U naem primeru postoje tri tabele: STUDENT, KNJIGA i DRI. U relacionom modelu podataka tabela se definie kao relacija, koja mora da ispuni odgovarajue uslove. Svaka relacija mora da ima primarni klju jedan ili vie atributa koji na jedinstven nain opisuju svaki zapis u jednoj tabeli. Primarni klju se paljivo bira. Na primer u klasi studenata lo izbor primarnog kljua bi bio atribut IME, zato to se mogu pojaviti dva studenta sa istim imenom. Dobar izbor primarnog kljua je atribut Broj indeksa, zato to ne postoje dva studenta sa istim brojem indeksa. Za klase objekata Student i Knjiga vri se prevoenje u relacioni model na sledei nain (podvlaenjem su oznaeni atributi koji ine primarni klju):

- 48 -

STUDENT (BrInd, Ime), KNJIGA (SifK, Naziv) Za klasu veza Dri, moe se difinisati prirodan primarni klju u odnosu na objekte koje povezuje. U naem primeru relacija Dri bi glasila: DRI(BrInd, SifK, Datum) Dakle, za posmatrani realan sluaj gde sudenti dre pojedine knjige, izvreno je modelovanje preko tri tabele tj. relacije. Tabele STUDENT i KNJIGA imaju dve kolone, a tabela DRI tri kolone. Sve tabele su povezane. Povezivanje se vri preko vrednosti atributa u relacijama. na sledei nain:STUDENT (BrInd, Ime) DRI (BrInd, SifK, Ime)Strani klju relacije Dri koji pokazuje na primarni klju relacije Student Strani klju relacije Dri koji pokazuje na primarni klju relacije Knjiga

KNJIGA (SifK, Naziv)

Slika 1.23 Relacije se povezuju vrednostima stranih i primarnih kljueva Veoma je vano zapaziti da kako i gde su tabele smetene ne pravi nikakvu razliku. Svaka tabela se identifikuje jedinstvenim imenom koje baza podataka koristi da bi pronala tabelu. Korisniku je potrebno samo da zna ime tabele. Nema potrebe da se vodi rauna o tome kako su podaci smeteni na disku. Ovo je razliito od hijerarhijskog i mrenog modela u kojima korisnik mora da razume kako su podaci struktuirani unutar baze podataka da bi mogao da ih pretrauje, unosi nove, aurira ili brie postojee slogove. Relaciona baza podataka standardno se satoji iz vie tabela. Ipak, za razliku od mrene baze podataka, tabele nisu povezane pokazivaima. Umesto toga koriste se kljuevi da upare redove podataka u razliitim tabelama. Klju je samo jo jedna ili vie kolona u tabeli, koja odgovara kolonama u drugim tabelama.- 49 -

Zahtev za podatkom iz relacione baze podataka se dobija izvravanjem upita koji je napisan u posebnom jeziku, obino nekom od dijalekata SQL-a. Iako je SQL originalno namenjen za krajnje korisnike, mnogo ee se SQL upiti ugrauju u softver koji omoguava laki korisniki interfejs. Kao odgovor na upit, baza podataka vraa skup podataka, koji je u stvari lista redova koji sadre odgovor. Najjednostavniji upit je da se dobiju svi redovi iz tabele, ali ee, redovi se filtriraju na neki nain da bi se dobio traeni odgovor. esto se podaci iz vie tabela kombinuju u jednu, procesom udruivanja. Fleksibilnost relacionih baza podataka dozvoljava programerima da piu upite koji nisu bili predvieni od strane dizajnera baze podataka. Kao rezultat, relacione baze podataka mogu da se koriste u vie aplikacija koje originalni dizajneri nisu predvideli, to je posebno vano za baze podataka koje se mogu koristiti decenijama. Ovo je model relacionih baza podataka uinilo veoma popularnim u poslovnoj primeni.

1.9.4. Objektni modelObjektno orjentisani model je jedan od novijih modela baza podataka. Istraivai su za njega postali zainteresovani krajem 70-tih i poetkom 80-tih godina prolog veka, kada se poeo pojavljivati koncept objektno orjentisanih sistema. Bazira se na konceptu objekata, koji predstavljaju skup podataka i operacija koje se na njima mogu izvravati. Istraivanje se radilo i da bi se prevazila mnoga ogranienja u relacionom modelu na odreenim tipovima podat