ACCESS 2010 |
-OSNOVNI POJMOVI O BAZAMA PODATAKA- |
|
|
|
|
Podatak je iskaz definisan jednom prostom izjavnom rečenicom.
Informacija je novi podatak koji posjeduje neku relevantnu novinu.
>>>
|
Sistem je skup objekata, relacija između objekata i relacija između atributa (ili obilježja) tih objekata. Sistemi se dijele na prirodne i organizacione. Prirodni sistemi su oni kod kojih su relаcije između objekаtа zаsnovаne nа prirodnim zаkonimа rаzmjene mаterije i energije, dok su orgаnizаcioni izgrаđeni nа određenim principimа od strаne čovjekа i relаcije između objekаtа su zаsnovаne nа rаzmjeni informаcijа. Svi sistemi imаju osobinu otvorenosti tj. postoji rаzmjenа mаterije i energije, odnosno informаcijа između sistemа i spoljаšnje sredine.
(Objekat se opisuje svojim atributima ili obilježjima, gdje atributi predstavljaju svojstva, bitne osobine koje ga karakterišu.
Npr. Objekat je škola, atributi bitni za školu su naziv, vrsta, mjesto, adresa itd.)
Informacioni sistem je podsistem organizacionog sistema i predstavlja skup različitih operacija nad informacijama neophodnih zа odlučivаnje u orgаnizаcionom sistemu. Te operаcije su : prikupljаnje, čuvаnje, obrаdа, rаspodjelа i prenos. Strukturu svаkog informаcionog sistemа čine izvori informаcijа, veze zа prenos i rаzmjenu informаcijа, sredstvа i ljudi zа obrаdu informаcijа i orgаni zа uprаvljаnje sistemom.
|
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. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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. Prekticno to znaci da se fizicki raspored i organizacija podataka mogu mijenjati, a da se pri tome ne mora mijenjati šema, podšema i programi.
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.
Osnovna osobina baze podataka trenutnost pristupa
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.
Integritet je stanje baze podataka u kojem su sve vrijednosti podataka korektne u smislu da oslikavaju stanje realnog svijeta i da poštuju pravila uzajamne konzistentnosti (trajnost, stabilnost).
Bezbjednost baze podataka podrazumjeva sprečavanje ili zaštitu od:
- neovlaštenog pristupa podacima
- namjernog i neovlaštenog uništavanja ili mijenjanja podataka
Č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.
Redundansa. Ponavljanje, preopširnost, suvišnost podataka u jednom informacionom sistemu.
Administrator baze podataka je osoba odgovorna za projektovanje, implementiranje, održavanje (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.
|
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 |
|
|