Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 7

01 Uvod u baze podataka

Udbenik:
1. Vladimir Blagojevi: Relacione baze podataka I, izdava Klub Nkola Tesla, Beograd

SISTEM. INFORMACIONI SISTEM.


BAZE PODATAKA
Za sistem kaemo da predstavlja skup nekih objekata i odnosa izmeu njih. Odnosno, unutar svakog
sistema moemo da uoimo neke objekte i odnose izmeu tih objekata. Primer jednog sistema je
biblioteka. Objekti u ovom sistemu su npr. knjige, autori i lanovi biblioteke. A odnosi koji mogu
postojati izmeu ovih objekata je npr. da neki lan trenutno dri neku knjigu, ili da je neki autor napisao
neku knjigu. Kao sistem moemo posmatrati i jedno odeljenje, kolu, bolnicu...
Kada posmatramo odreeni sistem, mi ne moramo posmatrati sve objekte i odnose koji postoje
unutar tog sistema. Mi iz sistema izdvajamo one objekte i odnose koji su za nas bitni. U navedenom
primeru gde smo kao sistem uzeli biblioteku, mogu se uoiti jo neki objekti i neki novi odnosi (koje
moemo smatrati bitnim ili nebitnim). Na primer, moemo poeleti i da evidentiramo za svaku knjigu na
kojoj polici stoji. Tada su nam bitan objekat i police, kao i odnos izmeu polica i knjiga (tj. koja knjiga
stoji na kojoj polici). Objekti i veze izmeu objekata unutar sistema imaju neka svoja obeleja koja ih
karakteriu. Na primer, obeleja lana biblioteke su ime, prezime, adresa, lanski broj... Kada italac
iznajmi neku knjigu (to predstavlja odnos izmeu itaoca i knjige), obeleje ovog odnosa je datum
iznajmljivanja.
Sistem se u svakom trenutku nalazi u nekom stanju. Stanje sistema u nekom momentu je odreeno
vrednostima obeleja koje karakteriu objekte i veze izmeu objekata unutar sistema u tom momentu.
Stanje sistema moe se menjati. Na stanje sistema deluje se preko nekog ulaza. Sistem odgovara na
dejstvo ulaza nekom promenom stanja (transformacijom). Trenutno stanje sistema moe se opisati preko
izlaza sistema.

Stanje biblioteke karakterie koji su lanovi upisani, koje knjige postoje u biblioteci i da li je knjiga
iznajmljena ili nije, koji naslovi postoje u biblioteci... Svako upisivanje novog lana, ili rashodovanje
neke knjige, ili pozajmljivanje knjige od strane nekog lana, predstavlja ulaz u sistem jer menja njegovo
stanje. Izlaz iz sistema moe da bude bilo koji izvetaj koji nam daje neku informaciju o stanju sistema:
koliko u biblioteci ima knjiga od odreenog autora, da li se neka knjiga nalazi u biblioteci ili ne...

01 Uvod u baze podataka

Iz prethodnog moemo zakljuiti da nam nije dovoljno samo da skupimo podatke o nekom sistemu
(tj. o objektima unutar sistema i njihovim odnosima), poto ti podaci predstavljaju samo trenutno stanje
sistema. Potrebno je odrediti kako se ti podaci menjaju, briu, kako se unose novi podaci, kako se ti
podaci koriste... Tek nakon toga dobijamo jedan informacioni sistem.
Moemo onda rei da je informacioni sistem skup podataka o nekom sistemu i skup postupaka za
njihovo odravanje i korienje. Pod odravanjem podataka podrazumeva se brisanje i menjanje
postojeih podataka, i dodavanje novih podataka. Korienje podataka znai dobijanje onih informacija
koje nas trenutno zanimaju, a na osnovu postojeih podataka.
Vano je napomenuti da se ovde u definiciji koristi i termin podatak i termin informacija, i da se
izmeu njih pravi razlika. Podatak nije isto to i informacija. Podaci su registrovane injenice o neemu
(o nekom objektu, procesu ...). Korienjem podataka i njihovim tumaenjem i dovoenjem u neku vezu
(odnosno obradom podataka) dobijamo informacije. Odnosno, podaci postaju informacije u momenti
njihovog korienja. Na primer, ako ujemo da je spoljna temperatura -10C, to je podatak. Ali ako taj
podatak iskoristimo da na osnovu njega odluimo kako da se obuemo, onda ga moemo smatrati
informacijom.
Znai, osnovu informacionionog sistema ine podaci, bez obzira u kom obliku se oni uvali. Danas je
uobiajeno da se smatra da se informacioni sistemi realizuju korienjem raunara, tj. da se podaci u
informacionim sistemima uvaju u elektronskom obliku. Ali oblik podataka uote nije presudan da bi
neto smatrali informacionim sistemom.
Uzmimo prethodni primer sa bibliotekom. U biblioteci je potrebno imati evidenciju knjiga,
evidenciju autora i evidenciju lanova biblioteke. Takoe je potrebno voditi i evidenciju o zaduivanju
knjiga. Danas se sve to radi pomou raunara i predstavlja jedan oigledan informacioni sistem. Meutim,
i ranije, dok su se jo koristile kutije sa kartonima, to je takoe bio jedan informacioni sistem (istina
manje efikasan). kolski dnevnik je takoe primer jednog informacionog sistema (ako dozvolimo brisanje
i prepravljanje podataka).
I tako dolazimo do pojma baza podataka. Baze podataka spadaju u informacione sisteme, ali ono po
emu su posebne u odnosu na ostale informacione sisteme jeste da se kod baza podataka za odravanje i
korienje podataka koristi softver koji se zove sistem za upravljanje bazom podataka. U skladu sa tim
bazu podataka definiemo kao skup podataka organizovanih za efikasno i jednostavno korienje i
odravanje, pri emu se za kreiranje baze podataka i korienje i odravanje podataka koristi sistem za
upravljanje bazom podataka, SUBP (engl. Database Managament Systems, DBMS). Dakle, SUBP
predstavlja skup programa (softverski sistem) koji kontrolie kreiranje, odravanje i korienje neke baze
podataka. U najpoznatije DBMS spadaju: Oracle, DB2, Microsoft Access, Microsoft SQL Server,
MySQL... Baza podataka zajedno sa sistemom za upravljanjem bazom podataka ini sistem baze
podataka.
Kod tradicionalnih informacionih sistema programi direktno pristupaju podacima koji se nalaze u
datotekama i postoji visok stepen njihove zavisnosti od organizacije podataka u tim datotekama:
2

01 Uvod u baze podataka

Kod baza podataka programi (i korisnici) podacima pristupaju preko DBMS-a koji od programa
skriva detalje organizacije datoteka.

Baza podataka jeste informacioni sistem, ali informacioni sistem koji mora da zadovolji odreene
kriterijume:
Minimalna redundansa (viestruko ponavljanje) podataka
U bazi podataka ne treba da doe do ponavljanja podataka, odnosno to ponavljanje treba da je
minimalno, jer ponekad elimo da doe do ponavljanja odreenih podataka zbog efikasnijeg rada sa
bazom podataka.
Zamislimo da imamo datoteku Reversi u koju prilikom svakog iznajmljivanja knjige unosimo
datum iznajmljivanja knjige, datum vraanja knjige, naziv knjige, prezime i ime autora, izdavaa,
godinu izdanja, prezime i ime lana biblioteke koji je knjigu iznajmio, njegovu adresu, njegov
telefon... Sa ovako organizovanim podacima svaki put kada neki lan iznajmi neku knjigu, mi
unosimo sve podatke o lanu, o iznajmljenoj knjizi i autoru knjige. Ovako ne samo da nepotrebmo
troimo memorijski prostor, nego uslonjavamo i eventualno menjanje podataka (ako neki lan
promeni npr. adresu, tu adresu treba promeniti u svim slogovima datoteke koji sadre podatke o tom
lanu). Dalje, ne moemo dodati podatke o novom lanu sve dok ne iznajmi neku knjigu, ili podatke
o nekom autoru dok neki lan ne iznajmi neku knjigu koju je taj autor napisao. Slino, ako elimo
ukloniti podatke o nekoj knjizi (recimo izgubljena je), moramo to uraditi onoliko puta koliko puta je
knjiga iznajmljena.
Zamislimo sada organizaciju podataka u kojoj imamo etiri datoteke: lanovi (sadri podatke o
lanovima: broj lanske karte, ime, prezime, adresu, telefon), Knjige (sadri podatke o knjigama:
ifru knjige, naziv, oznaku autora, izdavaa, godinu izdanja), Autori (ovde se uvaju podaci o
autorima: oznaka autora, ime, prezime) i Reversi (pamti se datum iznamljivanja knjige, datum
vraanja knjige, ifra iznajmljene knjige, oznaka autora). Na ovaj nain svi problemi prisutni kod
prethodne organizacije podataka su izbegnuti. Odnosno, moe se rei da je (u najveem broju
sluajeva) nije dobro podatke o razliitim objektima uvati u istoj datoteci. Bolje je pamtiti ih u
razliitim datotekama, a veze izmeu slogova u tim datotekama se uspostavljati preko jedinstvenih
identifikatora za objekte. U prethodnom primeru su to broj lanske karte (jedinstven za svakog
lana), ifra knjige (jedinstvena za svaku knjigu), oznaka autora (jedinstvena za svakog autora).
3

01 Uvod u baze podataka

Konzistentnost (korektnost) podataka


Zahteva da ako imamo podatak koji se pojavljuje na vie mesta, i ako na jednom mestu
promenimo taj podatak, taj podatak bude promenjen i na ostalim mestima gde se pojavljuje. U
prethodnom primeru, ako bismo izmenili prezime nekoj itateljici u datoteci citaoci, morali bismo
adresu da izmenimo i slogovima datoteke reversi u kojima se ta itateljka pojavljuje.
Nezavisnost programa od organizacije podataka
Kod obinih informacionih sistema programi direktno pristupaju datotekama sa podacima i
zavisni su od organizacije podataka u datoteci kojoj pristupaju. Ako doe do ubacivanja novog polja
u slog ili bilo kakvog drugog restruktuiranja sloga u nekoj datoteci (a koje ne menja sadraj podataka
koje program koristi), u svim programima koji pristupaju toj datoteci (i onim koji taj novi podatak
koriste i onim koji taj novi podatak ne koriste) moramo vriti izmene (moramo promeniti opis
datoteke). Kod baza podataka, programi bazi pristupaju podacima preko DBMS-a. DBMS od
programa sakriva detalje organizacije datoteke, tako da u prethodnom primeru ne bi bilo nikakvih
promena u programima koji novi podatak ne koriste. Takoe, programi ne bi trebalo da zavise ni od
izabrane fizike organizacije datoteke, izabrane metode pristupa i slino.
Organizacija podataka prema potrebama korisnika
U starijim vrstama baza podataka (mrenim i hijerarhijskim) korisnik je mogao pretraivati
podatke samo na naine predviene prilikom projektovanja i realizacije baze. Danas se od baze
podataka oekuje da omogui da korisnik po svom nahoenju moe uspostavljati veze izmeu
podataka, odnosno podrazumeva se mogunost definisanja izvedenih slogova sa podacima. To ne
znai da ti podaci tako kako su predstavljeni korisniku negde postoje fiziki zapisani. Oni se kada je
potrebno izvode iz podataka koji fiziki postoje u datotekama baze podataka. Kaemo da svaki
korisnik moe da ima svoj pogled na podatke.

Sigurnost
Sigurnost podrazumeva da je mogue kontrolisati pristup podacima, u smislu ko moe da
pristupa bazi podataka, kojim podacima moe da pristupi i ta sa podacima moe da radi.
Konkurentnost
Podrazumeva istovremeni rad vie korisnika sa bazom.
Integritet
Podrazumeva automatski oporavak baze podataka, tj. vraanje baze u korektno (tzv.
konzistentno) stanje iz nekog nekorektnog (nekonzistentnog) stanja. U nekonzistentnom stanju baza
se moe nai usled delimino izvrenih operacija na podacima, u situacijama kao to su npr.
prestanak napajanja, oteenje diskova na kojima se nalazi baza itd.
Zadovoljavajua brzina pristupa podacima
Operacije sa podacima moraju se odvijati dovoljno brzo.
Sve ovo omoguava DBMS.
Postoje dva naina rada sa DBMS:
Interaktivni (korisnik direktno komunicira sa DBMS, preko upita)

01 Uvod u baze podataka

Programirani (korisnik pokree program koji pristupa DBMS, tako da korisnik komunicira sa
DBMS-om preko programa pisanog u nekom programskom jeziku, a koji sadri naredbe za pristup
DBMS-u)

Razlikujemo logiku i fiziku strukturu podataka unutar baze podataka.


Logika struktura definie kako povezujemo i grupiemo podatke. Primeri dve organizacije podataka
u biblioteci navedeni kod minimalne redundanse (strana 3) su primer dve razliite logike strukture.
Fizika struktura podataka definie nain memorisanja podataka na spoljnim memorijama (mada
postoje i baze podataka realizovane u operativnoj memoriji, tzv. tranzijetne). Npr. to ukljuuje koju vrstu
datoteka emo izabrati (kasnije ete videti da postoji vie vrsta datoteka). Fizika struktura je aspekt
kojeg vide programeri koji su razvili DBMS. Korisnici koji koriste bazu podataka ne bave se fizikom
strukturom podataka.
Logika i fizika struktura podataka predstavljaju se preko modela podataka. Model podataka je
pojednostavljena slika nekog realnog sistema koja predstavlja osnovu za projektovanje i realizaciju baze
podataka.
Imamo etiri razliita modela podataka:
mreni model
hijerarhijski model
relacioni model
objektni model
pa u skladu sa tim i etiri vrste baza podataka: baze podataka zasnovane na mrenom modelu, na
hijerarhijskom modelu, na relacionom modelu i na objektnom modelu. Mreni i hijerarhijski model bili su
aktuelni 60-tih i 70-tih godina prolog veka. Objektni model je najnoviji. Za relacijski model moe se
rei da preovladava, od 80-tih godina pa do danas.
Osnovni zadaci koje treba da obezbedi svaki DBMS su:
1. Definicija baze podataka
Ovo znai opisati strukturu baze podataka.
2. Manipulacija nad bazom podataka
Treba da omogui odravanje i korienje baze podataka, odnosno operacije sa podacima.
3. Kontrola pristupa bazi podataka
Mora se omoguiti kontrola pristupa podacima. Kontrola pristupa podacima ima tri nivoa:
ko moe da pristupa bazi podataka, odnosno ko su sve korisnici baze
kojim podacima mogu korisnici da pristupe
ta korisnici mogu da rade sa podacima kojima imaju dozvolu pristupa
Pored podataka o samom sistemu koji se modelira, u bazi podataka nalaze se jo neki podaci. Podaci
se javljaju u tri vida:
1. Osnovni podaci
Ovi podaci su korisniki podaci, odnosno podaci o objektima i odnosima unutar tog sistema.
5

01 Uvod u baze podataka

2.

Renik podataka
Renik podataka sadri definicioni opis baze podataka, odnosno podatke o strukturi baze. Ovi podaci
zovu se jo i metapodaci.
3. Registar korisnika
U registru korisnika nalaze se podaci o korisnicima i njihovim pravima pristupa. Ovde se nalaze
podaci koji govore ko moe da pristupi bazi (navedeni su korisnici i njihove lozinke); kojim sadrajima u
bazi moe pristupiti (kojim tabelama, da li moe pristupiti svim podacima iz tabele...); kada pristupi
podacima za koje mu je dozvoljen pristup ta moe da radi sa njima (da ubaci nove, brii postojee, menja
postojee, selektuje podatke koji mu trebaju).
Jezici baza podataka mogu se podeliti na:
1. Jezik za opis podataka (engl. Data Description Language, DLL1)
Ovim jezikom se definie baza podataka, odnosno opisuju se podaci i veze izmeu podataka.
2. Jezik za manipulisanje podataka (engl. Data Manipulation Language, DML)
Ovaj jezik se koristi da se pristupi podacima i oni itaju i menjaju.
3. Jezik za postavljanje upita, ili upitni jezik (engl. Query Language, QL)
Ovo nije proceduralni jezik, i podsea na govorni jezik. Upitni jezik se koristi za postavljanje
upita kojima se pretrauju podaci u bazi, a da bi se dobili podaci koji nas zanimaju. Naredbe
ovog jezika samo odreuju koje podatke elimo da dobijemo, ali ne i kako do njih doi.
Ovakva podela na tri jezika danas je ve poprilino zastarela. Danas postoji tendencija da se sva tri
jezika objedine. Primer takvog objedinjenog jezika je SQL. On slui za definisanje podataka, upravljanje
podataka i pretraivanje podataka. SQL je raspoloiv u mnogim sistemima za upravljanje bazama
podataka (verzije SQL-a u razliitim sistemima za upravljanje bazama podataka mogu se razlikovati, ali
ne bitno), to je dobro jer nije potrebno uiti novi jezik prilikom prelaska sa jednog SUBP-a na drugi.
Naglasimo da gore spomenute vrste jezika nisu programski jezici. Dakle ti jezici su nam nuni da bi
se povezali s bazom, no oni nam nisu dovoljni za razvoj aplikacija koje e neto raditi s podacima iz baze.
U prolosti su se za ravoj aplikacija koje rade sa bazom koristili klasini programski jezici sa
ugnjeenim DML naredbama (COBOL, PL/I, C, Pascal...). U dananje vrijeme, aplikacije se najee
razvijaju u standardnim objektno orijentisanim programskim jezicima (Java, C++, ...). Za rad sa bazom
koriste se unapred pripremljene klase objekata.
Uvoenje baze podataka u neko preduzee, ustanovu ili bilo koji drugi sistem moe se podeliti u pet
faza:
analiza potreba
modeliranje podataka
implementacija
testiranje
odravanje
Prvo posmatramo sistem za koji uvodimo bazu podataka i prouavamo kako taj sistem funkcionie, a
zatim uoavamo podatke o objektima i vezama unutar tog sistema, utvrujemo kako koji su nam podaci
bitni, kako i gde emo ih koristiti Ova faza obino podrazumeva kontakte sa osobama koje pripadaju
sistemu koji se modelira i koje e projektantu baze pomoi u razumevanju funkcionisanja sistema,
definisanju terminologije itd
Faza modeliranja podataka je faza u kojoj se definie baza podataka. U ovoj fazi se definiu vrste
podataka i veze izmeu njih, a prema informacijama dobijenim analizom potreba.
Prethodne dve faze pripadaju planiranju baze. Na osnovu eme baze podataka dobijene prilikom
modeliranja podataka (u drugoj fazi) korienjem DBMS-a fiziki se realizuje baza podataka na raunaru.
Takoe se razvijaju i dodatne aplikacije potrebne za rad i baza se inicijalno puni podacima.
Testiranje i ovde podrazumeva proveru svega uraenog i otkrivanje greaka, kako u programiranju
tako i u strukturi baze.
Ova faza nastupa nakon to je baza zaivela i poela da se koristi. Sastoji se u otklanjanju manjih
greaka koje nisu primeene prilikom testiranja nego u redovnoj upotrebi i u uvoenju nekih promena
1

Naziv DDL, kao i sledea dva , DML i QL su opti nazivi. Svaki DBMS koristi neki konkretan jezik za svaki od ova tri jezika

01 Uvod u baze podataka

bilo zbog novih zahteva korisnika bilo zbog efikasnijeg rada baze. Odravanje zahteva da se stalno prati
rad sa bazom, ali na nain koji najmanje ometa korisnike baze.

You might also like