You are on page 1of 27

BAZE PODATAKA

prof. dr Predrag Stanii


Prirodno-matematiki fakultet

DIO I

UVOD I OSNOVNI
POJMOVI

Nastanak i cilj DBMS


Baza podataka (database) je kolekcija logiki
povezanih podataka, ukljuujui i podatke o tim
podacima, koja je dizajnirana da zadovolji
informacione potrebe neke organizacije.
Pojam nastao ezdesetih godina kao posljedica
velikih problema koji su postojali u
tradicionalnom pristupu razvoju softverskih
sistema za uvanje podataka i njihovu obradu.
Tradicionalni pristup se zasnivao na tome da se
napravi jedan ili vie fajlova koji slue za uvanje
podataka a zatim piu aplikacije koje rade sa tim
fajlovima.

Nedostaci tradicionalnog pristupa


Definicija podataka se u sutini nalazi u
samim programima
Podaci nemaju jasnu strukturu
Ne postoji nikakva kontrola nad pristupom i
manipulacijom podacima, izuzev one koja
se nalazi u samim programima.

Nedostaci tradicionalnog pristupa

Ponavljanje i nekonzistentnost podataka.


Tekoe u pristupu podacima.
Izolacija podataka.
Slaba mogunost oporavka od kvara.
Problemi pri viekorisnikom radu.
Loa bezbjednost od neovlaenog pristupa.
Teko je odravati integritet podataka.

Nedostaci tradicionalnog pristupa


Rezultat je potencijalna ogromna sloenost i
loa struktura sistema, velika sloenost ili
nemogunost izmjena u sistemu, mogua
nekonzistentnost podataka, problemi u
viekorisnikom radu, tekoe u dobijanju
potrebne informacije, itd.

Kako rijeiti ove probleme?


Dolo se do zakljuka da se podaci moraju
razdvojiti od programa koji rade sa njima, da im se
mora obezbijediti jasna struktura koja se moe
dopunjavati, sa minimalnim moguim
ponavljanjem podataka.
Takoe, postalo je jasno da mora postojati
uniforman nain pristupa tim podacima, koji nee
izazivati probleme u radu i koji e uvati
konzistentnost podataka.

DBMS
Za efikasno ispunjenje ovih zadataka, kao i
mnogih drugih, mora se koristiti poseban
softverski sistem. Takav skup programa je
SISTEM ZA UPRAVLJANJE
BAZAMA PODATAKA
ili
DATABASE MANAGEMENT SYSTEM
(DBMS).

Klijent/Server arhitektura
Klijent

Klijent

Klijent

Sistem za upravljanje
bazama podataka

Baza
podataka

Nivoi apstrakcije
Bazu podataka moemo posmatrati na tri
nivoa apstrakcije (tzv. ANSI\SPARC
arhitektura):
FIZIKI NIVO
LOGIKI NIVO
NIVO POGLEDA

Nivoi apstrakcije
Nivo pogleda
Pogled 1

Pogled 2

...

Logiki nivo

Fiziki nivo

Pogled n

Instanca i shema
Ukupna informacija uskladitena u bazi podataka
u odreenom vremenskom trenutku je
INSTANCA baze podataka.
Dizajn, tj. opta struktura baze podataka naziva se
SHEMOM (ili emom) baze podataka.
Baza podataka tipino ima:
JEDNU FIZIKU SHEMU;
JEDNU LOGIKU SHEMU;
NEKOLIKO PODSHEMA.

Nezavisnost podataka
Mogunost promjene sheme na jednom nivou, bez
mijenjanja sheme na sledeem viem nivou.
FIZIKA NEZAVISNOST (promjena fizike sheme
ne odraava se na logiku)
LOGIKA NEZAVISNOST (promjena logike
sheme ne odraava se na podsheme niti na korisnike
programe) tee je ostvariti.

Modeli podataka
Model podataka je skup konceptualnih alata za
definisanje podataka, veza meu podacima,
znaenja podataka i ogranienja na podacima.
Postoje razni modeli podataka:
Hijerarhijski model
Mreni model
Model entiteti/veze
Relacioni model
Objektno-orijentisani model
i mnogi drugi

Vrste modela
LOGIKI MODELI ZASNOVANI NA
OBJEKTIMA
LOGIKI MODELI ZASNOVANI NA
REKORDIMA (ZAPISIMA,
SLOGOVIMA)
FIZIKI MODELI

Jezici baza podataka


DBMS sadri
jezik koji slui za definisanje baze podataka (data
definition language DDL)
jezik za manipulaciju podacima
(data manipulation language DML)
jezik za kontrolu sistema
(data control language DCL)
esto i vii programski jezik, integrisan sa DML i
DDL.
Ponekad se izdvajaju djelovi, npr. DSL, VDL.

Manipulacija podacima

Skladitenje podataka
Brisanje podataka
Mijenjanje podataka
Izvlaenje podataka (upit, engl. query).

Upitni jezik
Nekorektno, itav DML a ponekad i DDL i
DCL nazivaju se UPITNIM JEZIKOM
(query language).
Primjeri:
SQL (Structured Query Language)
QBE (Query By Example)
QUEL

Upravljanje transakcijama
Transakcija je kolekcija operacija koja se izvodi kao
jedna logika funkcija.
ACID svojstva

Atominost (sve ili nita)


Konzistentnost (uva integritet baze)
Izolacija (ostale ne vide njene efekte, do zavretka)
Trajnost (nakon zavretka i ako se srui sistem, njene
promjene su trajne)

Transakcijama upravlja komponenta DBMS


UPRAVLJA TRANSAKCIJAMA
(transaction manager)

Upravljanje skladitenjem
Fiziki detalji su zadatak sistema, korisnici rade na
viim nivoima apstrakcije.
UPRAVLJA SKLADITENJEM (storage manager) je
komponenta sistema odgovorna za izvravanje DDL i
DML reenica, tj. za njihovo prevoenje u niz naredbi
fajl sistemu, uz odgovarajue upravljanje memorijom.
Mora biti EFIKASAN u pogledu brzine i prostora.
UPRAVLJANJE FAJLOVIMA (na disku)
UPRAVLJANJE BAFEROM (prenos disk-memorija)

DBA
Database administrator (administrator baze
podataka)
Definisanje i modifikovanje sheme
Definisanje i modifikovanje detalja skladitenja i
metoda pristupa podacima
Definisanje i modifikovanje integriteta
Davanje prava pristupa bazi
Arhiviranje podataka, uvoz, izvoz, replikacija.
Nadgledanje i podeavanje performansi sistema.

Korisnici
Aplikativni programeri (koriste DML u
svojim programima)
Specijalizovani korisnici (koriste DBMS kao
osnovu za razvoj drugih sistema, npr. CAD)
Sofisticirani korisnici (direktno se obraaju
sistemi sa upitom)
Naivni (krajnji korisnici)

Data dictionary ili catalog


Statistika, indeksi
Data dictionary (renik podataka) ili catalog
(sistemski katalog) sadri metapodatke, tj. podatke
o podacima.
Obino se metapodaci uvaju na slian nain kao i
sami podaci.
Sistem uva i
STATISTIKU o podacima,
INDEKSE (strukture podataka koje omoguuju brz
pristup osnovnim podacima)

Izvravanje upita
OBRAIVA UPITA (query processor)
komponenta koja analizira i izvrava upite.
IZVILAC UPITA (query evaluation
engine) - dio za samo izvravanje upita,
komunicira sa upravljaem skladitenjem.

Izvravanje upita
DDL INTERPRETER sa drugim komponentama
izvrava reenice DDL-a i smjeta metapodatke u
katalog.
DML KOMPAJLER prevodi reenice DML-a u
neku pogodnu unutranju formu
OPTIMIZATOR UPITA analizira upit i trai
najbolji nain za njegovo izvravanje, korienjem
kataloga, indeksa, statistike, ...

Arhitektura DBMS
Aplikativni
programeri

Naivni korisnici

Interfejsi aplikacija Apl. programi


DML
prekompajler

Upravljanje
transakcijama

Sofisticirani
korisnici

Izvrilac upita

DDL
interpreter Obraiva
upita

Upravljanje baferom

Upravlja
skladitenjem

Upravljanje fajlovima

Fajlovi podataka

korisnic

UPITI

DML kompajler

Indeksi

DBA

Statistiki podaci
Katalog

DBMS

disk

Komercijalni sistemi
'Ozbiljni', 'industrijski' DBMS kao to su

Oracle
SQL Server
Informix
IBM DB2
Sybase

Postoje i stoni (desktop) DBMS, kao

Microsoft Access
Microsoft Fox Pro
Borland dBase
Interbase

You might also like