Baza podataka je organizirana zbirka podataka. Termin
je izvorno nastao unutar računalne industrije, a njegovo se značenje
proširilo popularnom upotrebom toliko da Europska direktiva za baze
podataka (koja za baze podataka donosi prava za intelektualno vlasništvo)
uključuje i neelektronske baze podataka unutar svoje definicije. Ovaj
članak je ograničen više na tehničku upotrebu termina, iako čak i među
računalnim profesionalcima neki pripisuju mnogo šire značenje riječi
od drugih.
Jedna od mogućih definicija baze podataka glasi da je to zbirka zapisa
pohranjenih u računalu na sustavni način, takav da joj se računalni
program može obratiti prilikom odgovaranja na problem. Svaki se zapis
za bolji povratak i razvrstavanje obično prepoznaje kao skup elemenata
(činjenica) podataka. Predmeti vraćeni u odgovoru na upitnike postaju
informacije koje se mogu koristiti za stvaranje odluka koje bi inače
mogle biti mnogo teže ili nemoguće za stvaranje. Računalni program korišten
za upravljanje i ispitivanje baze podataka nazvan je sustav upravljanja
bazom podataka (SUBP). Svojstva i dizajn sustava baze podataka uključeni
su u proučavanje informatičke znanosti.
Središnji koncept baze podataka je jednak onome od zbirke zapisâ ili
dijelova znanja. Za danu bazu podataka tipično postoji strukturni opis
vrste činjenica sadržanih u toj bazi podataka: taj opis naziva se shema.
Shema opisuje predmete koji su prikazani u bazi podataka, te odnose
među njima. Postoje brojni različiti načini organiziranja sheme, to
jest od modeliranja strukture baze podataka: oni se zovu modeli baza
podataka (ili modeli podataka). Model u najraširenijoj upotrebi danas
je odnosni model, koji laički rečeno prikazuje sve informacije u obliku
mnogostrukih odnosnih tablica od kojih se svaka sastoji od redova i
stupaca (prava definicija koristi matematičku terminologiju). Ovaj model
prikazuje odnose upotrebom vrijednosti koje su zajedničke za više od
jedne tablice. Ostali modeli poput hijerarhijskog modela i mrežnog modela
koriste prikaze i odnose koji su mnogo eksplicitniji.
Naziv baza podataka se strogo govoreći odnosi na zbirku zapisa, a na
softver bi se trebalo odnositi kao na sustav upravljanja bazom podataka
ili SUBP. Kada je kontekst nedvojben, mnogi administratori za baze podataka
i programeri ipak koriste termin baza podataka da pokriju oba značenja.
Mnogi profesionalci će smatrati da zbirka podataka stvara bazu podataka
jedino ako ima određena svojstva: primjerice, ako se podacima upravlja
kako bi osigurali svoj integritet i kvalitetu, ako omogućuje zajednički
pristup nekoj zajedinici korisnika, ako ima shemu, ili ako podržava
upitni jezik. Ipak dogovorena definicija ovih svojstava ne postoji.
2. Uloga baze podataka
Svaki sektor mogao bi voditi svoju posebnu evidenciju o svom poslovanju
nezavisno od drugih sektora.
- Iako sektori funkcioniraju nezavisno podaci s kojima rade su prekrivaju
- ali struktura i zapis tih podataka nije međusobno usuglašen
Slika 1.
3. Povjest baze podataka
Najranija poznata upotreba termina baza podataka potječe iz lipnja
1963. kada je Društvo za razvoj sustava uzelo pod pokroviteljstvo simpozij
pod naslovom Razvoj i upravljanje računalno centriranom bazom podataka.
Baza podataka (eng. ) kao jedinstvena riječ postala je uobičajena u
Europi u ranim 1970-ima, a krajem desetljeća koristila se u glavnim
američkim novinama. (Banka podataka, usporedni termin, koristio se vrlo
rano u novinama Washington Post, 1966.)
Prvi sustavi upravljanja bazom podataka razvijeni su u 1960-ima. Začetnik
u tom polju bio je Charles Bachman. Bachmanovi rani radovi pokazuju
da je njegov cilj bio stvaranje djelotvornije upotrebe novih uređaja
s izravnim pristupom pohrane koji su postali dostupni: do tada se obrada
podataka temeljila na bušenim karticama i magnetskoj vrpci, pa je tako
serijska obrada bila dominantna aktivnost. Dva su se ključna modela
podataka pojavila u to vrijeme: CODASYL je razvio mrežni model baziran
na Bachmanovim idejama, te se (očigledno neovisno) hijerarhijski model
koristio u sustavu koji je razvio North American Rockwell, a kojeg je
kasnije prihvatio IBM kao kamen temeljac svojeg SUI proizvoda.
Odnosni model je predložio E. F. Codd 1970. godine. On je kritizirao
postojeće modele zbog zbrke apstraktnih opisa informacijskih struktura
s opisima mehanizama fizikalnog pristupa. Ipak je dugo vremena odnosni
model ostao samo u području akademskog interesa. Dok su CODASYL sustavi
i SUI bili zamišljeni kao rješenja praktičnog inženjerstva, uzimajući
u obzir tehnologiju koja je postojala u ono vrijeme, odnosni model je
zauzeo mnogo veću teoretsku perspektivu, smatrajući (ispravno) da će
hardverska i softverska tehnologija uhvatiti korak s vremenom. Među
prvim provedbama bili su Stonebrakerov Ingres na Berkeleyju, te projekt
Sustav R u IBM-u. Oba navedena su bili istraživački prototipovi objavljeni
tijekom 1976. Prvi komercijalni proizvodi, Oracle i DB2, nisu se pojavili
sve do oko 1980.
Tijekom 1980-ih istraživačka aktivnost se usredotočila na sustave distributivnih
baza podataka i na strojeve baza podataka međutim taj je napredak imao
malen učinak na tržište. Druga važna teoretska zamisao bio je funkcionalni
model podataka, ali bez obzira na neke specijalizirane primjene u genetici,
molekularnoj biologiji i istraživanju prijevara, svijet nije na njega
obratio veliku pažnju.
U 1990-im pažnja se prebacila na baze podataka orijentirane prema objektu.
To je polučilo nekakav uspjeh u poljima gdje je bilo potrebno rukovati
kompleksnijim podacima nego što bi se mogli udobno nositi odnosni sustavi:
prostorne baze podataka, inženjerski podaci (uključujući odlagališta
softverskog inženjerstva), multimedijski podaci. Neke od tih ideja prihvatili
su odnosni prodavači, koji su kao posljedicu integrirali nove osobine
u svoje proizvode; neovisni prodavači predmetnih baza podataka uvelike
su nestali sa scene.
U 2000-im pomodno područje za inovacije postale su XML baze podataka.
To je izbacilo, kao s predmetnim bazama podataka, novu zbirku pokrenutih
društava, ali su se istovremeno ključne ideje integrirale u uspostavljene
odnosne proizvode. XML baze podataka ciljaju ukoniti tradicionalnu podjelu
između dokumenata i podataka, dopuštajući svim organizacijskim informacijskim
resursima da se drže na jednom mjestu bez obzira da li su visoko strukturirani
ili ne.
4. OSNOVNI POJMOVI VEZANI UZ BAZE PODATAKA
Baze podataka predstavljaju višu razinu rada s podacima u odnosu na
klasične programske jezike.
Riječ je o tehnologiji koja je nastala s namjerom da se uklone slabosti
tradicionalne “automatske obrade podataka” iz 60-tih i 70-tih godina
20. stoljeća. Ta tehnologija osigurala je veću produktivnost,kvalitetu
i pouzdanost u razvoju aplikacija koje se svode na pohranjivanje i pretraživanje
podataka u računalu.
5. Primjene baza podataka
Baze podataka se koriste u mnogim aplikacijama, protežući se na stvarno
čitav opseg računalnog softvera. Baze podataka su poželjna metoda spremanja
velikih multikorisničkih aplikacija gdje je potrebna koordinacija između
mnogih korisnika. Čak ih individualni korisnici smatraju pouzdanima,
iako se mnogi elektronički poštanski programi i osobni orgnizatori temelje
na standardnoj tehnologiji baza podataka. Softverski pokretači baza
podataka su dostupni za većinu platformi baza podataka tako da aplikacijski
softver može koristiti zajedničko aplikacijsko programsko sučelje (APS)
kako bi povratio informacije pohranjene u bazi podataka. Jedan primjer
APS pokretača baze podataka je JDBC.
6. Transakcije i podudarnost
Pored njihovog modela podataka većina praktičnih baza podataka ("transakcijske
baze podataka")pokušava provesti model transakcije baze podataka
koji ima poželjna svojstva za integraciju podataka. Softver baze podataka
bi trebao prema zamisli provoditi ACIP pravila sažeta ovdje:
* Atomnost - Ili sve zadaće u transakciji trebaju
biti napravljene ili nijedna. Transakcija mora biti dovršena ili se
mora poništiti (vratiti natrag).
* Dosljednost - Svaka transakcija mora sačuvati integritetnu
prinudnost -- izričita pravila dosljednosti -- baze podataka. Ona ne
može smjestiti podatke u kontradiktornom položaju.
* Izolacija - Dvije simultane transakcije ne mogu
interferirati, tj. križati se. Međurezultati unutar transakcije nisu
vidljivi drugim transakcijama.
* Postojanost - Dovršene transakcije se ne mogu kasnije
prekinuti ili da se njihovi rezultati odbace. One se moraju nastaviti
kroz (na primjer) ponovo pokretanje SUBP-a nakon njegova kraha.
U praksi mnogi SUBP-ovi dopuštaju većini ovih pravila da se selektivno
ublaže radi bolje performanse.
Kontrola podudarnosti je naziv za metodu korištenu radi osiguravanja
da se transakcije izvršavaju na siguran način i da slijede ACIP pravila.
SUBP mora osigurati da su dopušteni serijabilni, nadoknadni rasporedi,
te da nijedna radnja počinjenih transakcija nije izgubljena prilikom
poništenja prekinutih transakcija.
7. Arhitektura BP
Lokalna logicka razina - Cine je aplikacijski programi.
Aplikacijski programi se služe samo dijelom podataka koje postoje u
BP. Taj dio koji oni vide ili se služe, zove se pogled (view).
Globalna logicka razina - Odnosi se na logicku predodžbu
o cijeloj bazi. To je ono što vidi administrator, ili projektant baze.
Zapis logicke definicije zove se shema (schema). To je tekst ili dijagram
kojim se imenuju i definiraju svi podaci, veze medju podacima, te pravila
kojima se cuva integritet baze podataka.
Fizicka razina - To je fizicki prikaz i raspored podataka
na diskovima, tj. vanjskoj memoriji gdje se podacicuvaju. S ovom razinom
su upoznati samo programeri koji su napisali DBMS. Ova razina ima svoje
podstrukture: prostor na disku (colindri i blokovi) te datoteke s zapisima.
Raspored pohranjivanja opisuje kako se logicke definicije
preslikavaju na fizicke uredjaje. Za stvaranje baze podataka potrebno
je zadati shemu i poglede, a DBMS ce tada automatski se pobrinuti za
raspored i zapisivanje podatak na fizickoj razini. Programi i korisnici
ne pristupaju podacima direktno, vec posrestvom DBMS. Komunikacija programa
i korisnika sa DBMS se obavlja na lokalnoj logickoj razini.
Slika 2.
8. Modeliranje podataka
Razliciti pogledi na podatke, otkriveni u fazi analize, sintetiziraju
se u jednu cjelinu - globalnu shemu. Precizno se utvrduju tipovi podataka.
Shema se dalje dotjeruje (“normalizira”) tako da zadovolji neke zahtjeve
kvalitete. Takoder, shema se prilagodava ogranicenjima koje postavlja
zadani model podataka, te se dodatno modificira da bi bolje mogla udovoljiti
zahtjevima na performanse. Na kraju se iz sheme izvode pogledi (pod-sheme)
za pojedine aplikacije (grupe korisnika).
9. Implementacija
Na osnovu sheme i pod-shema, te uz pomoc dostupnog DBMS-a, fizicki
se realizira baza podataka na racunalu. U DBMS-u obicno postoje parametri
kojima se moze utjecati na fizicku organizaciju baze. Parametri se podesavaju
tako da se osigura efikasan rad najvaznijih transakcija. Razvija se
skup programa koji realiziraju pojedine transakcije te pokrivaju potrebe
raznih aplikacija. Baza se inicijalno puni podacima.
10. Testiranje
Korisnici pokusno rade s bazom i provjeravaju da li ona zadovoljava
svim zahtjevima. Nastoje se otkriti greske koje su se mogle potkrasti
u svakoj od faza razvoja: dakle u analizi potreba, modeliranju podataka,
implementaciji. Greske u ranijim fazama imaju teze posljedice. Na primjer,
greska u analizi potreba uzrokuje da transakcije možda korektno rade,
no ne ono sto korisnicima treba vec nesto drugo.
Dobro bi bilo kad bi takve propuste otkrili prije implementacije. Zato
se u novije vrijeme, prije prave implementacije, razvijaju i priblizni
prototipovi baze podataka, te se oni pokazuju korisnicima. Jeftinu izradu
prototipova omogucuju jezici 4. generacije i objektno-orijentirani jezici.
11. Održavanje
Odvija se u vrijeme kad je baza vec usla u redovnu upotrebu. Sastoji
se od sljedeceg: popravak grešaka koje nisu bile otkrivene u fazi testiranja;
uvodenje promjena zbog novih zahtjeva korisnika; podesavanje parametara
u DBMS u svrhu poboljšavanja performansi. Odrzavanje zahtijeva da se
stalno prati rad s bazom, i to tako da to pracenje ne ometa korisnike.
Administratoru baze podataka trebaju stajati na raspolaganju odgovarajuci
alati (utility programi).
12. Životni ciklus baze podataka
Svaka baza podatak ima svoj životni vijek, pocetak kada je projektirana,
pa do njene implementacije i održavanja. U grubo se to može podjeliti
na 5 faza.
1. Analiza potreba
2. Modeliranje podataka
3. Implementacija
4. Testiranje
5. Održavanje
Uvodenje baze podataka u neko poduzece ili ustanovu predstavlja složeni
zadatak koji zahtijeva timski rad strucnjaka raznih profila. To je projekt
koji se moze podijeliti u pet faza: analiza potreba, modeliranje podataka,
implementacija, testiranje i odrzavanje.
Slika 3.
13. Ciljevi
Fizicka nezavisnost podataka - razdvaja se logicka
definicija baze podataka od njene stvarne fizicke grade. Promjena nacina
zapisivanja podataka na disku nece utjecati na aplikacije.
Logistička nezavisnost podataka - razdavaja se logička
definicija cijele baze podataka od lokalnih logickih definicija za jednu
aplikaciju. Uvodenje novih veza i vrsta podataka ne utjece na postojece
aplikacije.
Čuvanje integriteta - automatsko cuvanje konzistencije
i integriteta podataka.
Posebno za višekorisnicke baze podataka, ali i za druge slucajeve: greške
u aplikacijama i sw, kvarovi hardwara . . .
Fleksibilnost pristupa - Dopušta se korisniku slobodno
prebiranje po podacima, dok je to u starijim DB do bilo ograniˇceno,
te se je do podataka dolazilo strogo utvrdenim redosljedom.
Efikasan rad - Operacije se moraju obavljati brzo,
posebno za velike DB.
Sigurnost - mora postojati zaštita od uništeja baze,
npr. zbod hardwarskog kvara, ali i neovlašenog mijenjanja podataka.
Podešavanje baze i kontrola - Baze podataka traže
stalnu brigu: rutinsko održavanje, pracenje perfomansi i njihovo poboljšanje
radi efikasnosti, razvoj aplikacija, nadopunjavanje. Ovi se poslovi
obavljaju centralizirano od osobe, administratora baze podataka. Administratoru
za to služe razna
pomagala (alati, programi) a jedno od njih je rjecnik podataka (baza
o bazi).
14. Jezici za rad s bazom podataka
Komunikacija korisnika (aplikacija) s DBMS odvija se pomocu posebnih
jezika, koji se tradicionalno dijele na tri kategorije.
- Jezik za opis podataka
(Data Description Language - DDL)
- Jezik za manipuliranje podacima
(Data Manipulation Language - DML)
- Jezik za postavljanje upita
(Query Language - QL)
15. Modeli podataka
Podaci su logicki organizirani po nekom modelu. Model cini osnovu za
osmišljavanje, definiranje i implementiranje baze podataka.
Današnji DBMS podržavaju tri osnovna modela:
Relacijski model je zasnovan na matematickom pojmu relacije
Podaci i veze medju podacima se prikazuju preko dvodimenzionalnih tabela.
Vecina suvremenih baza podataka služi se ovim modelom.
Slika 4.
Mrežni model
može se predociti usmjerenim grafom u kojem su cvorovi podaci a lukovi
medju cvorovima definiraju veze medju podacima.
Slika 5.
Hijerarhijski model
cine hijerarhijski organizirani podaci (npr. datotecni sustav na Unixu).
Slika 6.
Objektni model
Inspiriran je objektno-orijentiranim programskim jezicima. Baza je skup
trajnopohranjenih objekata koji se sastoje od svojih internih podataka
i “metoda” (operacija) za rukovanjes tim podacima. Svaki objekt pripada
nekoj klasi. Izmedju klasa se uspostavljaju veze nasljedivanja, agregacije,
odnosno medjusobnog korištenja operacija.
LITERATURA:
- Robert Manger-Baze Podataka,Sveučilište u Zagrebu,Zagreb,veljača
2008.
- Date C.J.: An Introduction to Database Systems, 8th Edition. Addison-Wesley,
Reading MA, 2003.
- Silberschatz A., Korth H.F., Sudarshan S.: Database System Concepts,
5th Edition. McGraw-Hill,New York, 2005.
- Ramakrishnan R., Gehrke J.: Database Management Systems, 3rd Edition.
McGraw-Hill, New York, 2002.
- Abiteboul S., Hull R., Vianu V.: Foundations of Databases. Addison-Wesley,
Reading MA, 1995.
- Van der Lans R.F.: Introduction to SQL, 4th Edition. Addison-Wesley,
Reading MA, 2006.
- Tharp A.L.: File Organization and Processing. John Wiley and Sons,
New York, 1988.
- Varga M.: Baze podataka - konceptualno, logiˇcko i fiziˇcko modeliranje
podataka. DRIP, Zagreb, 1994.
- Widenius M., Axmark D.: MySQL Reference Manual. O’Reilly, Sebastopol
CA, 2002.
- Zdravko Galič,Geo prostorne Baze podataka,Golden Marketing Tehnička
Knjiga,Zagreb,2006.
WEB:
http://hr.wikipedia.org/wiki/Baza_podataka
http://grdelin.phy.hr/~ivo/Nastava/Baze_podataka/
http://web.studenti.math.hr/
PROČITAJ
/ PREUZMI I DRUGE SEMINARSKE RADOVE IZ OBLASTI:
|
|