Šta su baze podataka i čemu služe?

Baze podataka se mogu definisati kao dobro struktuirana kolekcija podataka koja postoji relativno dugo i koju koristi i održava veliki broj korisnika, odnosno programa. Baze podataka nalaze veliku primenu u mnogim aplikacijama. Postoji čitava paleta aplikacija koje su specijalno dizajnirane za rad sa bazama podataka. Baze podataka su korisne u slučaju da je velikom broju korisnika potrebno da istovremeno pristupa ili da menja sadržaj velikoj količini podataka. Naravno, važno je da podaci ostanu u validnom stanju kad god im neko pristupa. Dva bitna pojma vezana za baze podataka su sistem za upravljanje bazom podataka i model podataka.

 

Sistem za upravljane bazom podataka

Pogledajmo sledeći primer:


 
slika 1. klasična obrada podataka

Kao što se vidi, u različitim aplikacijama se pristupa podacima koji se nalaze na različitim lokacijama. Samim tim se povećavaju troškovi održavanja baze. Konzistentnost (uzajamni odnos) podataka se može narušiti ako dođe do istovremenog pristupanja jednom te istom podatku od strane dve različite aplikacije ili ako dođe do kvara na jednom od računara. Na primer, neka u nekoj prodavnici automobila imamo tri automobila i iz dve filijale neko želi da kupi po dva automobila u isto vreme. Oba kupca mogu da plate i da misle da su završili posao, ali na dan isporuke jedan automobil fali.

 


slika 2. uloga sistema za upravljanje bazom podataka

Sistem za upravljanje bazom trebalo bi da se izbori sa takvim problemima i  da omogući:

  • što manje ponavljanje podataka
  • pouzdanost podataka pri mogućim hardverskim ili softverskim kvarovima
  • pouzdano istovremeno pristupanje podacima od strane više korisnika
  • jednostavno komuniciranje sa bazom podataka pomoću "upitnih jezika"

Na taj način podaci više nisu razbacani na više mesta nego su organizovani u jedinstvenu bazu podataka.

Za pouzdanost podataka su zadužene transakcije i oporavak baze.

Oporavak baze se zasniva na povremenom kopiranju sadržaja baze na pomoćne lokacije. U slučaju da dođe do nekog kvara te kopije se, posle otklanjanja kvara, vraćaju na mesto originalne baze. Na taj način se gubi samo mali deo podataka koji se lako nadoknađuje.

Transakcija je niz operacija nad bazom koji odgovara jednoj logičkoj jedinici posla u realnom sistemu. Ona može biti deo programa ili ceo program može da predstavlja jednu transakciju. Transakcija mora da obezbedi sledeće osobine:

  • Autonomnost - Zahteva da se sve operacije izvrše ili se nijedna ne izvršava. Tu se zbog toga definišu dve operacije koje su specifične za baze podataka:
    • Commit - Označava uspešan kraj transakcije i "potvrđuje" sve promene u bazi koje je posmatrana transakcija proizvela.
    • Rollback - U slučaju predviđene ili nepredviđene greške poništava sve efekte koje je transakcija izvršila nad bazom pod uslovom da ti efekti narušavaju stabilnost podataka
  • Konzistentnost - Pre početka i posle završetka transakcije baza mora ostati u stabilnom stanju.
  • Izolacija - Kada se dve ili više transakcija izvršavaju odjednom, njihovi efekti moraju ostati izolovani. Drugim rečima, njihov rezultat mora biti identičan onom kao da su se izvrašavale jedna za drugom.
  • Trajnost - Kada se transakcija uspešno završi, njeni efekti se ne mogu izgubiti čak i ako se neposredno po njenom izvršenju desi kvar.

 

Relacioni model podataka

Jedan standard organizovanja podataka u bazi je po principu tabela. Jedna tabela predstavlja skup podataka o nekom objektu, fenomenu ili procesu. Ti podaci su podeljeni po kolonama (koje odgovaraju atributima), a u svakom redu (vrsti) date tabele su smešteni podaci o konkretnom objektu, fenomenu ili procesu. Tabele moraju da zadovolje sledeće uslove:

  • ne postoje duplikati među vrstama tabele
  • redosled vrsta nije bitan
  • redosled kolona nije bitan
  • sve vrednosti atributa su prostog tipa. Ne sme biti "tabela u tabeli"

 

Student

Br.indeksa

Ime

Starost

001

Miloš

19

007

Ana

19

035

Ana

22

 

 

 

Prijava ispita

BrIndeksa

Ime

 Naziv ispita 

Ocena

001

Miloš

 Matematika

10

001

Miloš

 Engleski

8

035

Ana

 Engleski

9

 

 

 

Samim tim što u jednoj tabeli ne postoje duplikati to znači da postoji jedan ili više atributa koji jedinstveno određuju neku vrstu u tabeli. Taj atribut ili grupa atributa se naziva ključem tabele (prost - ako je jedan atribut u pitanju ili složen - ako je više njih u pitanju). U primeru Student 'BrIndeksa' je prost ključ, a u primeru Prijava ispita složen ključ je 'brIndeksa, Naziv predmeta' jer ne postoje dve vrste sa istim vrednostima tih atributa. Ako imamo više atributa koji su jedinstveni njih nazivamo kandidatima za ključ, a jednom kad izaberemo jednog od njih taj atribut zovemo primarnim ključem. On služi za jedinstvenu identifikaciju objekta i na taj način nam omogućava lako pronalaženje. Spoljni ključ je atribut u tabeli T1 koji u njoj nije primarni, ali je primarni za tabelu T2. Primarni ključ u tabeli Student je BrIndeksa, dok je u tabeli prijava ispita to spoljni ključ, jer je to samo deo njenog ključa. Ključevi služe da se formiraju veze između tabela.

 

SQL jezik

Standard Query Language (SQL) je standardni jezik za pristupanje podacima u bazi podataka. Njegove naredbe se mogu podeliti u tri kategorije:

  • naredbe za definisanje podataka
  • naredbe za manipulisanje podacima
  • naredbe za kontrolne funkcije

 

Naredbe za definisanje su:

  • Create - kreiraju tabele i indekse
  • Alter - izmena definicije tabele
  • Drop - izbacivanje tabele iz baze podataka

 

Naredbe za manipulisanje su naredbe sa kojima se najčešće srećemo, a to su:

  • Select - prikazuje sadržaj tebele
  • Update - menja vrednosti kolona tabele
  • Insert - dodaje nove vrste tabeli
  • Delete - briše redove iz tabele

 

Naredbe za kontrolne funkcije omogućavaju bezbednost podataka i oporavak u slučaju kvara sistema. Najčešće korišćene su:

  • COMMIT potvrđivanje dejstva transakcije na bazu podataka
  • ROLLBACK poništavanje dejstva transakcije

 

Naredbe za kontrolu omogućavaju kontrolu pristupa objektima baze. Najčešće korišćene su:

  • Grant – dodeljuje privilegije nad objektima
  • Revoke – oduzima privilegije nad objektima
Dodaj komentar Sviđa mi se - (1) Ne sviđa mi se - (0)    

  • Baze podataka 1
  • Baze podataka 2
  • Baze podataka 3