Baze podataka Uvod

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