of 55 /55
BAZE PODATAKA Uvod

CS206 --- Electronic · PDF fileRečnik podataka je "baza podataka o bazi podataka", pa se taj deo baze podataka naziva imetabaza podataka

  • Author
    vudieu

  • View
    222

  • Download
    4

Embed Size (px)

Text of CS206 --- Electronic · PDF fileRečnik podataka je "baza podataka o bazi podataka", pa se...

  • BAZE PODATAKAUvod

  • 2

    BAZE PODATAKA UVOD (1/3)

    Baza podataka se struktuirana kolekcija podatakakoja postoji relativno dugo i koju najoptije moe definisati kao dobro koristi i odava, po pravilu, vie korisnika, odnosno programa (aplikacija).

    Izuavanju baza podataka moe se pristupiti sa dvarazliita, meusobno povezana aspekta u kojima se one tretiraju bilo kao:

    Sistemi za upravljanje bazom podataka SUBP(Data BaseManagement System-DBMS)Modeli podataka intelektualni alata za projektovanje i razvoj BP

  • 3

    BAZE PODATAKA UVOD (2/3)

    Sistemi za upravljanje bazom podataka (Database Management Systems), specifina tehnologija obrade podataka, odnosno softverski sistem koji obezbeuje osnovne funkcije obrade velike koliine podataka: jednostavno pretraivanje i odravanje podataka, viestruko paralelno (konkurentno) korienje istog skupa podataka, pouzdananost i sigurnost), Modeli podataka, odnosno specifine teorije pomou

    kojih se specifikuje, projektuje i implementira neka konkretna baza podataka ili informacioni sistem, uopte.

    Sistemi za upravljanje bazom podataka obino se zasnivajuna nekom modelu podataka.

  • 4

    BAZE PODATAKA UVOD (3/3)

    MODELI PODATAKA - PROJEKTOVANJE BAZA PODATAKA

    SISTEMI ZA UPRAVLJANJE BAZOM PODATAKA- RAZOJ SOFTVERA U OKRUENJU BAZA PODATAKA

  • 5

    BAZE PODATAKA -SISTEMI ZA UPRAVLJANJE BAZOM PODATAKA

    (SUBP)

  • 6

    KONVENCIONALNA OBRADA - SISTEM DATOTEKA

    Redudansa podatakaLogika i fizika zavisnost podataka i programaNiska produktivnost u razvoju sistemaNezadovoljavajue pouzdan (otkazi sistema)Ne obezbedjuje tanost i konzistentnost pri paralelnom radu

    RADNINALOG

    LANSIRANJEPROIZVO-

    DNJE

    PROIZ-VODI

    PRATE]ADOKUMENT

    .

    RADNAMESTA

    TEHN.POSTU-

    PAK

    OBRA^UN..LIST

    OBRADALI^NIH

    ZARADA

    RADNALISTA

    RAD-NICI

    OTPREM-NICA

    PRODAJA

    KUPCIFINALNI

    PROI-ZVODI

  • 7

    SISTEM ZA UPRAVLJANJE BAZOM PODATAKA SUBP

    Skladitenje podataka sa minimumom redundanse;Pouzdanost podataka i pri moguim hardverskim i softverskimotkazima;Pouzdano paralelno korienje zajednikih podataka od strane vieovlaenih korisnika;Logiku i fiziku nezavisnost programa od podataka. Jednostavnu komuniciranju sa bazom podataka preko jezika bliskihkorisniku, tzv upitnih jezika

    RADNINALOG

    LANSIRANJEPROIZVO-

    DNJE

    PRATE]ADOKUMENT.

    OBRA^UN..LIST

    OBRADALI^NIH

    ZARADA

    BAZAPOADATAKA

    OTPREM-NICA

    PRODAJA

    S ISTEM ZAUPRAVLJANJE

    BAZOM PODA TAKA

  • 8

    BAZA PODATAKA

    MODEL PODATAKA

    OPIS BAZEU DDL-U (JOP-U)

    APLIKACIJA UPROGRAMSKOM JEZIKU (PL) SA

    UPITNIM JEZIKOMDIREKTAN UPIT(UPITNI JEZIK)

    PROCESIRANJEOPISA BAZE,APLIKACIJA I

    UPITA

    UPRAVLJANJESKLADI[TENJEM

    PODATAKA

    UPRAVLJANJETRANSAKCIJAMA I

    OPORAVKOM

    KOMPONENTE SUBP-a

  • 9

    BAZA PODATAKA (1/2)Velike baze podataka pored diskova (sekundarnememorije) zahtevaju i tzv tercijalnu memoriju. Jedinicetercijalne memorije imaju kapacitet reda terabajta (1000 gigabajta, odnosno 1012 bajta). Na primer, sistemkompakt diskova sa robotom za izbor konkretnog diska. Oigledno je da je pristup podacima na tercijalnojmemoriji znatno sporiji ( nekoliko sekundi) od pristupapodacima na diskovima (10 -20) milisekundi.

    Sistem za upravljanje skladitenjem podataka mora daobezbedi jednoobrazan pristup podacima na svim vrstamamemorije.

  • 10

    BAZA PODATAKA (2/2)Baza podataka, pored podataka, sadri i metapodatke, odnosno tzv Recnik podataka (Data Dictionary, Data Directory, Catalog). Renik baze podataka opisujeposmatranu bazu podataka (strukturu baze, pravilaouvanja integriteta podataka, prava korienja i slino). Renik podataka je "baza podataka o bazi podataka", pa se taj deo baze podataka naziva i metabazapodataka.

    SUBP odrava i bazu indeksa. Index, najoptije, predstavlja strukturu podataka koja omoguava brzpristup indeksiranim podacima baze. Najeastruktura indeksa je B-stablo. Recnik podataka sadri i opis indeksa posmatrane baze.

  • 11

    SISTEM ZA UPRAVLJANJE SKLADITENJEM PODATAKA

    Sadri dve osnovne komponente, Upravljanje baferima(Buffer Manager) i Upravljanje datotekama (File Manager).

    Upravljanje datotekama vodi rauna o lokaciji datoteka i o pristupima blokovima (4.000 do 16.000 bajta) podatakana zahtev Upravljanja baferima.

    Upravljanje baferima prihvata blok podataka sa diska, dodeljuje mu izabranu stranicu centralne memorije, zadrava ga izvesno vreme, u skladu sa ugraenimalgoritmom upravljanja baferima, a zatim vraa na disk oslobaajui dodeljenu mu stranicu.

  • 12

    ODRAVANJE EME BAZE PODATAKA

    Odravanje eme (opisa) baze podataka. ema bazepodataka opisuje strukturu baze podataka, pravilaintegriteta i prava korienja . Odravanje eme bazepodataka podrazumeva prvo kreiranje, a zatim i modifikovanje ovog opisa koji se uva u Renikupodataka

    Data Definition Language - DDL (Jezik za opispodataka - JOP) koji se koristi za odravanje eme bazepodataka - naziv za konvencionalne baze

    Object definition language - ODL za objektne baze

  • 13

    UPITI I UPITNI JEZICI (1/2)Upitni jezici -Neproceduralni jezici sadrekonstrukcije preko kojih se samo specifikuju uslovi kojetreba da zadovolji eljeni rezultat, a ne i procedurapomou koje se dobija taj rezultat.

    Osnovni zadatak Procesora upita (Query Processor) je da transformie neproceduralni iskaz u sekvencuzahteva koje treba da realizuje Sistem za upravljanjeskladitenjem podataka

    Optimizacija upita je nalaenje najpogodnijeprocedure za realizaciju neproceduralnog iskaza. Optimizacija upita koristi podatke iz Renika podataka: opis strukture, pravila integriteta, prava pristupa i definiciju indeksa.

  • 14

    UPITI I UPITNI JEZICI (2/2)SQL:1999 (Structured Query Language) -standardni upitni jezik za relacione baze podataka(i objekno-relacione)

    OQL (Object Query Language) - standardni upitnijezik za objektne baze podataka

    SQL:1999 = SQL3

    SQL92 = SQL2 prethodni standard

  • 15

    DATA MANIPULATION LANGUAGE - DML

    Jezik za manipulaciju podataka - JMP (Data Manipulation Language - DML) je opte ime za jezikpreko koga se pristupa podacima u bazi i oni itaju i menjaju.U relacionim bazama podataka DML je (kao i DDL) SQL.U starijim bazama (mrenom i hijerarhijskom) postojalisu specifini DML koji su praktino bili ugraeni u programski jezik ("jezik domain").Ista strategija se koristi i u objektnim bazama, s tim toje ovde i ODL DML

  • 16

    OKRUENJE ZA RAZVOJ APLIKACIJA (1/2)

    I. Jezici IV generacije - generatori aplikacija(Relacioni model). Generiu se aplikacije na osnovuslinosti struktura dela baze(tabela) i korisnikoginterfejsa. Dvoslojna softverska arhitektura - vrstaveza baze i korisnikog interfejsa. Problemi koji odatleproizilaze su znaajni.

    II. Aplikacija se razvija u nekom programskom jeziku("jeziku domainu") u koga se na neki nain ugraujeDML.

  • 17

    OKRUENJE ZA RAZVOJ APLIKACIJA (2/2)

    Bitno se razlikuju naini ugraivanja DML-a u relacionimi objektnim bazama.U relacionim bazama postoji tzv" impedance mismatch" jezika domaina i SQL-a. Cilj je da se ostvari nezavisnost jezika domaina i upitnog jezika. U objektnim bazama DML se potpuno prilagoava programskom jeziku. Zato postoje C++ Binding, Java Binding, Smalltalk Binding.

  • 18

    DISTRIBUIRANE BAZE I RAZNE VRSTE KLIJENT-SERVER OKRUENJA

    Distribuirane baze ostvarivanje transparentnosti distribucijeKlijent-server okruenja:

    Ostvarivanje konekcije sa BPCall-Level Interface (CLI)

    ODBCJDBC

    Razliite vrste "middleware" sloenih komponenti za komunikaciju sa distribuiranim objektima (CORBA, .NET, EJB)

  • 19

    TRANSAKCIJA (1/4)

    Transakcija je niz operacija nad bazom podatakakoji odgovara jednoj logikoj jedinici posla u realnomsistemu.

    Uitaj iznosp za prenos;Nai raun R1 sa koga se iznosp skida;Upii iznosR1 - iznosp na raun R1;Nai raun R2 na koga se iznosp stavlja;Upii iznosR2 + iznosp na raun R2.

    Transakcija u izvrenju mora da ima tzv. ACID osobine (po poetnim slovima sledeih engleskihrei):

  • 20

    TRANSAKCIJA (2/4)

    Atomnost (Atomicity). Zahteva se da se bilo sveoperacije nad bazom podataka uspeno obave ili ne obavinijedna. Da bi se ostvarila atomnost transakcije definiu se dve specifine operacije nad bazom podatataka:

    COMMIT koja oznaava uspean kraj transakcije i koja"potvruje" sve promene u bazi koje je posmatranatransakcija proizvela;ROLLBACK kojom se ponitavaju efekti svih prethodnihoperacija nad bazom podataka u jednoj transakciji, akoona, zbog predviene ili nepredviene greke (otkazasistema) moe da dovede bazu podataka u nekonzistentno stanje.

  • 21

    TRANSAKCIJA (3/4)

    Konzistentnost (Consistency). Oigledno je da se transakcija moe definisati i kao "jedinicakonzistentnosti" baze podataka: pre poetka i posleokonanja transakcije stanje baze podataka mora dazadovolji uslove konzistentnosti. Za vreme obavljanjatransakcije konzistentnost baze podataka moe dabude naruena.

  • 22

    TRANSAKCIJA (4/4)

    Izolacija (Isolation). Kada se dve ili vie transakcijaizvravaju istovremeno, njihovi efekti moraju bitimeusobno izolovani. Drugim reima efekti kojeizazovu transakcije koje se obavljaju istovremenomoraju biti jednaki efektima nekog njihovogserijskog (jedna posle druge) izvrenja.

    Trajnost (Durability). Kada se transakcija zavrinjeni efekti ne mogu biti izgubljeni, ak i ako se neposredno po njenom okonanju desi neki ozbiljanotkaz sistema.

  • 23

    MODELI PODATAKA

  • 24

    O b j e k a t 1

    O b j e k a t 3