Upload
laufer94
View
23
Download
0
Embed Size (px)
DESCRIPTION
uvod iz baza podataka
Citation preview
BAZE PODATAKA
prof. dr Predrag StaniiPrirodno-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
Baza podataka
Sistem za upravljanje bazama podataka
Klijent Klijent Klijent
Nivoi apstrakcije Bazu podataka moemo posmatrati na tri
nivoa apstrakcije (tzv. ANSI\SPARC arhitektura):
FIZIKI NIVO LOGIKI NIVO NIVO POGLEDA
Nivoi apstrakcije
Fiziki nivo
Logiki nivo
Nivo pogleda
Pogled 1 Pogled 2 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 modeli 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 catalogStatistika, 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 DBMSNaivni korisnici korisnici
DBMS
disk
Fajlovi podatakaIndeksi Statistiki podaci
Katalog
Obraiva upita
Upravljanje baferom
Upravljanje fajlovimaUpravljanje
transakcijama
DDL interpreter
DML kompajlerIzvrilac upita
Upravlja skladi-tenjem
Interfejsi aplikacija
DML prekompajler
Sofisticiranikorisnici
DBAAplikativni programeri
UPITIApl. programi
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