The Challenge: To Create More Value in All Negotiations

Download Report

Transcript The Challenge: To Create More Value in All Negotiations

BAZE PODATAKA
BAZE PODATAKA
BAZE PODATAKA
BAZE PODATAKA
BAZE PODATAKA
PODATAKA BAZE
PROF. DR MILORAD K. BANJANIN
11
UVOD: DEFINISANJE BAZA
PODATAKA
Baza podataka je skup međusobno
povezanih podataka koji se čuvaju
zajedno i među kojima ima onoliko
ponavljanja koliko je neophodno za
njihovo optimalno korišćcenje pri
višekorisničkom radu.
2
KARAKTER je najelementarnija jedinica podatka koji se može razmatrati i kojim
seBmože
Sastoji
a z aupravljati.
podat
a k a se
j eodkjednog
o l e kalfabetskog
c i j a d aznaka,
t o t enumeričkog
k a o n eznaka
k o mili
simbola.
bajt
jedinice
odnose
s e Bit
g mi e
n tsu
u još
r e elementarnije
alnog sve
t a o podatka
r g a n i zaliose
v aoni
nih
z a na
fizičku
b r az ne
i pnar ilogičku
s t u porganizaciju
i p r e t rpodataka.
a ž i v a n j e , ko j a z a j e d n o s a
s ijes tsledeći
e m oviši
m nivo
z a organizovanja
memorisa
n j e , i osastoji
rgan
a nkaraktera.
je i
Polje
podatka
sei zodo v
niza
Poljeu obično
(osobinu
ili a
svojstvo)
(objekta,
p r a v lpredstavlja
j a n j e t atribut
im po
dacim
, č i n ientiteta
siste
m b a osobe,
za
događaja...).
podataka.
Slog predstavlja skup atributa koji opisuju određeni entitet. Može biti fiksne
dužine, ako sadrži fiksni broj polja fiksirane dužine ili varijabilne dužine u slučaju
da sadrži varijabilan broj polja promenljive dužine.
Baza podataka
Fajl ili datoteka predstavlja grupu međusobno povezanih slogova.
Datoteka
Slog
Polje
Karakter
Karakter
Slog
Polje
Polje
Karakter
Polje
Karakter
3
Izučavanju baza podataka se može
pristupiti sa dva aspekta:
MODELI
PODATAKA
SISTEMI ZA
UPRAVLJANJE
BAZOM
PODATAKA
Sistemi za upravljanje bazom podataka su
Modeli
podataka
softverski
sistemi
koji su
obezbeđuju osnovne
specifične
teorije
funkcije obrade velike količine podataka:
pomoću pretraživanje
kojih se
Jednostavno
i održavanje
specifikuje
i
projektuje
podataka
neka konkretna
baza
Višestruko
paralelno
korišćenje istog skupa
podataka ili informacioni
podataka
sistemi uopšte.
Pouzdanost
sigurnost
4
SISTEMI ZA
UPRAVLJANJE
BAZOM PODATAKA
5
KLASIČNA OBRADA PODATAKA – NEZAVISNE,
“PRIVATNE” DATOTEKE ZA SVAKU APLIKACIJU
RADNI
NALOG
PRATEĆA
DOKUMENTA
LANSIRANJE
PROIZVODNJE
PROIZVODI
RADNA
MESTA
TEHN.
POSTUPAK
OBRAČUNSKI
LIST
OBRADA
LIČNIH
ZARADA
RADNA
LISTA
RADNICI
OTPREMNICA
PRODAJA
KUPCI
FINALNI
PROIZVODI
Osnovni problemi klasične poslovne obrade
podataka:
1
Redudansa podataka, odnosno višestruko pamćenje istih podataka.
2
Zavisnost programa od organizacije podataka.
3
Niska produktivnost u razvoju informacionog sistema.
4
Sistem datoteka je nezadovoljavajuće pouzdan, ne garantuje očuvanje
tačnosti i konzistentnosti (uzajamni odnos) podataka pri mogućim
harderskim i softverskim otkazima.
5
Sistem datoteka ne obezbeđuje zadovoljavajuće očuvanje tačnosti i
konzistentnosti podataka pri višestrukom paralelnom korišćenju
podataka.
7
SISTEM ZA UPRAVLJANJE BAZOM PODATAKA
RADNI
NALOG
PRATEĆA
DOKUMENTA
LANSIRANJE
PROIZVODNJE
OBRAČUNSKI
LIST
OBRADA
LIČNIH
ZARADA
OTPREMNICA
PRODAJA
SISTEM ZA
UPRAVLJANJE
BAZOM PODATAKA
BAZA
PODATAKA
8
FUNKCIJA
SUBP KOMPONENTA
Jezici i grafički alati za definisanje entiteta, veza,
integritetskih ograničenja i prava pristupa
Jezici i grafički alati za pristup podacima bez
kompletnog kodiranja
Grafički alati za razvoj menija, formi za unos
podataka i izveštaja
Jezici koji kombinuju neproceduralni pristup podacima sa
svim mogućnostima višeg programskog jezika
Kontrolni mehanizmi koji sprečavaju konflikte i oporavljaju
izgubljene podatke u slučaju pada sistema
Alati za praćenje i poboljšanje performansi baze
podataka
9
POJEDNOSTAVLJENI MODEL FUNKCIONISANJA
SISTEMA ZA UPRAVLJANJE BAZAMA PODATAKA
OPERATIVNI SISTEM
4
3
OPIS
ŠEME
2
OPIS
PODŠEME
SUBP
BAZA
PODATAKA
9
1
8
MEĐUMEMORIJA
SISTEMA
6
5
APLIKATIVNI PROGRAM
RADNA ZONA PROGRAMA
7
PORUKE U VEZI UPUTSTVA
Rezultat operacije SUBP signalizira aplikacionom programu (strelica 7) i u slučaju
Ako
aplikacioni
program
traži ilidaju
želiuputstva
da smesti
jedan
podatak
u bazuupodataka,
Rutine
Zatim
za
operativnom
upravljanje
podacima
sistemu
kao
deo
SUBP
(strelica
prihvataju
3),nastavlja
i ion
analiziraju
stupa
kontakt
naredbusa
ito
povoljnog
signala
program
obrađuje
podatke,
odnosno
se izvršavanje
Ako suse
podaci
u drugačijem
obliku
od
oblika
koji
se koristi
u aplikacionom
se
ostvaruje
naredbom
uaktuelim
jeziku4)koji
vrši manipulaciju
podataka
(strelica
1).
dopunjuju
spoljnom
memorijom
je
(strelica
ivrednostima
prenosi
podatke
na SUBP
osnovu
u međumemoriju
opisa
cele
sistema
(strelica
8).
Upotrebnim
interesu
obezbeđenja
daljekonverzija
obrade
vodi
računa
obaze
sadržaju
programu,
tada
će se izršiti
neophodna
podataka
(strelica
5).
(šeme)
Odavde
SUBP prenosi
koja sepodatke
odnosi u
narazličite
taj program
zone (strelica
programa
2).(strelica 6)
bafera (strelica
9).i podšeme
10
KONCEPT ZAŠTITE PODATAKA
Do sadržaja baze podataka korisnik može doći samo putem SUBP pri čemu se
realizuje koncept zaštite podataka, kako je to ilustrovano na narednoj slici. Pravila
za korišćenje baze podataka određuje administrator baze podataka i ugrađuje ih u
SUBP.
DDL
DML
Jezik za opis podataka
ZAHTEVI
Jezik za manipulisanje
podacima
KORISNIK
ADMINISTRATOR
BAZE PODATAKA
PRAVILA KORIŠĆENJA
DML
DDL
DDL
BAZA
PODATAKA
SISTEM ZA UPRAVLJANJE
BAZOM PODATAKA
DML
11
Logičku i fizičku nezavisnost programa od podataka. Samo jednom, u
jedinstvenoj fizičkoj organizaciji, svaki korisnik dobija sopstvenu logičku
sliku podataka kakva njemu najviše odgovara.
Jednostavno komuniciranje sa
bazom podataka preko jezika bliskih
korisniku, tzv. upitnih jezika, kako bi
se neprofesionalni korisnici
neposredno uključili u razvoj
informacionog sistema, a
profesionalnim programerima
značajno povećala produktivnost.
Pouzdano paralelno
korišćenje zajedničkih
podataka od strane više
ovlašćenih korisnika
Pouzdanost podataka i
pri mogućim
hardverskim i
softverskim otkazima
Skladištenje podataka
sa minimumom
redudanse
12
KOMPONENTE SISTEMA ZA UPRAVLJANJE
BAZOM PODATAKA
M O D E L P O D AT A K A
ODRŽAVANJE ŠEME
BAZE PODATAKA
APLIKACIJA U
PROGRAMSKOM JEZIKU
(PL) SA UPITNIM
JEZIKOM
PROCESIRANJE OPISA
BAZE, APLIKACIJA I
UPITA
DIREKTAN UPIT
UPRAVLJANJE
TRANSAKCIJAMA I
OPORAVKOM
UPRAVLJANJE
SKLADIŠTENJEM
PODATAKA
B A Z A P O D AT A K A
13
programer A
korisnik A
JEZIK DOM
+DDL+DML
UPITNI
JEZIK
programer B
programer C
programer D
JEZIK DOM JEZIK DOM JEZIK DOM
+DDL+DML +DDL+DML +DDL+DML
PODŠEMA
A
PODŠEMA
B
Konceptualno/eksterno preslikavanje
Podšema je deo logičke
strukture
obeležja
baze
REČNIK
podataka koji je dovoljan za
PODATAKA
realizaciju jedne aplikacije.
Administrator baze
podataka
Konceptualno/eksterno preslikavanje
Integracija podataka više aplikacija
ostvaruje se formiranjem nove
ŠEMA
logičke strukture nazvane šemom
baze podataka (globalna logička
Konceptualno/interno preslikavanje
organizacija) nad skupom obeležja
tipova zapisa datoteka.
BAZA PODATAKA
14
ANSI/SPARC arhitektura je tronivovska arhitektura čiji nivoi imaju za cilj da učine
nezavisnom logičku od fizičke strukture baze podataka i aplikacione programe od
fizičke i celokupne logičke strukture baze.
Na eksternom (korisničkom) nivou se definiše logička
struktura podataka pogodna za specifične zahteve,
odnosno programe.
Konceptualni nivo (šema baze podataka) defiš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.
Interni (fizički) nivo definiše način na koji su podaci
fizički organizovani na spoljnim memorijama.
15
MODELI
PODATAKA
16
SISTEM SE NAJOPŠTIJE DEFINIŠE KAO SKUP OBJEKATA
(ENTITETA) I NJIHOVIH MEĐUSOBNIH VEZA.
OSNOVU INFORMACIONOG SISTEMA ČINI DOBRO PROJEKTOVANA BAZA PODATAKA, JER
ONA PREDSTAVLJA FUNDAMENTALNE, STABILNE, KARAKTERISTIKE SISTEMA, OBJEKTE U
SISTEMU, NJIHOVE ATRIBUTE I NJIHOVE MEĐUSOBNO VEZE.
ULAZI
STANJE
IZLAZNA
TRANSFORMACIJA
IZLAZI
Realni sistem
PODACI O ULAZU
PROGRAMI ZA
ODRŽAVANJE
BAZA
PODATAKA
PROGRAMI ZA
IZVEŠTAVANJE
IZLAZI
Informacioni sistem
17
Intelektualni
alati pomoću
kojih
se opisuje
(modeluje)
kao okvir
skup
MODEL
PODATAKA
se može
definisati
i kao
specifičansistem
teorijski
objekata,
atributa projektuje
i njihovih međusobnih
veza,
se nazivaju
pomoću
koganjihovih
se specifikuje,
i implementira
konkretna
baza
MODELI
PODATAKA.
podataka.
STRUKTURA MODELA
Skup koncepata za opis
objekata sistema, njihovih
atributa i njihovih
međusobnih veza.
OGRANIČENJA
Ograničenja na vrednosti
podataka u modelu, koja u
svakom trenutka posmatranja
moraju biti zadovoljena. Ova
ograničenja se obično nazivaju
statičkim pravilima integriteta
baze podataka.
OPERACIJE
Operacije nad konceptima
strukture, preko kojih je
moguće prikazati i menjati
vrednosti podataka u bazi.
DINAMIČKA PRAVILA
INTEGRITETA
Dinamička pravila integriteta
kojima se definiše osnovno
dinamičko ponašanje modela.
18
APSTRAKCIJA je
TIPIZACIJA
(KLASIFIKACIJA)
objekata, odnosno
podataka.
1
2
kontrolisano i postepeno uključivanje
detalja u opis sistema, “sakrivanje”
detalja u opisivanju sistema, odnosno
izvlačenje i prikazivanje opštih, a
odlaganje opisivanja detaljnih osobina
nekog sistema.
3
GENERALIZACIJA
je apstrakcija u
kojoj se skup sličnih
tipova objekata
predstavlja opštim
generičkim tipom,
odnosno nadtipom.
AGREGACIJA je
apstrakcija u kojojse
skup objekata i njihovih
međusobnih veza trtira
kao novi, jedinstveni,
agregirani tip.
19
U razvoju sistema baza
podataka može se uočiti
nekoliko generacija,
koje su ili koegzistirale
na tržištu ili smenjivale
jedna drugu.
HIJERARHIJSKI MODEL PODATAKA
Svaki zapis može sadržati samo jedno ključno polje i samo
jedna veza je dozvoljena između dva polja.
Kada se roditelj eliminiše iz baze podataka, sva njegova deca
automatski postaju deca roditeljevog roditelja.
Problem hijerarhijskog modela podataka je u činjenici da se
stvarni podaci ne mogu prilagoditi tako striktnoj hijerarhiji.
Sva pretraživanja podataka moraju početi od vrha stabla a
zatim se kretati silaznom putanjom od roditelja ka deci.
MREŽNI MODEL PODATAKA
Mrežni model podataka kreira veze između podataka kroz
strukturu povezanih lista u kojoj se podređeni zapisi (nazvani
članovima) povezuju sa više nego jednim roditeljem (nazvanim
vlasnik). Članovi zapisa mogu biti povezani sa vlasnikom i u isto
vreme mogu biti vlasnici povezani sa drugim skupom članova
Kao glavni nedostatak ovog modela navodi se činjenica da je
komplikovan za dizajniranje i implementaciju.
21
MODEL OBJEKTI - VEZE
Ime
Staž
Radnik
Adresa
ŠifraRadn
Vrsta
1,1
RadMesto
S
Tip (klasa) objekta.
Zvanje
AdminOsoblje
RadMesto
Nastavnik
Konkretan objekat koji
pripada nekoj klasi je
instanca.
RadMesto
RadMesto
1,1
Sluša
RadMesto
1,M
Student
0,M
0,M
Datum
0,M
Sluša
Ocena
Prijava
RadMesto
Predmet
0,M
RadMesto
RELACIONI MODEL PODATAKA
Relacioni model podataka je baziran na jednostavnom konceptu tabela, čije
vrste i kolone sadrže realne poslovne situacije.
Tabele su nazvane relacijama, a model je baziran na matematičkoj teoriji
skupova i relacija.
Student
Predmet
BrojInd
Ime
Smer
ŠifraPredm
Naziv
BrojČas
011/97
Aca
IS
01
Matem.
3+3
Ana
PM
07
StrukPod
2+2
Jova
M
09
BazePOd 3+2
Pera
IS
321/99
Prijava
BrojInd
ŠifraPredm
Datum
Ocena
321/99
01
IS
7
123/98
01
PM
6
125/98
09
M
10
422/98
07
IS
9
Sluša
BrojInd
ŠifraPredm
321/99
01
123/98
01
321/99
07
123/98
09
422/98
07
Radnik
ŠifraRadn Ime
Adresa
Staž
R325
Nesa
Molerova 5
24
R432
Mira
Dusanova 2
5
R443
Bojana
Puškinova 1
12
R021
Ana
Brankova 5
27
Nastavnik
ŠifraRadn
Zvanje
ŠifraPredm
R325
RedProf
01
R432
Asistent
07
R443
Docent
07
Kolone predstavljaju atribute objekata
Vrste predstavljaju pojavljivanja objekata, odnosno veza.
Relacioni model je vrednosno orjentisan, veze između objekata se
uspostavljaju preko vrednosti njihovih atributa.
RELACIONI MODEL PODATAKA
O relacionom modelu
podataka
Strukturna
jednostavnost
Karakteristike
relacionog
modela baza
podataka
Formalno
i
strogo
zasnivanje
Jednostavni
upitni jezik
Razgraničenje
nivoa
predstavljanja
podataka
Strukturna analiza
relacionog modela
D
O
M
E
N
R
E
L
A
C
I
J
A
Jednostavan
Kompozitan
Bazna
Operativna komponenta
relacionog modela
podatka
Relaciona
algebra
Relacioni
račun
Jezici
relacioih
baza podataka
Jezik za
opis
podataka
Jezik za
manipulisanje
podacima
SQL
Izvedena
Elementi sistema za upravljanje relacionim bazama podataka
OBJEKTNI MODEL BAZA PODATAKA
Osnovna ideja objektno
orijentisanog modela je
da podigne nivo
apstrakcije podataka,
tako da se, umesto
bitovima, slogovima,
poljima manipuliše
entitetima iz realnog
sveta, objektima.
A
P
S
T
R
A
K
C
I
J
E
Entitet koji je sposoban
da čuva svoja stanja i
koji okolini stavlja na
raspolaganje skup
operacija preko kojih se
tim stanjima pristupa.
UČAURENJE
AGREGACIJA
GENERALIZACIJA
KLASIFIKACIJA
Stanje se učauruje u objekte koji drugim objektima u sistemu i okolini
stavljaju na raspolaganje interfejs, podskup svojih operacija koja ta
stanja menjaju i transformišu u odziv objekta.
UČAURENJE
Dodatna apstakcija koja sakrivajući implementaciju
baze podataka omogućava korišćenje njenih
servisa.
Otvara niz mogućnosti u razvoju softvera:
Jeftinije i produktivnije održavanje
Ponovno korišćenje već razvijenih
softverskih
komponenti
(učaurenog
skupa međusobno povezanih objekata)
Korišćenje
udaljenih
računarskoj mreži
servisa
u
class Radnik
(extent radnici
key ŠifraRadn)
class Nastavnik extends Radnik
(extent nastavnici
key ŠifraRadn)
atttribute short ŠifraRadn
atttribute string Ime
atttribute string Adresa
atribute short Staž
atttribute enum {Redov, Vanr,
Docent, Asist} Zvanje;
relationship Predmet Predaje
inverse Predmet :: Predaju;
naziva skupa pojavljivanja objekata
klase koji će se čuvati u bazi,
void Zaposli ();
void Otpusti ()
raises(Nema_ tog_radnika)
class Predmet
(extent predmeti
key ŠifraPredm)
class Student
(extent studenti
key BrojInd)
atttribute short ŠifraPredm;
atttribute string Naziv;
atttribute string BrojČas;
relationship set<Nastavnik>Predaju
inverse Nastavnik :: Predaje;
relationship set <Student> Slušaju
inverse Student :: SlušaPred;
relationship set <Prijava> Položili
inverse Prijava :: Položen;
atttribute string BrojInd;
atttribute string Ime;
atttribute string Smer;
relationship set<Predmet>SlušaPred
inverse Predmet :: Slušaju;
relationship set <Prijava> Položio
inverse Prijava:: SlušaPred;
relationship set <Prijava> Položio
inverse Prijava :: Ispitan;
boolean Drži_se (in short semestar)
raises(već-planiran);
boolean
Izostavljen
(in
short
semestar)
raises(Već-izostavljen);
boolean Upisan (in short ŠifPred)
raises(Nema-uslov, Popunjeno);
Void Ispiši (in short ŠifPred)
raises(Nije-upisan);
class Prijava
(extent prijave)
class AdminOsoblje extends Radnik
(extent administrativci
key ŠifraRadn)
atttribute date Datum;
atttribute short ocena;
relationship Predmet Položen
inverse Predmet :: Položili;
relationship Student Ispitan
inverse Student ::Položio;
1. Deo za specifikaciju naziva klase,
atttribute string RadnoMesto;
i ključa preko koga se identifikuje jedno
pojavljivanje u posmatranom skupu
pojavljivanja.
2.
Deo za specifikaciju atributa:
ključna reč attribute
tip atributa
naziv atributa klase
I deo za specifikaciju veza klase.
Veze se specifikuju
preko preslikavanja
koja ih čine
Vezu Sluša klasa objekata Student i
Predmet čine dva preslikavanja:
SlušaPred: Student--->Predmet i
Slušaju:Predmet---> Student
class Radnik
(extent radnici
key ŠifraRadn)
class Nastavnik extends Radnik
(extent nastavnici
key ŠifraRadn)
atttribute short ŠifraRadn
atttribute string Ime
atttribute string Adresa
atribute short Staž
atttribute enum {Redov, Vanr,
Docent, Asist} Zvanje;
relationship Predmet Predaje
inverse Predmet :: Predaju;
void Zaposli ();
void Otpusti ()
raises(Nema_ tog_radnika)
class Predmet
(extent predmeti
key ŠifraPredm)
class Student
(extent studenti
key BrojInd)
atttribute short ŠifraPredm;
atttribute string Naziv;
atttribute string BrojČas;
relationship set<Nastavnik>Predaju
inverse Nastavnik :: Predaje;
relationship set <Student> Slušaju
inverse Student :: SlušaPred;
relationship set <Prijava> Položili
inverse Prijava :: Položen;
atttribute string BrojInd;
atttribute string Ime;
atttribute string Smer;
relationship set<Predmet>SlušaPred
inverse Predmet :: Slušaju;
relationship set <Prijava> Položio
inverse Prijava:: SlušaPred;
relationship set <Prijava> Položio
inverse Prijava :: Ispitan;
boolean Drži_se (in short semestar)
raises(već-planiran);
boolean Izostavljen(in short semestar)
raises(Već-izostavljen);
boolean Upisan (in short ŠifPred)
raises(Nema-uslov, Popunjeno);
Void Ispiši (in short ŠifPred)
raises(Nije-upisan);
class Prijava
(extent prijave)
class AdminOsoblje extends Radnik
(extent administrativci
key ŠifraRadn)
atttribute date Datum;
atttribute short ocena;
relationship Predmet Položen
inverse Predmet :: Položili;
relationship Student Ispitan
inverse Student ::Položio;
atttribute string RadnoMesto;
3.
Deo za specifikaciju operacija.
Operacije se specifikuju preko tipa
rezultata koje daje i naziva operacije
i argumenata koji mogu biti izlazni (in),
izlazni (out) ili ulazno-izlazni (inout) i
za koje se zadaje tip i naziv
*Semantički bogat
model
*Prvenstveno
namenjen
specifikovanju
statičke strukture
baza podataka i
osnovnih dinamičkih
ograničenja
*Ne postoje
komercijalno
raspoloživi SUBP
*Prvenstveno se
koristi za
projektovanje
baza podataka
*Podržava modelovanje
*Najpopularniji model
veoma složenih struktura
zbog jednostavne
*Pogodan za modelovanje
strukture i jednostavnog
realnih sistema
jezika (SQL)
*Pogodni su za sisteme sa *Bazu podataka tretira
kao dinamički sistem
jednostavnim objektima.
*Pridruživanjem operacija
*Zastupljen u velikom
objektima, objektni
broju tzv “poslovnih baza
model tretira bazu
podataka” i u gotovo
podataka kao dinamički
svim poznatim velikim
sistem.
informacionim sistemima *Apstrakcija učaurenja
omogućava jednostavnije
i velikim softverskim
održavanje softvera,
paketima za upravljanje
ponovno korišćenje
proizvodnjom i
izgrađenih softverskih
poslovanjem.
komponenti, razvoj IS u
*Nije dovoljno semantički distribuiranim heterogenim
bogat
sistemima.
HVALA
NA
PAŽNJI
PROF. DR MILORAD K. BANJANIN
Redudansa podataka
primer
U
nekom
komunalnom
informacionom sistemu, isti
podaci o građanima pamte se i
stotinu puta.
Višestruko skladištenje istih
podataka dovodi do problema
pri njihovom ažuriranju.
Kada se neki podatak promeni,
to se mora učiniti na svim
mestima na kojima se on čuva.
Zavisnost programa od organizacije
podataka
Fizička
str uktura
Način memorisanja
podataka na spoljnim
memorijama
Zavisnost programa od
logičke strukture se ogleda u
tome što program zavisi od
npr. naziva i redosleda polja
u zapisu, što ubacivanje
novog polja u zapis ili bilo
kakvo drugo restruktuiranje
zapisa, koje ne menja sadržaj
podataka koje program
koristi, ipak zahteva i izmenu
samog programa.
Logička
str uktura
Struktura podataka
predstavljena programeru
Fizička zavisnost se ogleda u
tome što program zavisi od
distribucije datoteka po
čvorovima računarske mreže,
izabrane fizičke organizacije
datoteka i izabranih metoda
pristupa, načina sortiranja...
BAZE PODATAKA su najčešće smeštene
na diskovima.
Velike baze podataka, pored diskova
(sekundarne memorije) zahtevaju i tzv.
tercijalnu memoriju.
Jedinice tercijalne memorije imaju
kapacitet reda terabajta (1012 bajta)
Pored podataka sadrži i
metapodatke, odnosno tzv. Rečnik
podataka.
Rečnik podataka je baza podataka o
bazi podataka.
Metapodatak je podatak o podatku.
Termin integritet baze podataka
označava tačnost (dozvoljene
vrednosti),odnosno konzistentnost
(dozvoljene odnose) podataka
34
Sistem za upravljanje skladištenjem
podataka
1.
Upravljanje datotekama (file manager)
2.
Upravljanje baferima (buffer manager)
Vodi računa o lokaciji datoteka
preko kojih se realizuje baza
podataka i o pristupima
blokovima podataka na zahtev
upravljanja baferima.
Vodi računa o lokaciji
datoteka preko kojih
se realizuje baza
podataka i o
pristupima blokovima
podataka na zahtev
upravljanja baferima.
35
PROCESIRANJE OPISA BAZE, APLIKACIJA I UPITA
UPITI
Aplikacije
Ad-hoc
specifikovani
zahtevi za
podacima iz
baze, sa
navedenim
uslovima
kojepodaci treba
da zadovolje
Održavanje šeme
baze podataka
U nekom programskom jeziku
koji se proširuje sa
konstrukcijama upitnih jezika,
preko kojih se, na unapred
definisani način pretražuje i
menja sadržaj baze podataka.
Šema baze podataka opisuje
strukturu baze podataka, pravila
integriteta i prava korišćenja.
Održavanje šeme baze podataka
podrazumeva prvo kreiranje, a
zatim i modifikovanje ovog opisa
36
koji se čuva u Rečniku podataka.
Zahteva da se bilo sve
operacije nad bazom
podataka uspešno obave
ili nijedna.
atonomnost
Transakcija se može definisati i kao
“jedinica konzistentnosti” baze
podataka: pre i posle transakcije
stanje baze podataka mora da
zadovolji uslove konzistentnosti.
konzistentnost
trajnost
Kada se transakcija završi
njeni efekti ne mogu biti
izgubljeni, čak iako se
neposredno po njeom
okončanju desi neki
ozbiljan otkaz sistema.
IZOLACIJA
Kada se dve ili više transakcija
izvršava istovremeno, njihovi
efekti moraju biti međusobno
37
izolvani.
Da bi SUBP praktično realizovao svoje funkcije mora sadržati jezike za
definisanje i pristupanje bazi podataka.
Jezik baze podataka sadrži jedan ili više jezika za opis podataka ili jedan ili
više jezika za manipulaciju podacima.
JEZIK ZA
MANIPUISANJE
PODACIMA
JEZIK ZA OPIS
PODATAKA
Jezik za manipulisanje podacima (DML,
engl.
Data
Manipulation
Language)
omogućava korisniku izvršavanje operacija
nad bazom podataka koja je definisana
jezikom za opis podataka. Ove operacije
omogućavaju upisivanje zapisa, učitavnje
zapisa u radnu zonu programa, upisivanje
izmenjenog zapisa u bazu podataka, potpuno
ili delimično brisanje zapisa, pronalaženje
zapisa i sl.
Jezik za opis podataka (DDL, engl.
Data Definition Language) omogućava
opis podataka na tri nivoa:
1.
Na nivou korisnika u vidu određene
podšeme – jezik za opis podataka
podšeme
2.
Na nivou logičke strukture podataka jezik za opis podataka šeme
3.
Na nivou fizičke strukture podataka –
jezik za opis fizičke strukture podataka.
Na ovom nivou se opisuje način
fizičkog pristupa podacima,
memorisanje podataka i fizička veza
između podataka
Administrator baze podataka
Baza podataka je poseban, samostalni
resurs u informacionom sistemu.
Funkcije administratora baza
podatak:
RAZVOJ KONCEPTUALNOG NIVOA, ODNOSNO
UPRAVLJANJE PODACIMA U SISTEMU.
Administrator
baze ima
ključnu ulogu u
informacionim
sistemima
zasnovanim na
bazama
podataka.
IZBOR FIZIČKE ORGANIZACIJE BAZE PODATAKA I
METODA PRISTUPA
DEFINICIJA I REALIZACIJA PRESLIKAVANJA
KONCEPTUALNI – INTERNI I KONCEPTUALNI EKSTERNI
NIVO
OBEZBEĐENJE SIGURNOSTI I INTEGRITETA BAZE
PODATAKA
PRAĆENJE PERFORMANSI SISTEMA I DEFINISANJE
STRATEGIJE OPORAVKA BAZE PODATAKA
39
DOMEN
Domen je skup vrednosti istog tipa, na primer skup naslova knjiga,
skup imena gradova ili skup datuma nekih događaja.
Domen je jednostavan ako su sve vrednosti atomične, tj. ako
SUBP ne može da ih razloži u komponente sa specifičnim
značenjem; u suprotnom, domen je kompozitan.
RELACIJA
U relacionom modelu podataka relacija odgovara
dvodimenzionalnoj tabeli u kojoj svaka vrsta sadrži jednu n-torku, a
svaka kolona elemente jednog domena (odnosno vredosti
obeležja).
Bazne relacije su relacije koje
su definisane nezavisno od
drugih relacija u bazi podataka,
i ne mogu se izvesti iz drugih
baznih relacija.
Izvedene relacije su relacije koje se mogu izvesti
iz baznih relacija primenom skupa operacija.
Operativna komponenta relacionog modela baza podataka omogućava manipulisanje
podacima u bazi podataka, što se pre svega odnosi na postavljanje upita i ažuriranje baze
podataka.
RELACIONA
ALGEBRA
Relaciona algebra tretira skup operacija nad
relacijama.
Relacioni izraz u relacionoj algebri sastoji se od
niza operacija nad odgovarajućim relacijama.
Među važnijim operacijama relacione algebre,
pored tradicionalnih operacija nad skupovima:
unije, preseka, razlike i Dekartovog
proizvoda, spadaju i operacije projekcije,
selekcije, deljenja i prirodnog spajanja.
Kombinovanjem operacija moguće je izvšiti
pretraživanje, odnosno ažuriranje baze
podataka.
RELACIONI
RAČUN
Drugi formalizam kojim se može opisati
manipulativni deo relacionog modela je
relacioni račun.
Relaciona algebra daje skup eksplicitnih
operacija za izgradnju relacije rezultata,
a relacioni račun pruža notaciju za
opisivanje svojstava relacije rezultata.
Pomoću relacionog računa definiše se
traženi rezultat, a SUBP se prepušta da
dođe do tog rezultata.
SQL
SQL (engl. Structured Query Language) je standardni
relacioni upitni jezik. Omogućava definisanje podataka,
ažuriranje, kontrolu, konzistentnost, konkurentni rad i
jezik za održavanje rečnika podataka.
Jednostavnost i jednoobraznost pri korišćenju
Tabela se kreira jednom izvršnom naredbom i odmah po
kreiranju spremna je za korišćenje (upisivanje, promena,
pretraživanje podataka). Podaci se prikazuju u obliku tabele.
Mogućnost interaktivnog i klasičnog programiranja
Koristeći SQL dobijaju se odgovori na trenutno postavljene zahteve ili se SQL
blokovi ugrađuju u neki viši programski jezik.
Neproceduralnost (proceduralnost u minimalnom stepenu)
SQL je u velikoj meri neproceduralan jer se njime definiše šta se želi dobiti a ne
kako se do rezultata dolazi: koji podaci su poželjni, koje tabele se referenciraju i
koji uslovi treba da budu ispunjeni, bez specifikacije procedure za dobijanje
podataka.