Professional Documents
Culture Documents
B1DEO
B1DEO
B1DEO
yu
1. UVOD
Sistem za upravljanje bazom podataka (SUBP) (Database Management System - DBMS) je softverski
sistem za čuvanje i pretraživanje podataka. Kao softverski sistem on, u razvoju računarstva, zamenjuje
i eliminiše nedostatke sistema datoteka koji su se koristili u klasičnoj obradi podataka. Da bismo
uočili osnovne nedostatke klasične obrade podataka, u kojoj su se podaci čuvali i pretraživali u skupu
nepovezanih datoteka analizirajmo jedan primer ovakve obrade.
Redundansa podataka, odnosno višestruko pamćenje istih podataka je neminovno. Na primer, isti
podaci o proizvodima se, u nekoj proizvodnoj radnoj organizaciji pamte i nekoliko desetina puta,
ili isti podaci o građanima u nekom komunalnom informacionom sistemu i stotinu puta.
Višestruko skladištenje istih podataka dovodi do nepremostivih problema pri njihovom ažuriranju.
Kada se neki podatak promeni, to se mora učiniti na svim mestima na kojima se on čuva. To, ne
samo da značajno povećava troškove obrade podataka, nego je organizaciono praktično
neizvodljivo, pa se, u raznim izveštajima, pojavljuju različite verzije istog podatka.
PRATE]A OBRA^UNSKI
RADNI NALOG OTPREMNICA
DOKUMENT. LIST
OBRADA
LANSIRANJE
LI^NIH PRODAJA
PROIZVODNJE
ZARADA
www.puskice.co.yu
1
www.puskice.co.yu
Ovo su osnovni problemi klasične poslovne obrade podataka koji su zahtevali bitne tehnološke
izmene u ovoj oblasti. Od sredine šezdesetih godina do danas, oblast sistema za upravljanje bazom
podataka se izuzetno brzo razvija. Sistem za upravljanje bazom podataka (Slika 2) je jedan složeni
softverski sistem koji treba da omogući:
U ovakvoj tehnologiji obrade, podaci su, umesto razbacani po nezavisnim datotekama, organizovani u
jedinstvenu bazu podataka. Podaci postaju jedinstveni resurs u nekom sistemu, i njima se mora
upravljati na jedinstven način, onako kako se upravlja i sa drugim vitalnim resursima poslovnih
sistema.
www.puskice.co.yu
2
www.puskice.co.yu
PRATE]A OBRA^UNSKI
RADNI NALOG OTPREMNICA
DOKUMENT. LIST
OBRADA
LANSIRANJE
LI^NIH PRODAJA
PROIZVODNJE
ZARADA
SISTEM ZA
UPRAVLJANJE
BAZOM PODATAKA
(SUBP)
BAZA
PODATAKA
Slika 2.
Slika 2. Sistem za upravljanje bazom podataka
Opšta arhitektura SUBP, koja, konceptualno, omogućuje ostvarivanje navedenih ciljeva, tzv.
tronivoska ANSI/SPARC arhitektura prikazana je na Slici 3. Nivoi u ovoj arhitekturi su:
Interni (fizički) nivo, koji definiše način na koji su podaci fizički organizovani na spoljnim
memorijama.
Konceptualni nivo (šema baze podataka), koji definiše opštu logičku strukturu baze podataka,
sve podatke u sistemu, njihove logičke odnose (veze) i koji treba da omogući upravljanje
podacima kao zajedničkim resursom u celom sistemu.
Eksterni (korisnički) nivo (podšema), na kome se definiše logička struktura podataka pogodna
za specifične zahteve, odnosno programe.
Na internom nivou, preko jezika koji se naziva interni jezik za definiciju podataka (Internal Data
Definition Language - IDDL), specificira se fizička organizacija podataka, odnosno metode pristupa.
Administrator baze podataka koristi jezik za definiciju podataka za definiciju opšte logičke strukture
baze podataka. Administrator baze podataka takođe definiše i preslikavanja konceptualnog u interni i
konceptualnog u eksterni nivo. Ako se promeni fizička struktura baze podataka, nije neophodno
menjati opštu logičku strukturu (šemu), već samo preslikavanje šeme u interni nivo. Isto tako, ako se
promeni struktura šeme, podšeme ostaju nepromenjene, menja se samo preslikavanje šeme u
podšeme.
www.puskice.co.yu
3
www.puskice.co.yu
RE^NIK
PODATAKA
KONCEPTUALNI
[ E MA NIVO
KONCEPTUALNO/INTERNO PRESLIKAVANJE
INTERNI
ADMINISTRATOR NIVO
BAZE
PODATAKA
BAZA PODATAKA
Programer razvija svoju aplikaciju nad njemu pogodnom logičkom strukturom koja predstavlja
njegov "pogled" na celokupnu bazu podataka. On za to koristi neki konvencionalni programski jezik
(COBOL, PL/I, C i drugi), koji se naziva "jezik domaćin" (Host Language), u koga se ugrađuju
naredbe DDL-a i naredbe jezika za rukovanje podacima u bazi podataka (Data Manipulation Language
- DML). Za korisnike neprofesionalce obično postoji i neki neproceduralni upitni jezik (Query
Language).
Ključnu ulogu u ovakvom sistemu imaju administratori baze podataka. Oni upravljaju radom
celokupnog sistema obavljajući sledeće funkcije:
Razvoj konceptualnog nivoa, odnosno upravljanje podacima u sistemu.
Izbor fizičke organizacije baze podataka i metoda pristupa.
Definicija i realizacija preslikavanja konceptualni - interni i konceptualni - eksterni nivo,
odnosno definisanje ili pomoć u definisanju podšema.
Obezbeđenje sigurnosti i integriteta baze podataka.
Definisanje strategija oporavka baze podataka posle mogućih oštećenja.
Praćenje performansi sistema.
www.puskice.co.yu
4
www.puskice.co.yu
Mnogi uslužni programi za obavljanje ovih funkcija stoje administratoru baze podataka na
raspoloženju (Rutine za punjenje baze podataka (BP), "Dump/restore" rutine, rutine za fizičku
reorganizaciju BP, rutine za statistike korišćenja podataka). Međutim, njegov osnovni alat je rečnik
(katalog) baze podataka (Data Dictionary). Rečnik baze padataka je baza podataka o bazi podataka
(meta baza podataka) i u njemu su opisani svi objekti sistema (podaci, fizičke i logičke strukture,
prava korišćenja i slično). Rečnik podataka se puni prilikom definisanja odgovarajućih objekata u
sistemu.
Tehnologija sistema za upravljanje bazom podataka, rešavajući navedene probleme klasične obrade
podataka, uvela je i morala da reši neke probleme koji nisu postojali ili se nisu tako oštro iskazivali u
konvencionalnoj obradi podataka. To su, prvenstveno:
Konkurentna obrada. Pošto se podatak pamti samo jednom, više programa istovremeno
(konkurentno) zahteva pristup istim podacima. SUBP mora obezbediti da se konfliktni zahtevi i
neželjene intreferencije programa do kojih u ovoj situaciji može da dođe, uspešno razreše.
Zaštita podataka. Zaštita podataka se obično posmatra sa dva aspekta, očuvanja integriteta baze
podataka i sigurnost podataka. Termin integritet baze podataka se koristi da označi tačnost, korektnost
podataka u bazi. Integritet baze podataka može da naruši neka greška u programu ili neki sistemski
otkaz. Sigurnost baze podataka se odnosi na zaštitu baze od neovlašćenog korišćenja i ažuriranja
podataka. I jedan i drugi problem, u uslovima integrisane baze podataka, postaje očigledno mnogo
složeniji, nego u uslovima konvencionalne obrade, gde svaka aplikacija ima "privatnu" datoteku u
kojoj se podaci jednostavno štite, a narušavanje integriteta ima samo lokalne posledice.
Oporavak baze podataka. Ako se u bazi podataka svaki podatak čuva samo na jednom mestu, ako
se poslovanje celog sistema zasniva na ovakvoj bazi podataka, tada neki otkazi sistema mogu imati
katastrofalne posledice. Zbog toga je neophodno da SUBP, preko periodičnog kopiranja baze
podataka na "arhivske memorije" i pamćenja transakcija koje su se između dva kopiranja dogodile,
omogući efikasan oporavak baze podataka posle nekog otkaza.
Zbog složenosti navedenih osnovnih i pomoćnih funkcija SUBP su složeni i veoma skupi softverski
sistemi. Međutim prednosti koje pružaju su takve da se i pored visoke cene gotovo svuda uvode.
UPRAVLJA^KI STANJE
ULAZI SISTEMA
UPRAVLJANJE SISTEM
PODACI
O OKOLINI
OKOLINA
Tehnologija baza podataka omogućila je da se problem razvoja IS postavi na drugi način. Postavka
problema razvoja sledi iz drugačije definisanog položaja IS u odnosu na realni sistem u kome deluje.
Slika 5 je osnov za ovakvu postavku problema razvoja IS.
www.puskice.co.yu
6
www.puskice.co.yu
IZLAZNA IZLAZI
ULAZI STANJE
TRANSFORMACIJA
R EALN I S IS TE M
PODACI O ULAZU
IZLAZI
PROGRAMI BAZA PROGRAMI ZA
ZA ODR@. PODATAKA IZVE[TAVANJE
I N F O R MA C I O N I S I S T E M
Sistem se najopštije definiše kao skup objekata (entiteta) i njihovih međusobnih veza. Objekti u
sistemu mogu da budu neki fizički objekti, koncepti, događaji i drugo. Objekti se u modelu nekog
sistema opisuju preko svojih svojstava (atributa). Dejstvo okoline na sistem opisuje se preko ulaza u
sistem, a dejstvo sistema na okolinu preko njegovih izlaza.
Dinamičko ponašanje realnog sistema standardno se šematski predstavlja kao na gornjem delu Slike
5. Ulazi u sistem menjaju stanja sistema. Stanje sistema se definiše kao skup informacija o prošlosti i
sadašnjosti sistema koji je potreban da bi se, pod dejstvom budućih poznatih ulaza, mogli odrediti
budući izlazi. U stanju sistema skoncentrisana je celokupna istorija realnog sistema. Očigledno je da
stanje sistema opisuje fundamentalne karakteristike sistema, u jednom trenutku vremena ono
predstavlja skup objekata sistema, skup njihovih međusobnih veza i skup vrednosti atributa objekata u
tom trenutku vremena. Izlazna transormacija definiše neki način merenja ili posmatranja dinamičkog
ponašanja realnog sistema i daje, na osnovu stanja sistema, njegove izlaze.
Ilustrujmo uvedene koncepte posmatrajući neko skladište proizvoda kao sistem. Objekti u ovom
sistemu su sami proizvodi, njihovi atributi su na primer, naziv, karakteristike i količina u skladištu.
Veza između objekata je, na primer, sastav proizvoda, koji pokazuje od kojih se drugih proizvoda,
posmatrani proizvod, sastoji. Svako prihvatanje ili izuzimanje proizvoda iz skladišta predstavlja ulaz
u sistem (jer menja njegova stanja). Osnovna komponenta stanja u sistemu je količina svakog
proizvoda u skladištu. Izlaz iz sistema može da bude količina zaliha svakog proizvoda (samo stanje
sistema), zatim ukupna vrednost zaliha, ukupna vrednost zaliha proizvoda određene vrste i slično.
Izlazna transformacija daje ove izlaze na osnovu stanja sistema.
Kao što je to na Slici 5 prikazano, informacioni sistem predstavlja model realnog sistema u kome
deluje. Podaci o ulazu (trebovanja, prijemnice, otpremnice i slično, za navedeni primer), preko
programa za održavanje, koji modeliraju dejstvo ulaza na sistem, deluju na bazu podataka (kartica
zaliha materijala, za navedeni primer), koja modelira stanje sistema. Programi za izveštavanje
www.puskice.co.yu
7
www.puskice.co.yu
Osnovu informacionog sistema čini baza podataka, jer ona predstavlja fundamentalne, stabilne, sporo
izmenljive karakteristike sistema, objekte u sistemu i njihove međusobne veze. Zato se projekat IS
mora bazirati na bazi podataka. Ako je baza podataka dobar model stanja realnog sistema, ako
programi za održavanje dobro modeliraju dejstvo ulaza na stanje realnog sistema, onda će se bilo koja
informacija potrebna za upravljanje (izlazi), čak i one unapred ne predvidene, moći dobiti iz IS. Time
se dobrim delom zaobilazi ključni problem u konvencionalnom pristupu razvoju IS, specifikacija
zahteva za informacijama, postupak projektovanja se ne bazira na tim stalno promenljivim zahtevima,
već na modeliranju fundamentalnih, stabilnih karakteristika sistema.
Ako je informacioni sistem model realnog sistema u kome deluje, onda se postupak projektovanja IS
svodi na neku vrstu modeliranja realnog sistema, a za to su nam neophodna neka intelektualna
sredstva (alati) i to:
(1) Model podataka kao intelektualno sredstvo za prikazivanje objekata sistema, njihovih atributa i
njihovih međusobnih veza (statičkih karakteristika sistema) preko logičke strukture baze podataka.
(2) Model procesa kao intelektualno sredstvo za opisivanje dinamike sistema, dejstva ulaza na stanje
sistema i izlazne transformacije, preko programa nad definisanim modelom podataka.
U ovom materijalu ćemo se baviti samo modelima podataka, dok će modeli podataka samo uzgred
biti prikazani, u onoj meri u kojoj je to neophodno za izučavanje procesa projektovanja baza
podataka.
Na osnovu definicije, očigledno je da svaki model podataka treba da zadovolji dva bitna kriterijuma:
Da poseduje koncepte pogodne za modeliranje realnih sistema.
Da se njegovi koncepti, struktura, ograničenja i operacije mogu jednostavno
implementirati na računaru.
Na osnovu toga kako zadovoljavaju ova dva kriterijuma modeli podataka se mogu klasifikovati u
sledeće "generacije":
Prvu generaciju čine konvencionalni programski jezici, koji se takođe mogu tretirati kao modeli
podataka. Koncepti za opisivanje strukture u njima su tipovi podataka kojima raspolažu (prosti i
agregirani tipovi kao što su rekord, vektor, skup, koji se međusobno ne mogu eksplicitno povezivati
na željene načine, pa se zato model podataka u njima predstavlja kao skup nepovezanih datoteka),
ograničenja nad ovim tipovima obično nije moguće direktno postaviti, a same operacije nisu dovoljno
moćne. Oni nisu dovoljno pogodni za modeliranje realnog sistema (zato je programiranje u njima
teško), ali se model realnog sistema opisan pomoću njih može direktno implementirati na računaru.
www.puskice.co.yu
8
www.puskice.co.yu
Drugu generaciju čine tri klasična modela baze podataka, hijerarhijski, mrežni i relacioni model. Ovi
modeli poseduju semantički bogatije koncepte za opis strukture (moguće je definisati način
povezivanja rekorda, odnosno bazu podataka kao skup međusobno povezanih podataka) i znatno
moćnije (makro) operacije. Zbog toga su pogodniji za opis realnog sistema, a postoje i komercijalno
raspoloživi softveri, SUBP, za njihovu direktnu implementaciju na računaru.
Treću generaciju čine tzv. semantički bogati modeli podataka i objektni modeli podataka (Model
objekt i- veze, Semantic Data Model (SDM), Prošireni relacioni model, Semantičke mreže i drugi),
koji poseduju semantički bogate koncepte za opis realnog sistema, ali za njih još uvek ne postoje
softveri preko kojih bi se direktno mogli implementirati na računaru.
U ovom materijalu koristićemo Model objekti - veze, najpopularniji semantički model za prvi korak, a
relacioni model baze podataka će biti implementacioni model.
www.puskice.co.yu
9