Author
vudieu
View
222
Download
4
Embed Size (px)
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