ACCESS 2007

-OSNOVNI POJMOVI O BAZAMA PODATAKA-

     
 
Baze podataka i modeli podataka

Baza podataka je skup međusobno povezanih podataka, pohranjenih u vanjskoj memoriji računara koji su istovremeno dostupni raznim korisnicima i aplikacionim programima.
Sistem za upravljanje bazom podataka (Data Base Management System- DBMS) je poslužitelj (server) baze podataka. On oblikuje fizički prikaz baze u skladu s traženom logičkom strukturom i obavlja sve operacije s podacima. Podaci u bazi su logički organizovani u skladu s nekim modelom podataka. Model podataka je skup pravila koja određuju kako može izgledati logička struktura baze i čini osnovu za koncipiranje, projektovanje i implementiranje baze. Dosadašnji DBMS-i obično su podržavali neki od sljedećih modela:
Relacioni model - Zasnovan na matematičkom pojmu relacije. I podaci i veze među podacima prikazuju se “pravougaonim” tabelama.
Mrežni model - Baza je predstavljena usmjerenim grafom. Čvorovi su tipovi zapisa, a lukovi definišu veze među tipovima zapisa.
Hijerarhijski model - Specijalni slučaj mrežnog. Baza je predstavljena jednim stablom ili skupom stabala. Čvorovi su tipovi zapisa, a hijerarhijski odnos “nadređeni-podređeni” izražava veze među tipovima zapisa.
Objektni model - Inspirisan je objektno-orijentisanim programskim jezicima. Baza je skup trajno pohranjenih objekata koji se sastoje od svojih internih podataka i “metoda” (operacija) za rukovanje s tim podacima. Svaki objekt pripada nekoj klasi. Između klasa se uspostavljaju veze nasljeđivanja, agregacije, odnosno međusobnog korištenja operacija.

 
   
   
Arhitektura baza podataka
   

   

Životni ciklus baze podataka

   
 
 
   
 

 
   
   
   
   
   
   
 

Ciljevi koji se nastoje postići korištenjem baza podataka:
Fizička nezavisnost podataka. Razdvaja se logička definicija baze od njene stvarne fizičke građe. Znači, ako se fizička građa promijeni to neće zahtijevati promjene u postojećim aplikacijama.
Logička nezavisnost podataka. Razdvaja se globalna logička definicija cijele baze podataka od lokalne logičke definicije za jednu aplikaciju. Znači, ako se logička definicija promijeni  to neće zahtijevati promjene u postojećim aplikacijama. Lokalna logička definicija obično se svodi na izdvajanje samo nekih elemenata iz globalne definicije, uz neke jednostavne transformacije tih elemenata.
Fleksibilnost pristupa podacima. U starijim mrežnim i hijerarhijskim bazama, staze pristupanja podacima bile su unaprijed definisane a danas se zahtijeva da korisnik može slobodno upravljati podacima. Ovom zahtjevu odgovaraju jedino relacione baze.
Istovremeni pristup podacima. Baza mora omogućiti da veći broj korisnika istovremeno koristi iste podatke. Pritom ti korisnici ne smiju ometati jedan drugoga, te svaki od njih treba imati utisak da sam radi s bazom.
Čuvanje integriteta. Nastoji se automatski sačuvati korektnost podataka, i to u situaciji kad postoje greške u aplikacijama, te konfliktne istovremene aktivnosti korisnika.
Mogućnost oporavka nakon kvara. Mora postojati pouzdana zaštita baze u slučaju kvara hardvera ili grešaka u radu sistemskog softvera.
Zaštita od neovlaštenog korištenja. Mora postojati mogućnost da se korisnicima ograniče prava korištenja baze, dakle da se svakom korisniku regulišu ovlaštenja šta on smije a šta ne smije raditi s podacima.
Zadovoljavajuća brzina pristupa. Operacije s podacima moraju se odvijati dovoljno brzo, u skladu s potrebama određene aplikacije. Na brzinu pristupa može se uticati izborom pogodnih fizičkih struktura podataka, te izborom pogodnih algoritama za pretraživanje.
Mogućnost podešavanja i kontrole. Velika baza zahtijeva stalnu brigu: praćenje performansi, mijenjanje parametara u fizičkoj građi, rutinsko pohranjivanje rezervnih kopija podataka, regulisanje ovlaštenja korisnika. Administrator baze podataka je osoba zadužena za popravku i podešavanje baze podataka.

 
  Arhitektura baze podataka:

Povratak na vrh

 

Fizički nivo odnosi se na fizički prikaz i raspored podataka na jedinicama vanjske memorije. To je aspekt kojeg vide samo sistemski programeri . Sam fizički nivo može se dalje podijeliti na više podnivoa apstrakcije, od sasvim konkretnih staza i cilindara na disku, do već donekle apstraktnih pojmova datoteke i zapisa kakve susrećemo u klasičnim programskim jezicima. Raspored pohranjivanja opisuje kako se elementi logičke definicije baze preslikavaju na fizičke uređaje.
Globalni logički nivo odnosi se na logičku strukturu cijele baze. To je aspekt kojeg vidi projektant baze odnosno njen administrator. Zapis logičke definicije naziva se shema. Shema je tekst ili dijagram koji definiše logičku strukturu baze, i u skladu je sa zadanim modelom. Dakle imenuju se i definišu svi tipovi podataka i veze medu tim tipovima, u skladu s pravilima korištenog modela. Također, shema uvodi i ograničenja kojim se čuva integritet podataka.
Lokalni logički nivo odnosi se na logičku predstavu o dijelu baze kojeg koristi pojedina aplikacija. To je aspekt kojeg vidi korisnik ili aplikacioni programer. Zapis jedne lokalne logičke definicije zove se pogled (engleski view) ili pod-shema. To je tekst ili dijagram kojim se imenuju i definišu svi lokalni tipovi podataka i veze medu tim tipovima, opet u skladu s pravilima korištenog modela. Također, pogled zadaje preslikavanje kojim se iz globalnih podataka i veza izvode lokalni.

 
     
  Jezici za rad sa bazama podataka:

Povratak na vrh

 

Komunikacija korisnika odnosno aplikacionog programa i DBMS-a odvija se pomoću posebnih jezika. Ti jezici tradicionalno se dijele na sljedeće kategorije.
Jezik za opis podataka (Data Description Language - DDL). Ovim jezikom definišemo podatke i veze među podacima, i to na logičkom nivou. Naredbe DDL obično podsjećaju na naredbe za definisanje složenih tipova podataka u jezicima poput COBOL, PL/I, C, Pascal.
Jezik za manipulisanje podacima (Data Manipulation Language DML). Služi programeru za uspostavljanje  veze između aplikacionog programa i baze.
Jezik za postavljanje upita (Query Language - QL). Služi neposrednom korisniku za interaktivno pretraživanje baze. To je jezik koji podsjeća na govorni (engleski) jezik.
Ovakva podjela na tri jezika danas je već prilično zastarjela. Naime, kod relacionih baza postoji tendencija da se sva tri jezika objedine u jedan. Primjer takvog integrisanog jezika za relacione baze je SQL: on služi za definisanje podataka, manipulisanje i pretraživanje. Integrisani jezik se može koristiti interaktivno ili se on može pojavljivati uklopljen u aplikacione programe.U današnje vrijeme, aplikacije se najčešće razvijaju u standardnim objektno orijentisanim programskim jezicima (Java, C++, ...). Za interakcije s bazom koriste se unaprijed pripremljene klase objekata koja je dovoljno produktivna zbog korištenja gotovih klasa, a rezultirajući program se lako dotjeruje, uklapa u veće sisteme ili prenosi s jedne baze na drugu.
 

Softverski paketi

 

 

SQL

  Životni ciklus baze podataka:  
 

Uvođenje baze podataka u neku firmu se može podijeliti u pet faza: analiza potreba, modeliranje podataka, implementacija, testiranje i održavanje.
Analiza potreba
Proučavaju se tokovi informacija u firmi. Uočavaju se podaci koje treba pohranjivati i veze među njima. Analiza potreba također treba obuhvatiti analizu transakcija (operacija) koje će se obavljati nad bazom podataka, budući da to može isto imati uticaja na sadržaj i konačni oblik baze. Važno je procijeniti frekvenciju i opseg pojedinih transakcija, te zahtjeve na performanse.Rezultat analize je dokument koji se zove specifikacija potreba.
Modeliranje podataka
Različiti pogledi na podatke, otkriveni u fazi analize, sintetizuju se u jednu cjelinu - globalnu shemu. Precizno se utvrđuju tipovi podataka. Shema se dalje dotjeruje (“normalizuje”) tako da zadovolji neke zahtjeve kvaliteta. Implementacija
Na osnovu sheme i pod-shema, te uz pomoć dostupnog DBMS-a, fizički se realizuje baza podataka na računaru. U DBMS-u obično postoje parametri kojima se može uticati na fizičku organizaciju baze. Parametri se podešavaju tako da se osigura efikasan rad najvažnijih transakcija. Razvija se skup programa koji realizuju pojedine transakcije te pokrivaju potrebe raznih aplikacija. Baza se inicijalno puni podacima.

Povratak na vrh

 

Testiranje
Korisnici rade s bazom i provjeravaju da li ona zadovoljava sve zahtjeve. Nastoje se otkriti greške.U novije vrijeme, prije prave implementacije, razvijaju i približni prototipovi baze podataka, te se oni pokazuju korisnicima. Jeftinu izradu prototipova omogućuju jezici 4. generacije i objektno-orijentisani jezici.
Održavanje
Odvija se u vrijeme kad je baza već ušla u redovnu upotrebu. Sastoji se od sljedećeg: popravak grešaka koje nisu bile otkrivene u fazi testiranja; uvođenje promjena zbog novih zahtjeva korisnika; podešavanje parametara u DBMS u svrhu poboljšavanja performansi. Održavanje zahtijeva da se stalno prati rad s bazom, i to tako da to praćenje ne ometa korisnike. Administratoru baze podataka trebaju stajati na raspolaganju odgovarajući alati (utility programi).

 

Povratak na vrh