Mode
eli i baaze po
odatak
1
ka
priručnikk za III razred
d
Kratkiis Praistorija Nastanak baza automatPodaci na prebrojavankontakata. obrade bilo Herman Hoime, godišteda baza poOn je uspigodine bio pkartica. Od Istorija Nakon DruOni su se čUskoro su kranih baza Zanimljivo,modifikovan Moderna vrSistemi uprse razvijajudeceniju PrPrvi sistemBachman. Buređaja s izbušenim karDva su se kBachmanovGotovo istoRockwell, aNajranija popod pokrovBaza podatdesetljeća krano u novinRelacioni mapstraktnih relacioni mo
storijatb
aza podatakasku obradu bušenim ka
nje. ProgramDotadašnja je smanjeno
ollerith je ose itd. popunodataka budeio da proda prva automa
d Holerith-ov
ugog svijet sčesto koristilkupci počeli podataka. , ove ranene u odnosu
remena ravljanja bau tokom sljrije naveden
mi upravljanjBachmanovizravnim prisrticama i maključna modvim idejama ovremeno sea kojeg je kasoznata upotr
viteljstvo simtaka (eng. ) koristila se unama Washi
model je preopisa informodel ostao sa
bazapoda
a se vezuje z podataka (A
articama su rmiranje se sv
obrada podo na šest nedesmislio idejunjenih prazne „poravnatakoncept svoj
atizovana bazve kompanije
kog rata počli upravo zada zahtjevaj
e aplikacije u na origina
azama podatjedećih dec
ne godine poa bazom po rani radovistupom pohragnetskoj vrpdela podataka
e počinje primsnije prihvatreba termina mpozij pod n
kao jedinstvu glavnim amngton Post,
edložio E. Fmacijskih struamo u područ
ataka
za Herman-aAOP) o popručno ubacivvodilo na izdataka popisaelja. u po kojoj senim prostoria“.
oje mašine stza podataka, e nastao je d
čeli su se poja jednostavju više od n
su nastavalni dizajn.
aka su se penija. U vočetka upotr
odataka razvi pokazuju drane koji su pci, pa je takoa pojavila u
mjenjivati hio IBM kao kbaza podata
naslovom Ravena riječ po
meričkim nov1966.
F. Codd 197uktura s opisčju akademsk
DokprakpostteorsoftMeđIngrOba197poja
2
a Holerith-apisu stanovnivani u uredajzbor vrste pa trajala je 1
e svaki stanoima da bi
tatističkom bkoja se u su
današnji IBM
javljivati prvvne linearnenjihovih eks
vile da ko
prvi put pojavećini slučajrebe.
vijeni su u 1da je njegov
postali doso serijska obto vrijeme:
hijerarhijski mkamen temelaka potječe iazvoj i upravostala je uobvinama. Ekv
70. godine. sima mehanikog interesak su CODAktičnog inžetojala u ono retsku perspetverska tehnođu prvim pres na Berkea navedena s76. Prvi komavili sve do o
a koji je 1884ištva u SAD
aj za očitavanprebrojavanja0-tak godina
ovnik SAD pse za sva i
birou SAD. uštini sastojalM.
vi elektronske baze podstremno sku
oriste Holleri
avili tokom jeva, period
1960-ima. Zav cilj bio stvtupni: do ta
brada bila domCODASYL
model u sistljac svojeg Siz 1963. kadavljanje računbičajena u E
vivalentni ter
On je kritikizama fizičko.
ASYL sistemenjerstva, uz
vrijeme, relektivu, smatologija uhvatpraktičnim releyju, te projsu bili istražimercijalni poko 1980.
4. godine prD. nje, a obrada a, a radilo sa, a sa Holer
predstavlja nimena obezb
Tako je popla od hiljad
i računari. dataka, najčeupih mašina.
ith-ove buš
1960-tih god uvođenja
ačetnik u tovaranje djeloda se obradminantna akt
L je razvio m
temu koji je SUI proizvoda je Društvonarski centrirEvropi u ranrmin banka p
kovao postojog pristupa.
i i SUI bili imajući u oblacioni modetrajući (ispratiti korak s vealizacijamajekt Sistem Rivački prototproizvodi, O
prijavio pate
a podataka sese ručnim prith-ovim izu
nizom od 80 bedila ista d
pis stanovnišda kutija pu
ešće za rač. Sve je to
šene kartice
odina i nas je dugo t
om polju biootvornije upoda podataka tivnost.
mrežni mode
razvio Nortda. o za razvoj siiranom bazomnim 1970-impodataka kor
jeće modele Ipak je dugo
zamišljeni bzir tehnolo
el je zauzeo avno) da će hvremenom. a bili su StR u IBM-u. tipovi objavlOracle i DB
nt – sistem
e odnosila naprespajanjemumom vreme
karaktera –dužina, tako
štva iz 1890.unih bušenih
čunovodstvo.o vodilo do
e, neznatno
tavili su datrajao, skoro
o je Charlesotrebe novihtemeljila na
el baziran na
th American
istema uzelom podataka.
ma, a krajemristio se vrlo
zbog zbrkeo vremena je
kao rješenjaogiju koja jemnogo većuhardverska i
onebrakerov
ljeni tijekomB2, nisu se
m
a m e
– o
. h
. o
o
a o
s h a
a
n
o .
m o
e e
a e u i
v
m e
3
1980-ih istraživačka aktivnost se usredotočila na sisteme distributivnih baza podataka i na data engine: mašine baza podataka međutim taj je napredak imao malen učinak na tržište. Druga važna teoretska zamisao bio je funkcionalni model podataka, ali bez obzira na neke specijalizirane primjene u genetici, molekularnoj biologiji i istraživanju prevara, svijet nije na njega obratio veliku pažnju. U 1990-im pažnja se prebacila na baze podataka orijentirane prema objektu. To je postiglo nekakav uspjeh u poljima gdje je bilo potrebno rukovati kompleksnijim podacima nego što bi se mogli udobno nositi relacioni sistemi: prostorne baze podataka, inženjerski podaci, multimedijski podaci. U 2000-im područje za inovacije postale su XML baze podataka. XML je kratica za EXtensible Markup Language - odnosno jezik za označavanje podataka. Ideja je bila stvoriti jedan jezik koji će biti jednostavno čitljiv i ljudima i računarskim programima. Princip realizacije je vrlo jednostavan: odgovarajući sadržaj treba se uokviriti odgovarajućim oznakama koje ga opisuju i imaju poznato, ili lako shvatljivo značenje. Format oznaka u XMLu vrlo je sličan formatu oznaka u npr. HTML jeziku. Danas je XML jezik vrlo raširen i koristi se za različite namjene: odvajanje podataka od prezentacije, razmjenu podataka, pohranu podataka, povećavanje dostupnosti podataka i izradu novih specijaliziranih jezika za označavanje. XML je standardizirani jezik i za njegovu standardizaciju brine se World Wide Web Consortium. Vremenom su se osnovne ideje tog koncepta integrisale u poboljšane relacione proizvode. XML baze podataka imaju za cilj ukoniti tradicionalnu podjelu između dokumenata i podataka, dopuštajući svim organizacijskim informacijskim resursima da se drže na jednom mjestu bez obzira da li su visoko strukturirani ili ne. Šta dalje Može se očekivati nastavak već uspostavljenih trendova a kao najzanimljivije i najperspektivnije oblasti:
• Nastavak razvoja ’univerzalnih servera’, to su serveri koji mogu da upravljaju širokom lepezom raznih tipova podataka, tako da budu transparentni svim korisnicima.
• Implementacija veštačke inteligencije i neuronskih mreža • Kombinacija interneta i televizije, kao jedinstvenog informacionog servisa u sklopu razvoja
globalnih baza podataka Osnovnipojmovi Podatak, informacija, sistem i informacioni sistem Sistem predstavlja skup elemenata i njihovih međusobnih veza. Da bi bilo jasno šta cini jedan sistem, sistem se mora posmatrati u odnosu na njegovo okruženje. Granica sistema razdvaja sistem od spoljnih sistema. Interakcija sistema sa okruženjem se sastoji iz skupa ulaznih i izlaznih dejstava. Dejstvo okoline na sistem naziva se ulaz. Dejstvo sistema na okolinu je izlaz sistema. 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.
Ssykza
Cilj informu znanje zaOsnovni zainformacija ŠtasutoNajjednostaŠta znači orSkup podataporediti, itdZnači baza Termin je izvodirektiva za baunutar svoje dsistem upravljkoriste termin Baza podatdisku. Ti poispravljanjeBaze podatatehnologiji tehnologija pohranjivanDaćemo i dKorisnik nijposlu. Korijednostavnuuzimaju u ovećem broju Kompon Sistem baza
1. kor2. apli3. sist4. baz
Ovaj sistem
istem za upystem (softwao interfejs apisa baze po
Korisnički p
macionog sista specifičnu adatak infoa.
bazepodavnija definicrganizovani ?aka pripreml
d., ali takođe podataka jeorno nastao unaze podataka (kdefinicije.Nazivjanja bazom pobaza podataka
taka je skupodaci su na
e. aka predstavkoja je nastaosigurala je
nje i pretraživdefiniciju Jamje zainteresiisnik može iu strukturu, iobzir različitu korisnika, r
entesiste
a podataka sarisnici, ikacija nad bem za uprav
za podataka. m možemo pr
pravljanje ware) - DBMizmeđu koriodataka na d
programi ne
tema: Obra(poslovnu) rmacionog
datakacija bi mogla? ljen tako da si mijenjati (d
e organizovanutar računarskekoja za baze pov baza podatakdataka ili SUB
a da pokriju obap međusobnoraspolaganju
vljaju viši nivala s namjeroe veću produvanje podatames Martina ran za sve vimati uvid uako je u biti te datoteke irazličiti kori
emabaza
adrži 4 osnov
bazom podataljanje bazam
redstaviti slik
bazom podMS (-SUBP-isnika (koris
disku.
pristupaju po
da prikupljnamenu. sistema je
a glasiti: orga
se mogu jedndopunjavati, ana zbirka poe industrije, a ndataka donosi p
ka se strogo govBP. Kada je kona značenja. o povezanih pu korisnicim
vo rada s poom da se ukluktivnost, kvka u računar“Baza poda
vrste podataku samo jednizvedena iz mzvedene iz isnici je različ
podataka
vne kompone
aka, ma podataka (
kom:
dataka (Data-)): SUBP jesničkih progr
odacima dire
4
enih podata
prikupljanj
anizovani sk
nostavno korbrisati).
odataka. njegovo se znaprava za intelekvoreći odnosi nntekst nedvojbe
podataka kojma za pregled
odacima u odlone slabosti
kvalitet i pouru. ataka je skupka u bazi, venu, njemu pomnogo kompiste baze podčito shvaćaju
aimjesto
ente:
(Database M
abase Menae software urama, aplika
ektno, već ko
aka u inform
je, obrada,
kup podataka
ristiti, tj. preg
ačenje proširiloktualno vlasništna zbirku zapisen, mnogi admin
ji se čubaju davanje, pret
dnosu na klatradicionaln
uzdanost u r
p istovrsnih peć samo za ootrebnu datopleksnije strudataka. Daklu.”
osistemaz
Management S
agment uveden acija) i
omuniciraju
macije, radi
arhiviranje
!
gledavati, pre
popularnom utvo) uključuje i a, a na softver nistratori za baz
na nekom trtraživanje, br
asične prograne "automatskrazvoju aplik
podataka s vone koji su moteku koja imukture podatale, iako je ba
zaupravl
System - DB
s ovim softw
njihove tran
e, analiza i
etraživati, so
upotrebom tolik ne elektronske
r bi se trebalo oaze podataka i p
rajnom medijbrisanje, nado
ramske jezikeske obrade pokacija koje
višestrukommu potrebni ma uvijek istaka. Različitaza podataka
ljanjebaz
BMS (SUBP)
ware-om (pro
nsformacije
distribucija
ortirati,
ko da Europskae baze podatakaodnositi kao naprogrameri ipak
ju obično naopunjavanje,
e. Riječ je oodataka". Tase svode na
namjenom.u njegovom
stu i to vrloti korisnici a zajednička
ama
)), i
ogramom).
e
a
a a a k
a ,
o a a
. m o
a
5
AdministratoriprojektantBPAdministrator baze podataka je osoba odgovorna za projektovanje, implementiranje, održavanje (popravku i podešavanje) baze podataka. Njegove obaveze gotovo obuhvataju periodično stvaranje obnovljive baze podataka (backups), analiza egikasnosti i održavanje sadržaja baze podataka. Obaveze i zadaci administratora baze podataka zavise od opisa posla kompanije u kojoj radi i tehničkih karakteristika i mogućnosti administrirane baze podataka. Vrlo često se koristi i naziv projektant baze: Database Developer, ali tada je naglasak na razvoju novih baza, dok administrator uređuje i održava postojeće baze podtaka. PrimjenebazapodatakaBaze podataka se koriste u mnogim aplikacijama, protežući se na kompletan obim računarskog softvera.
• Operativni sistem može da se shvati kao baza podataka. • Bilo koji programski jezik može da se shvati kao baza podataka. • Bilo koja aplikacija i aplikativni program može da se shvati kao baza podataka.
.... Jer svi oni obrađuju neke podatke i daju neke informacije korisniku. Ciljevikorišćenjabazapodataka Baze podataka predstavljaju viši nivo rada s podacima u odnosu na klasične programske jezike. Taj viš nivo se sastoji uglavnom u tome da tehnologija baza podataka nastoji sljedeće ciljeve:
1. 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.
2. 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.
3. 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.
4. 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.
5. Čuvanje integriteta. Nastoji se automatski sačuvati korektnost podataka, i to u situaciji kad postoje greške u aplikacijama, te konfliktne istovremene aktivnosti korisnika.
6. Mogućnost oporavka nakon kvara. Mora postojati pouzdana zaštita baze u slučaju kvara hardvera ili grešaka u radu sistemskog softvera.
7. 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.
8. 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.
9. 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.
Ostvarivanjprojektanta) Životni ciSvaka bazaodržavanja.timski rad sGrubo se to1. Analiza p2. Modelira3. Impleme4. Testiranj5. Održava
Analiza potPorebno je informacija Uočavaju obuhvatiti isto imati utransakcija
• Tre• Sve• Zat
pod
Modeliranj Ovaj dio prčinjenica sabazi podatak ImplemenPrethodni kzamišljenogNa osnovu na računarubaze. Paramprograma kpodacima. Obuhvata:
• Imp• Raz• Inic
e ciljeva o).
iklus bazea podatak im Uvodenje b
stručnjaka razo može podjepotreba anje podataentacija je
anje
treba ustanoviti nau firmi. se podaci analizu tran
uticaja na saa, te zahtjeveba pronaći ve te informacim je ustano
dacima.
je podataka
ripada onomadržanih u toka, te odnose
ntacija koraci su big. šeme i pod-
u. U DBMS-metri se podkoji realizuju
plementacija zvoj potrebnicijalno punje
omogućava
podatakama svoj živobaze podatakznih profila.
eliti na 5 faza
ka
ačin poslova
koje treba nsakcija (opadržaj i kone na perform
veze među pocije o podacimoviti kako će
a
me sto se zovoj bazi podate među njim
ili vrsta pla
šema, te uz pu (SUBP-u)
dešavaju taku pojedine tra
šeme. ih aplikacija
enje baze pod
pravilno mo
a otni vijek, pa u neko pod
a:
nja , koji se
pohranjivaperacija) kojačni oblik bmanse. Rezuodacima. ma treba objse ti podaci
ve globalna štaka: taj opisa. Ovom tem
aniranja - sv
pomoć dostuobično post
ko da se osiansakcije te
za rad. dataka s poda
6
odeliranje i
početak kadaduzeće ili us
Alternat
podaci koris
ati i veze mje će se obabaze. Važnoultat analize j
ediniti i usklkoristiti, ko
šema. Za bazs naziva se šmatikom će
ve na papir
upnog DBMtoje parametrigura efikasapokrivaju p
acima potreb
i upravljanje
a je projektirstanovu pred
tivni dijagramfaza razv
ste, i na koje
među njimaavljati nad bo je procijenje dokument
laditi, stvoritliko često, i
zu podataka ema. Šema o
emo se kasn
ru (ili račun
S-a (SUBP-ari kojima se an rad najvaotrebe raznih
bnim za poče
e BP (od
rana, pa do stavlja složen
m koji pokazvoja i životno
načine, i gd
a. Analiza bazom podatniti frekvenkoji se zove
ti konzistentnkoje su vrste
tipično postopisuje predm
nije detaljno
naru),ali ova
a), fizički semože uticati
ažnijih transh aplikacija.
etak rada.
strane adm
njene impleeni zadatak k
zuje interakciog ciklusa ba
dje. Proučava
potreba tataka, budući
nciju i opsee specifikaci
nu sliku o njie operacija p
toji strukturndmete koji suo pozabaviti
aj korak je
e realizuje bati na fizičku sakcija. Razv. Baza se ini
inistratora i
ementacije ikoji zahtijeva
iju pojedinihaze podataka
aju se tokovi
akođe trebai da to možeg pojedinihja potreba.
ima. potrebne nad
ni opis vrsteu prikazani u.
realizacija
aza podatakaorganizacijuvija se skupicijalno puni
i
i a
h a
i
a e h
d
e u
a
a u p i
Rij LoApkojzov Glopreadmdefdijavezinte Fizna podproniv(cil
TestiranjeKorisnici ravrijeme, prkorisnicima OdržavanjOdvija se u nisu bile oparametara rad s bazom Arhitektu Arhitektura eč je o tri niv
kalni logičkplikacioni proje postoje u ve se pogled
obalni logičedstavu o ministrator, finicije zoveagram kojimze medju poegritet baze p
zički nivo - Tdiskovima
dacicuvaju. ogrameri kojvo ima svolindri i bloko Raspored pbaze podataraspored i zProgrami i kKomunikac Jeziciza Komunikacjezici tradicJezik za opsvrhu zapislogičkom nobično podPascal. Jezik za
eade s bazom rije prave ima. Jeftinu izra
e u vrijeme kadotkrivene u u DBMS (-
m, i to tako da
ura BP
baze podata
voa apstrakc
ki nivo - Činogrami se sluBP. Taj dio (view).
čki nivo -cijeloj baziili projekta
e se šema (m se imenujuodacima, te podataka.
To je fizički a, tj. vanjs
S ovom razji su napisaloje podstrukovi) te datote
pohranjivanaka potrebnozapisivanje pkorisnici ne p
cija programa
radsbaza
cija korisnikacionalno se dpis podataksivanja šem
nivou. Koji pdsećaju na na
manipulisan
i provjeravamplementacijadu prototipo
d je baza većfazi testiran
SUBP-) u sva to praćenje
aka sastoji se
cije:
ne je aplikaciuže samo dije koji oni vid
Odnosi sei. To je oant baze. Z(schema). Tu i definišej pravila koj
prikaz i raspskoj memozinom su uli DBMS (-Skture: prosteke s zapisim
nja opisuje ko je zadati šodatak na fizpristupaju poa i korisnika
amapoda
a odnosno apdijele na sljedka (Data Des
me ili pogledaput postoji paredbe za de
nje podacim
aju da li ona je, razvijaju ova omoguću
ć ušla u redovnja; uvođenjvrhu poboljš
e ne ometa ko
od tri “sloja
ioni programelom podatakde ili se služ
e na logičkono što viZapis logičk
To je tekst ju svi podac
ojima se čuv
pored podatakoriji gdje upoznati samSUBP-). Ovtor na disk
ma.
kako se logišemu i poglezickoj razini.odacima diresa DBMS se
ataka
plikacionog deće kategoriscription Lana. Dakle tim
posebna varijefinisanje slo
ma (Data M7
zadovoljavai približni
uju jezici 4. g
vnu upotrebunje promjenašavanja perfoorisnike.
a” i veza: int
mi. ka že,
ku idi ke ili ci, va
ka se
mo vaj ku
ičke definiciede, a DBM. ektno, već pre obavlja na
programa i Dije: nguage - DD
m jezikom dejanta jezika oženih tipov
Manipulation
a sve zahtjevprototipovi
generacije i o
u. Sastoji se a zbog noviormansi. Odr
terfejsa među
ije preslikavMS (-SUBP-)
ekoDBMS (lokalnoj logi
DBMS -a od
DL). Služi pfinišemo podza šemu, a
va podataka
n Language
ve. Nastoje sebaze podata
objektno-orij
od sljedećegih zahtjeva ržavanje zah
u slojevima.
aju na fizičkće tada aut
SUBP). ičkom nivou
dvija se pom
projektantu bdatke i veze posebna za u jezicima p
e - DML).
e otkriti grešaka, te se ojentisani jezi
g: popravak gkorisnika;
htijeva da se
ke uređaje. Ztomatski se
u.
moću posebn
baze ili admimeđu podacpoglede. Na
poput COBO
Služi pro
ške.U novijeoni pokazujuici.
grešaka kojepodešavanje
e stalno prati
Za stvaranjepobrinuti za
ih jezika. Ti
inistratoru ucima, i to naaredbe DDLOL, PL/I, C,
grameru za
e u
e e i
e a
i
u a L ,
a
uspostavljabazi, te jedpaketima, Ddrugim paknaredbe dvcompiler). Jezik za ppretraživantakve da sam
Ovakva podda se sva trSQL: on slu
Integrisaniuklopljen u Naglasimo povezali s b Tradicionaln(COBOL, PU 80- tim g4GL): Riječproduktivnijnjihovoj nepodataka, te U današnjejezicima (JaZa interakcproduktivnaili prenosi s
anje veze izmdnostavne opDML je zaprketima zaistavaju jezika,
postavljanje nje baze. Tomo specifiku
dela na tri jeri jezika objuži za definis
i jezik se maplikacione da gore spo
bazom, no on
ni način raPL/I, C, Pascgodinama 20.č je o jezicimiji od klasičnestandardnoste se nije mog
e vreme, aplava, C++, . . cije s bazoma zbog korišćs jedne baze n
među aplikaperacije kao ravo bibliotea se radi o pa takav p
upita (Quo je jezik kojuju rezultat k
ezika danas jjedine u jedasanje podatak
može koristitprograme.
omenute vrstni nam nisu d
azvoja aplikaal . . . ) s ugn. vijeka bili s
ma koji su binih programti: svaki od
gao koristiti i
likacije se n. ). m koriste sećenja gotovina drugu.
acionog progšto su upis,
eka potprogrposebnom j
program treb
ery Languagji podseća na
koga želimo d
e već priličnan sveobuhvka, manipulis
ti interaktivn
te jezika nisdovoljni za ra
acija koje rneždenim DMsu dosta populi namijenjen
mskih jezika njih je u pr
izvan tog pak
najčešće raz
e unapred ph klasa, a re
8
grama i baz promjena, brama: "naredeziku: progr
ba prevoditi
ge - QL). a govorni (edobiti, a ne i
no zastarjelavatni. Primjesanje i pretra
Priver
no (preko o
su programskazvoj aplikac
rade s bazoML-naredbamularni i tzv. jni isključivoopšte name
ravilu bio diketa (baze).
zvijaju u sta
pripremljeneezultirajući p
ze. Naredbe brisanje ili čdba" u DMLramer tada p s dva prev
Služi neposengleski) jezi
postupak za
. Naime, koder takvog intaživanje.
imjeri DDL irzije SQL-a
online interp
ki jezici. Dacija koje će n
om je korišćma. jezici 4. gen
o za rad s bazene. Problemio nekog odr
andardnim o
e klase objeprogram se la
DML omogučitanje zapis
L svodi se napiše programvodioca (DM
rednom korik Naredbe sdobijanje re
d relacionih tegrisanog je
i DML jezika
pretera) ili s
akle ti jezici nešto raditi s
ćenje klasičn
eracije (4-th zama, te su zm s jezicimaređenog soft
objektno orij
ekata. Ovakvako dotjeruje
ućuju "manesa. U nekim a poziv potp
m u kojem sML-precomp
risniku za isu neproceduezultata.
baza postojiezika za relac
a integrisanih
se on može
i su nam nu podacima iz
nih program
Generation zato u tom ka 4. generacftverskog pak
jentisanim p
va tehnika e, uklapa u v
evrisanje" posoftverskim
programa. Usu izmešanepiler, obični
nteraktivnouralne, dakle
i tendencijacione baze je
h u novije
pojavljivati
žni da bi sez baze.
mskih jezika
Languages -ontekstu bili
cije je bio uketa za baze
programskim
je dovoljnoveće sisteme
o m U e i
o e
a e
i
e
a
- i u e
m
o e
PoznatisBaze podata1.1 daje presvijetskom t
Proizvođač
Oracle Corp
IBM Corpo
IBM CoInformix So
MySQL AB
Sybase Inc.
Hewlett Pac
Cincom Sys
Microsoft
Microsoft CGotovo svi uobičajene isporučuje proizvođačinjihovog nekraća. MožMySQL. Access je alu upravljanjinformacijaU stvari, Aclako čak i za
Koraciip
softverskiaka se u praegled softvertržištu.
č
poration
oration
rporation (oftware Inc.)
B
.
ckard Co.
stems Inc.
Corporation današnji sofklijente (nprse u verzij
ima softvera estanka, spaje se reći da
lat koji moženju informacia, na primjer ccess sadrži a početnika.
poslovipr
ipaketizavilu realizujra koji u ovo
TabProdu
Oracle
DB2
(prije: Inform
MySQ
Sybase
Allbas
Supra
MS SQ
MS Aftverski paker interaktivnijama za razza baze pod
janja ili preuje posljednj
ete koristiti zaijama. Možezalihe, profeuzorke i pre
rioblikov
aradsbau korišćenje
om trenutku p
bela: Softversukt
e
mix
QL
e SQL Server
se/SQL
QL Server
ccess eti podržavaji interpreter zne računardataka je izuuzimanja. Lije relevantno
a brz i lak rate kreirati ba
fesionalne kondloške koje o
vanjubaz
9
azamapodem nekog odpredstavljaju
rski paketi zaOperativni
MS WindowUNIX (razn
Linux. UNIXMS WindowOS/400 UNIX (raznMS Window
Linux, UNIXMS Window
r MS Window(razni), UNI
UNIX (HP-
MS WindowUNIX (razn
MS Window
MS Windowju relacioni SQL), te bib
rske platformuzetno velikaista relevantno osveženje
azvoj aplikacazu podatakntakte ili posodmah može
epodatak
datakad proverenih u tehnološki
a rad sa bazasistem
ws (razni), Mani), Linux i dru
X (razni), ws, VMS, MV
ni), Linux, ws
X (razni), ws (razni), Ma
ws , OS/2, MaIXWare
UX)
ws NT/2000, Lni), VMS, MV
ws NT/7/8
ws (razni) model i SQLblioteke i alame (operacia, tako da je nih softverskpredstavlja p
cija za relacika koja će vaslovne proceete koristiti za
ka
softverskih prelevantni te
ama:
ac OS, ugi
VS, VM,
ac OS
ac, UNIX
Linux, VS, VM
L. Svaki od ate za razvojione sistemeposlednjih g
kih paketa zpojava publi
one baze podam pomoći dse. a praćenje r
paketa. Tabee imaju znač
Jezici
SQL, Java i d
SQL, COBOL
SQL. Java i d
SQL, C, PHP. ...
SQL. COBOL, ...
SQL. 4GL, C
SQL, COBOL, ...
SQL. C+ + .
Access, Basicnjih sadrži sj aplikacija. e). Konkuregodina često
zato je svakeic-domain so
dataka koje vda pratite sko
raznih inform
elarni prikazajan udio na
drugi
L, Java, . ..
drugi
C, ...
. . .
c, SQL svoj DBMS,Svaki paket
encija međuo dolazilo doe godine sveotvera poput
vam pomažuoro sve vrste
macija, što je
z a
, t u o e t
u e
e
Modelib Modeli su čciljeve anali Model poda
• sku• sku• sku
Objekt promdovoljan sapostupku pOstala obiljpostupak. Podaci su implementirRazličite tehSistem bazproizvodimZa bilo kojkorisniku nePrimjer togakoji omoguć Model nije podacima. Baze podataTri su najče
• hije• mre• rela
Razlikuju snačinima za HijerarhijsStruktura hi
bazapod
čovjekovo srize.
ataka je formupa objekata, upa operacijaupa integritet
matranja (npamo njihov mretraživanja ježja, npr. b
logički orgaranje baze pohnike se korie podataka a da nude poji logički meki nivo kona je relacionćuju brzi pri
samo način
aka mogu se ešća i najrasperarhijski moežni model pacijski modelse međusobnadovoljenja p
ski model ijerarhijskog
dataka
redstvo pojed
malni sistem k- osnovnih e
a koje se provskih ogranič
pr. knjiga ) imanji broj (n
i pronalažeboja knjige,
anizovani poodataka. iste za struktse gradi ok
odršku za višmodel mogu ntrole u prilagni model: svestup redovim
strukturiranj
organizovatprostranjenijaodel podatakapodataka i l podataka.
no u troškovpotreba koris
g modela je u
dnostavljivan
koji se sastojelemenata (kvode nad objenja (integrit
ima uvijek vnpr. samo nasenja knjige u
format, broj
o nekom m
turu modela pko jednog oše od jednog biti moguće
gođenju fiziče ozbiljne imma u tabeli, a
ja podataka:
ti na različitea modela baza,
vima primjensnika za infor
u obliku drvet
10
nja problema
ji od: koncepata) baektima ty constraint
više obilježjslov i inventu knjižnici ij stranica, a
modelu. Mod
podataka. određenog mmodela.
e različite fičke implemen
mplementacijeako su poznat
on takođe d
e načine. za podataka:
ne, brzini prrmacijama.
ta.
a i njegova p
aze podataka
ts) kojima se
a od kojih utarni broj). Tili pretraživaautor nisu bi
del čini osno
modela poda
izičke izvedbntacije. e relacionog te vrijednost
definiše skup
ristupa podac
promatranja s
a
definiše sku
u danom treTo su najvažnanja unutar itna (mogu
ovu za osm
taka, iako j
be, a većina
modela dopui određenih k
p operacija k
cima, stepen
samo s gledi
up važećih pr
enutku analiznija obilježjainformacijskse zanemari
mišljavanje, d
je u porastu
a će proizvo
uštaju stvarakolona.
koje se mogu
nu redundans
išta bitnih za
ravila
ze može bitia potrebna ukog sistema.iti) za takav
definisanje i
u zajedničko
oda ponuditi
anje indeksa,
u izvoditi na
se podataka,
a
i u .
v
i
o
i
,
a
,
Podaci su onivoa poveznivoa podreHijerarhijskOsnovni neunošenju, brUnošenje biBrisanje nadProblem ažu Primjer 2: H
Mrežni moMrežni mohijerarhijskoMrežni modSlog, precizJedan slog ssadrži jednuvezama modStruktura pdijagramu eMrežni močvorovima d
Skupovi (nezapisa: jedaOperacije mdo drugog zključnih vrijMrežna struhijerarhijskupa samim ti Mrežni i hivrstom mrežOsnovna razU mrežnomfunkcionalnjednom zap Mrežni odn
organizovanizan je sa eneđeno više enkom strukturoedostatci hijrisanju i ažuilo kog segmdređenog seguriranja je u
Hijerahijski m
odel odel je nastog modela i del opisan je znije tip (odnsadrži podatku vrijednost dela entiteti-
podataka mreentiteti – vezodel se moždefinišu veze
e treba ih mjan vlasnik, mmrežnog modzapisa pratećijednosti. uktura prikazu smanjuje sim i impleme
ijerarhijski mžnog. S drugzlika je u nač
m ili hijerarhnost veze, te isu piše adre
nosno hijera
i u entitete, ntitetom nižentiteta nižeg om može se jerarhijskog riranju.
menta nije mogmenta dovotome što čes
model organi
tao kao poshijerarhijski skupom međ
nosno vrsta) ke jedne pojaatributa. Slo
-veze. ežnog modee. Slog se oze se predstae među poda
mješati s matemnogo članovdela navigacći odnose u
zuje relacijese redudantnentacija kom
model su prige strane, relačinu prikaziv
hijskom modna konfigur
esa drugog (v
arhijski DM
pri čemu je g nivoa relanivoa, a jedaprikazati odnmodela, po
oguće ako neodi do brisanjsto ažuriranje
izacije kod p
sljedica ogramodel možeđusobno povsloga, u mnoave entiteta. ogovi se pov la opisuje s
značava pravavitii usmjeracima.
ematičkim skva. Zapis možijske su u stkojima sudje
e među podanost i skraćujplikovanija.
ilično slični.acioni modelvanja veza mdelu moguće raciju svih vvezanog) zap
ML omoguću
11
entitet na nacijom tipa ran entitet nižnos 1:više, dored krutost
e postoji njegja njemu pode jednog pod
pristupa fajlo
aničenja hije se prevesti vezanih slogoogim je aspeSastoji se od
vezuju fizičk
se dijagramovokutnikom, renim grafom
kupovima) dže biti i vlasntilu da: progreluje zapis. Z
acima u oblije vrijeme pr
. Ustvari, hijl se po svom
medu entitetimje direktno
veza u šemi. pisa.
uje samo je
najvišem nivroditelj - dježeg nivoa imadok se odnos ti u predsta
gov nadređendređenih segdatka zavisi o
vima
erarhijskog u mrežni i oova. ektima sličand polja koja kim vezama
om strukture a veza linijom u kojem
definišu odnonik i član u bram održavaZapisi mogu
iku više:višeristupa podac
jerarhijski mm pristupu bitma, te načinu
prikazati veVeza se "m
ednostavne o
vou, tzv. korte, tako da ja samo jedanviše:više ne
avljanju pod
ni segment. menata.
od ažuriranja
modela. Tobratno.
n tipu entitetaodgovaraju (eng. link) k
podataka, čm između dvsu čvorovi
ose "jednog nbilo kojem bra tekući polou takođe biti
e. Sa ovom scima, ali je s
model možemno razlikuje
u korišćenja tezu. Doduše,
materijalizuje
operacije s
rijen. Svaki je jednom enn nadređeni emože dobro
dataka, su p
a drugih poda
o je u stva
a modela entatributima. Skoje su srod
čija je namjva sloga.
podaci a l
naprama sviroju skupova
ožaj i upravlj smješteni d
strukturom usama struktu
mo smatrati od ostala dvtih veza. , postoje og" pomoću po
jednim zap
entitet višegntitetu višegentitet. o izvesti. problemi pri
ataka.
ari varijacija
titeta – veze.Savako poljedne binarnim
ena jednaka
ukovi među
ima" izmeđua. ja od jednog
dobavljanjem
u odnosu naura složenija,
specijalnomva.
raničenja naointera, tj. u
pisom (upis,
g g
i
a
. e
m
a
u
u
g m
a ,
m
a u
,
12
promjena, brisanje, čitanje), te "manevrisanje" kroz šemu putem veza (dohvat prvog zapisa, koji je u zadatoj vezi sa zadatim zapisom, dohvat idućeg zapisa, . . . ). Ovakav pristup ima svoje prednosti i mane. Prednost je da je rad s bazom u tehničkom pogledu brz i efikasan. Mana je da korisnik može upotrebiti samo one veze koje su predviđene šemom pa su u skladu s time i materijalizovane. Relacioni –odnosni- model U slučajevima složenijih veza hijerarhijski i mrežni model postaju nepogodni i zato je razvijen relacioni model. Relacioni model je uveo E. F. Codd 1970. godine u svom akademskom radu kao način stvaranja sistema upravljanja bazom podataka nezavisnije od bilo koje druge posebne primjene. To je matematički model definisan u terminima predikatne logike i teorije skupova. Sredinom 80-tih godina 20. veka relacioni model je postao prevladavajući. I danas većina DBMS koristi taj model. Iako je osnovna ideja relacione baze podataka bila veoma popularna, relativno malen broj ljudi razumije SUBP se naziva relacionim ako podržava relacione operacije, bez obzira da li provodi strogo pristajanje prema formalnom relacionom modelu. U relacionoj bazi podataka podaci se organizuju u obliku dvodimenzionalnih tabela, sa vrstama u kojima su slogovi, različiti među sobom, i kolonama u koje se smeštaju određene vrste podataka Za razliku od mrežnih baza podataka, tabele nisu povezane pokazivačima. Umjesto toga ključevi se koriste za slaganje redova podataka u različitim tabelama. Ključ je samo jedan ili više kolona u jednoj tabeli koja odgovara kolonema u drugoj tabeli. Svaka kolona može biti ključ ili se mnogostruke kolone mogu grupisati zajedno u pojedinačan ključ. Za razliku od pokazivača, nije potrebno definisati sve ključeve unaprijed; kolona se može koristiti kao ključ čak ako nije izvorno namjeravao biti jednim od njih. Ključ koji se može koristiti za jedinstveno identifikovanje reda u tabeli naziva se jedinstvenim ključem. Tipično je jedan od jedinstvenih ključeva preferirani način za povezivanje njega s redom; takav ključ definiše se kao tablični primarni ključ. U relacionom modelu veze su samo implicitno naznačene time što se isti ili sličan atribut pojavljuje u više relacija. Veza nije materijalizovana, već se dinamički uspostavlja za vreme rada s podacima, uporedbom vrijednosti atributa u n-torkama raznih relacija. Relacioni DML, osim jednostavnih operacija s jednom relacijom, mora omogućiti slobodno kombinovanje podataka iz raznih relacija. I ovaj pristup ima svoje prednosti i mane. Mana je da se veza svaki put mora iznova uspostavljati; potrebno je pretraživanje podataka, a to troši vreme. Prednost je da korisnik može uspostaviti i one veze koje nisu bile predviđene u fazi modelovanja podataka. Šta više, kao kriterijum za povezivanje, osim jednakosti za vrijednost atributa, mogu poslužiti i razni drugi (složeniji) kriterijumi. To još više povećava fleksibilnost korištenja baze U relacionom modelu težište je na dinamičkom aspektu (manje memorisanja a više manipulisanja). Zato upotrebljivost relacionog DBMS -a bitno zavisi o izražajnim mogućnostima njegovog jezika za rad s podacima. Poželjno je da taj jezik bude u što većoj mjeri neproceduralan i razumljiv neposrednim korisnicima. Ponegdje se kao poseban model izdvaja objektni model. To je model inspiriran je objektno-orijentiranim 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. Većina osobina objektnog modela ugrađena je moderne relacione modele.
A
Modelov Stvarni svijeinformacion Stvarni svijnim, zamjestvarnog sstvarnog sračunarsku Model stvapomoć neko Model podkoristimo ko
Apstrakc Ovaj dio pri
• defi• norm• defi
Pošto baza p
Apstrakcija po• Klasi
gdje sgrupiodnosobilje“jest p
• Genegdje suopštvezom
• Agregvrši foodnos
vanje(m
et, zbog njegnog sistema p
jet predstavljenskim mosvijeta predsvijeta u obradu.
arnog svijetog formalnog
dataka je fod modeliran
cijaišeme
ipada onomefinisanje vrstermalizacija (rfinisanje podšpodataka ne
odrazumjevaifikaciju se obavlja klsanje entitetasno tipove prežjima. Opisupojava” (eng
eralizaciju se tipovi entitavaju se tipom “jest” (enggacija
formiranje nosa postojećih
odeliran
gove složenopredstavlja s
lja se pojednodelom. Mostavlja presoblik pog
ta predstavljg sistema.
formalni sisnja baza pod
ezamode
e sto se zove e podataka i regrupiranje)šema za pojepostoji u rel
a tri procedur
asificiranje,oa u klase, razrema zajedniuje se vezomgl. instance o
iteta niže razom entiteta. Ogl. is a)
ovog pojma nh pojmova.
nje)podat
osti, ne možemliku stvarnog
nostavnje-odeliranje slikavanje odan za
ja se uz
stem koji dataka
eliranjeb
izrada globaveza među n
) podataka u ednine aplikanom svijetu
re
opis i zrede, ičkim
m (odnosom) of).
zine Opisuje se
na osnovu
13
taka
mo prikazatig organizacij
bazepoda
alne šeme i dnjima a premcilju budućc
acije. primjenjujem
i sa svim detjskog sistem
taka
definisanje bama informacijceg efikasnije
mo koncept
aljima. Bazaa.
aze podatakajama dobiveneg rada baze
apstrakcije:
a podataka ne
a: nim analizom podataka.
:
ekog
m potreba.
Konceptu Kao rezultaPojam šeme
1. Na 2. Na 3. Na
Jedna bazaŠema baze pSadržaj ili inČESTO mij Konceptuadomena i inrelacijskog Interna šepohranjeni i
Eksterna šeOsnova za o
ualna,int
at kreiramo me odgovara pkonceptualnunutaršnjemvanjskom ni
a podataka ipodataka se rnstanca bazejenja.
alna šema čentegritetska ili ER model
ma opisuje i koje se met
Logičk
ema opisuje opis eksterni
ternaiek
model baze ppojmu struktunom nivou opm nivou opisuivou opisuju
ima jednu krelativno rije
e podataka (s
esto se korisograničenja la.
detalje fizitode koriste z
ka šema
"pogled" nah šema je ko
ksternaše
odataka kogaure baze podpisuje se KOuje se INTERse EKSTER
konceptualnuetko mijenja.skup svih pod
sti i naziv Lkonceptualn
ičke strukturza pristup po
a dio baze poonceptualna š
14
ema
a predstavljadataka se opisONCEPTUARNA ŠEMA
RNE ŠEME
u, jednu inte. dataka baze p
LOGIČKA Šna šema se m
re pohrane odacima.
dataka koji jšema.
amo odgovarsuje na tri nivLNA ŠEMA
A
ernu i (najč
podataka u o
ŠEMA sadržmože opisati
i metode p
e namijenjen
rajućom šemavoa apstrakc
A
ešće) više ek
određenom tr
ži opis svih i korištenjem
pristupa pod
n specifičnoj
ama. cije:
ksternih šem
renutku) se
entiteta i vem modela po
dacima: kako
j grupi korisn
ma.
eza, atributa,odataka, npr.
o su podaci
nika.
, .
i
Relacija Relacioni mSvaka relacsadrži vrijedAtribut ima Vrijednosti atribut, kojRelacija je pzaglavlja. Obratite parazdvojena domen atrib Vrijednost atolerišemo predstavlja jjednoj relackardinalno Uvedena teatributa redx . . . x Dn. U komercijneposrednijezika (dato
Terminolo
relaciona ba
relacija
atribut (kar
slog
mjera veliči
stepen
domen
MOV (Mode
,atribut,
model zahtjevcija ima svojdnost jednog
a svoje ime p
jednog atriji se zove dopodjeljena na
ažnju na to ddvotačkom
buta.
atributa morsituaciju dajedan primjeciji ne smejuost relacije.
erminologijaom D1, D2, Znači, naš p
jalnim DBMi termini (ta
oteka, zapis, p
ogija relacio
aza podataka
rakteristika)
ine skupa od
del objekti vez
,n‐torka
va da se bazae ime po kog atributa (o kojem ga r
ibuta su podomen atributa dva dijela:
da se u relac– na primje
ra biti jednosa vrijednost erak entiteta,u postojati d
a potiče iz m. . . , Dn. Ta
pojam relacijeMS, umjesto abela - tablepolje).
one baze po
a
dređenih obje
ze) ili ER
a podataka saojem je razlikza entitet ilirazlikujemo o
daci istog tita. zaglavlje i t
cionoj notacer, UnitPrice
struka i jednoatributa ne
ili beleži vedvije jednake
matematike. ada se R može odgovara m"matemati
e, red - row,
odataka
ekata
15
astoji od skupkujemo od oi vezu) - zatod ostalih u
ipa. Dakle,
tijelo. Torke
ciji natpis u e:Currency.
ostavna (ne edostaje (nijezu između de n-torke. B
Naime, nekže interpretirmatematičkoičkih" term, kolona - co
Tabe
skup
jedna
zaglav
vrsta
broj v
broj k
posta
mode
pa pravougaoostalih u istoto kolonu poistoj relaciji.
definisan je
e čine tijelo r
zaglavlju sv Prvi dio na
da se rastavie upisana).
dva ili više prBroj atributa
ka je R relacijati kao podskm pojmu n-n
mina (relacijaolumn) ili te
larna term
tabela
a tabela
vlje kolone
od podatak
vrsta u tabe
kolona u tab
avka važećih
el objekti-ve
onih tabela -oj bazi. Jednoistovećujem
e skup dozv
relacije dok s
vakog atribuatpisa je im
iti na dijelovJedan red
rimjeraka. Rje stepen re
ja stepena n kup Dekartonarne relacijea, n-torka, aermini iz trad
minologija
u tabeli
ka u tabeli
li
beli
h vrijednosti
ze ili Entity-
- tzv. relacijana kolona relmo s atributom
voljenih vri
se zaglavlje
uta sastoji odme atributa, d
ve). Pod nekirelacije (tab
Red nazivamoelacije, a bro
i neka su doovog proizvoe. atribut), češćdicionalnih p
i za podatke
y-Relationsh
a. lacije običnom i obratno.
ijednosti za
sastoji od ...
d dva dijela,dok je drugi
im uslovimabele) običnoo n-torka. Uoj n-torki je
omeni njenihoda D1 x D2
će se koristeprogramskih
e u koloni
ip Model
o .
a
, i
a o U e
h 2
e h
16
Napomena (koja najčešće bez obzita na svoju važnost ima samo formalno značenje, jer u praksi je teško provodiva): Da bi se određena tabela kvalifikovala kao relacija, svaki zapis mora da bude nedvosmisleno identifikovan i tabela ne smije da sadrži duplirane zapise. (vidi Kodova pravila.) Ne zna se šta je teže nedvosmisleno je odrediti ili izbjeći dupliranje!!! Teorija relacionih baza podataka koristi relacionu algebru, ali taj dio nije od presudne važnosti za dizajniranje baze podataka. Relaciona algebra je potrebna za precizan opis operacija koje se izvode nad podacima u relacionoj bazi podataka čime se postiže veza između opisa podataka u korisnikovom pogledu i opisa podataka u konceptualnom modelu podataka konkretne baze podataka. Najviše zabune izaziva ER model i mi ćemo pri modeliranju uglavnom koristiti tabelarnu terminologiju, koja pojednostavljuje i uglavnom zadovoljava sve bitne uslove za projektovanje baze podataka. Glavna komponenta MOV pristupa je koncept entiteta (objekata i veza). Entiteti obuhvataju objekte koji se nalaze u jednoj organizaciji, kao i veze među objektima jedne organizacije, Ograničenja integriteta eniteta i veza čine važan dio MOV opisa odnosno specifikacije.
Entitetiiatributi Entitet je nešto o čemu želimo pamtiti podatke, nešto što je u stanju postojati ili ne postojati, te se može identifikovati. Entitet je stvar, objekt, od značaja, realan ili imaginaran za koji je potrebno poznavati i čuvati određene informacije. Entitet može biti objekt ili biće (na primjer kuća, student, auto), odnosno događaj ili pojava Na primjer: imenice “Kupci”, “Roba”, “Prodavci” i “Dobavljači” predstavljaju očigledne entitete; ali događaji predstavŕeni glagolima “kupiti” i “prodati” takođe su entiteti.) Entitet je sve o čemu sistem treba da skladišti podatke. Entitet je opisan atributima (na primjer atributi kuće su: adresa, broj spratova, boja fasade, . . . ). Atribut je svaki detalj koji služi da pobliže odredi, identificira, klasificira, kvantificira ili izrazi stanje entiteta, dakle može se reći da atribut predstavlja opis entiteta. Postupkom klasifikacije može se ustanoviti skup srodnih entiteta (npr.osobe) što se može predstaviti tipom entiteta (npr. OSOBA), što znači da se tip entiteta sastoji od pojava entiteta koji imaju zajedničke atribute. • JAKI entitet – tip entiteta čija egzistencija nije vezana za postojanje nekog drugog tipa entiteta. • SLABI entitet – tip entiteta čija egzistencija zavisi o postojanju nekog drugog tipa entiteta, tj. onaj tip
entiteta koji ne može postojati u bazi podataka ukoliko neki drugi tip entiteta takođe ne postoji u bazi. • ID-zavisni entitet – tip entiteta kod kojega identifikator jednog entiteta uključuje identifikator drugog
entiteta Tipovi entiteta omogućuju da se, umjesto u formi iskaza o odnosima među entitetima, informacija može formulisati u formi iskaza o odnosima između tipova entiteta (npr. “svaki sektor je u tačno jednom odeljenju”.) Ukoliko neki atribut i sam zahtjeva svoje atribute, tada ga radije treba smatrati novim entitetom (na primjer model auta). Isto pravilo vrijedi i ako atribut može istovremeno imati više vrijednosti (na primjer kvar koji je popravljen pri servisiranju auta). Ime entiteta, zajedno sa pripadnim atributima, zapravo odreduje tip entiteta. Može postojati mnogo primjeraka (pojava, instanci) entiteta zadatog tipa (na primjer STUDENT je tip čiji primjerci su Petrović Petar, Marković Marko, . . . ).
17
Domenatributa(Domain) Domen (domain) je skup svih prihvatljivih vrijednosti koje atribut može imati. Za svaki entitet, atribut poprima vrijednosti iz određenog skupa vrijednosti koji predstavlja domen tog atributa. Domeni se formalno ne trebaju mješati s tipovima podataka; to su dva različita pojma. Tip podataka je fizički pojam, dok je domen logički pojam. “Broj” je tip podataka; “Starost” je domen. I “Ulica” i “Prezime” mogu biti predstavljeni poljima tekstualnog tipa, ali je očigledno da su u pitanju različite vrste tekstualnih polja, koja pripadaju različitim domenima. Domen je uži pojam od tipa podataka jer definicija domena zahtjeva precizniji opis validnih podataka. Uzmite kao primjer domen StručnaSprema, koji predstavlja stručnu spremu osobe. U šemi baze podataka, taj atribut se može definisati kao Text, ali to ne može biti bilo koji tekst, već samo element iz skupa {niža, srednja, viša, visoka, magistratura, doktorat}. Razumije se, ne možete sve domene definisati pojedinačnim navođenjem prihvatljivih vrijednosti. Starost, na primer, sadrži otprilike stotinak vrijednosti ako je u pitanju starost osoba, ali to mogu biti desetine hiljada razliĺitih vrijednosti kada su u pitanju muzejski eksponati. U takvim slučajevima, umjesto u obliku liste vrijednosti, lakše je definisati domen u obliku pravila koja utvrđuju da li određena vrijednost pripada skupu prihvatŕivih vrijednosti.
Kategorijeitipoviatributa Kategorije podataka: Znakovni tipovi podataka, Binarni podaci, Numerički tipovi podataka, Podaci formata datum - vrijeme. Najčešći tipovi atributa: Tekstualni / strings (CHAR(n) – tekst dužine n slova, VARCHAR(n) – tekst dužine najviše n slova, TEXT – tekst proizvoljne dužine), Numerički (INT – cijeli broj prikazan s 4 bytea, BIGINT – cijeli broj prikazan s 8 bytea, SMALLINT – cijeli broj prikazan s 2 bytea, REAL – realni broj prikazan s 4 bytea, DOUBLE PRECISION - realni broj prikazan s 8 bytea, NUMERIC [(p,s)] - realni broj zadane preciznosti, MONEY - novac, SERIAL - cijeli broj koji se samo-povećava (auto-inkrementima)), Binarni podaci, Logički podaci, Datum i vrijeme (DATE, TIME, TIMESTAMP – datum+vrijeme). Dodatna svojstva atributa: DEFAULT (zadavanje predefinirane vrijednosti), NOT NULL (vrijednost ne smije biti nepoznata), CHECK (provjera da li je vrijednost atributa u zadanim granicama), UNIQUE (jedinstvenost među n-torkama unutar relacije), PRIMARY KEY (primarni ključ), REFERENCES (vrijednost odgovara vrijednostima atributa iz druge relacije (najčešće ključ te relacije)), UNSIGNED (Ako ne trebamo negativne brojeve), FLOATING POINT (decimalni brojevi), DOUBLE F.P. (pozitivne i negativne vrijednosti).
18
Relacionimodelbazepodataka Relacioni model ispisuje isključivo logičke aspekte podataka,odnosno relacije koje postoje među različitim podacima i ne bavi se problemom fizičkog smještaja podataka u memoriju računara. Relacione baze podataka se projektuju u vidu tabela, indeksiranih po različitim pojmovima (poljima) i sa više ključeva. Već pri njihovom kreiranju mogu se uspostaviti logičke veze između pojedinih tabela preko zajedničkih polja tako da se na lak i jednostavan način dolazi do svih potrebnih podataka, bilo da se radi o podacima samo iz jedne tabele ili se podaci dobijaju spajanjem više tabela u jednu novu, koja je privremenog karaktera, a sadrži samo polja koja su potrebna korisniku. Do podatka se u tabeli dolazi direktno pozivanjem odgovarajućeg indeksnog ključa pri čemu se pokazivač automatski pozicionira na slog sa traženim podatkom. Osnivač relacionog modela, u cilju zaštite epiteta “relacioni”, koji se sve češće iz komercijalnih razloga pripisivao i nekim nerelacionim sistemima za upravljanje bazama podataka, definisao je 12 (13 vidi kasnije) strogih pravila koje mora poštovati jedan RDBMS1. On je takođe i argumentovao postojanje niza pozitivnih efekata koje u praksi postiže sistem ukoliko zadovoljava definisane kriterijume. Većina prozvođača alata i programa koji omogućavaju rad sa relacionim bazama ne pridržavaju se u potpunisti ovih pravila pa ćemo nešto detaljnije obraditi:
• Sistemski tretman „NULL“ vrijednosti • Neprekidan pristup dinamičkom katalogu • Fizičku nezavisnost • Logičku nezavisnost • Integritetsku nezavisnost
koje većina poštuje, a dati Osnovni pojmovi relacionog modela koje je Codd preuzeo iz matematičke teorije skupova su:
• Domen; • Relacija i • Atribut.
Domen se definiše nabrajajući vrijednosti koje ulaze u sastav domena. Npr. Naziv dana u sedmici={ponedjeljak,utorak,srijeda,četvrtak,petak,subota,nedjelja} Relacija je imenovani podskup Dekartovog (Kartezijevog) proizvoda dva ili više domena. Neka su definisana dva domena. 1. Ime_prezime_studenta={Petar Petrović,Dragana Draganović} 2. Naziv predmeta={Matematika,Fizika,Biologija} Kombinacije vrijednosti domena nazivaju se n-torke. Prema tome, relacija je skup n-torki.
IME_PREZIME_UČENIKA NAZIV_PREDMETA
Petar Petrović Matematika
Petar Petrović Fizika
Petar Petrović Biologija
Dragana Draganović Matematika
Dragana Draganović Fizika
Dragana Draganović Biologija
Tabela Relacija UČENIK_PREDMET Relaciona tabela se još naziva i relaciona šema,a nju karakterišu sljedeća svojstva:
• U relacionoj šemi može postojati samo jedan tip slogova, odnosno n-torki; • Svaki red, odnosno slog ili n-torka uključuje tačno određen broj polja podataka, tj. atributa i svaki od
njih je eksplicitno imenovan; • Relaciona šema ne sadrži dva jednaka naziva atributa,odnosno relacija ne sadrži dvije jednake
kolone; • Redosljed kolkona,odnosno atributa je nebitan; • Redosljed n-torki je nebitan i • Nove se tabele mogu stvarati povezivanjem preko vrijednosti polja podataka iz istog domena iz dvije
postojeće tabele.
1 Relational Database Management System-sistem relacionih baza podataka
19
Skup operacija koje se provode na relacijama, odnosno tabelama naziva se relacionom algebrom. Najčešće korišene operacije relacione algebre nad podacima su sljedeće:
• Operacija selekcije (Selection); • Operacija projekcije (Projection) i • Operacija spajanja (Join)
12Pravilakojiodređujurelacionisistem(JeliKodsujevjeran?) 12 Kodovih pravila čini skup od trinaest pravila koja je predložio Edgar F. Kod2, sa ciljem da definiše šta je potrebno da poseduje jedan sistem za manipulaciju bazom podataka da bi ga mogli smatrati relacionim (RDBMS). Kod je sročio ova pravila kao deo lične potrebe da spreči razbijanje svoje vizije relacione baze podataka, s obzirom da su prodavci baza podataka nastojali početkom osamdesetih godina dvadesetog vijeka da zapakuju postojeće proizvode u relacionu oblandu. Pravilo broj 12 je posebno bilo navedeno da se suprotstavi takvim nastojanjima.
Edgar Frank Codd
(Engleska, 1923. – 2003.) dok je radio za IBM, stvorio je relacioni model za upravljanje bazom podataka
0. Sistem se mora kvalifikovati kao relacioni, kao baza podataka, i kao sistem za manipulaciju.
Da bi sistem nazvali relacionim sistemom za manipulaciju bazom podataka (RDBMS), on isključivo mora koristiti svoje relacione mogućnosti da upravlja bazom podataka.
1. Pravilo informacije: Sve informacije u bazi podataka moraju biti predstavljene na jedinstven način, svojim vrijednostima u kolonama u okviru redova tabela.
2. Pravilo garantovanog pristupa: Svi podaci moraju biti dostupni bez dvosmislenosti. Ovo pravilo je u suštini reformulacija osnovnog zahtjeva za postojanjem primarnih ključeva. Ono traži da je svaka pojedinačna vrijednost u bazi logički adresibilna navođenjem naziva tabele koja je sadrži, naziva kolone u kojoj se nalazi i vrijednosti primarnog ključa reda koji je sadrži.
3. Sistematično tretiranje null vrijednosti: Sistem mora dozvoljavati da svako polje može, po potrebi, ostati prazno (ili imati vrijednost null). Posebno, mora podržavati predstavljanje "informacija koje fale ili se ne mogu primjenti" koje je sistematično, različito od svih regularnih vrijednosti (na primer, "različito od nule i bilo kog drugog broja," u slučaju brojevnih vrijednosti), i nezavisno od tipa podataka. Takođe se naglašava da takve reprezentacije sistem mora tretirati dosljedno.
4. Aktivni, uvijek dostupan katalog zasnovan na relacionom modelu: Sistem sadrži opis baze podataka na logičkom nivou u vidu tabela, tj. relacioni katalog dostupan autorizovanim korisnicima kroz upotrebu njihovog standardnog jezika za upite. To znači da korisnici moraju biti u mogućnosti da pristupe strukturi baze podataka (katalogu) koristeći isti jezik za upite kojim se služe da bi pristupili samim podacima.
5. Pravilo razumljivog podjezika: Sistem mora da podržava bar jedan relacioni jezik koji (a) Ima linearnu sintaksu, (b) može da se koristi i interaktivno i u okviru aplikativnih programa,
2 izvor wikipedija prema Codd, Edgar Frank (14 October 1985), "Is Your DBMS Really Relational?", ComputerWorld.
20
(c) podržava operacije definisanja podataka (uključujući definisanje pogleda), operacije manipulisanja podacima (ažuriranje podjednako kao i izdvajanje), pravila integriteta i autorizaciju, kao i operacije manipulisanja transakcijama (begin, commit, i rollback).
6. Pravilo ažuriranja pogleda: Sve poglede koje je teorijski moguće ažurirati, ažurira sistem.
7. Unošenje, ažuriranje i uklanjanje podataka na nivou skupova: Sistem mora da podržava skupovne insert, update, i delete operatore. To znači da se informacije iz relacione baze mogu izdvajati u skupovima koje čine podaci iz više redova i više tabela. Ovo pravilo traži da operacije dodavanja, ažuriranja i brisanja budu primjenjive na bilo koji skup podataka koji se može izdvojiti iz baze, a ne samo na pojedinačni red u jednoj tabeli.
8. Fizička nezavisnost podataka: Promjene na fizičkom nivou (način na koji se čuvaju podaci, da li su u pitanju nizovi ili povezane liste itd.) ne smiju zahtjevati promjene aplikacija zasnovanih na datoj strukturi.
9. Logička nezavisnost podataka: Promjene na logičkom nivou (tabela, kolona, redova, i tako dalje) ne smiju zahtjevati promjene aplikacija koje su zasnovane na toj strukturi. Mnogo je teže postići logičku nego fizičku nezavisnost podataka.
10. Nezavisnost od pravila integriteta: Pravila integriteta moraju biti definisana nezavisno od aplikativnih programa i sačuvana u katalogu. Mora biti predviđena mogućnost njihove izmjene u bilo kom trenutku bez nepotrebnog uticanja na postojeće aplikacije.
11. Nezavisnost od distribucije: Distribucija dijelova baze na različite lokacije mora biti nevidljiva za korisnike baze. Postojeće aplikacije moraju nastaviti da rade: (a) kada se prvi put uvodi distribucija baze; i (b) pri bilo kojoj sledećoj distribuciji podataka u sistemu.
12. Pravilo zaštite podataka: Ako sistem podržava upotrebu jezika koji rade na niskom nivou (manipulacija jednim slogom u datom trenutku), onda oni ne mogu biti korišćeni za napad na sistem, u smislu zaobilaženja pravila integriteta ili relacione sigurnosti.
Operacijaselekcije(SELECTION) SELECT operacija (označava se sa σ (sigma)) se koristi za izbor podskupa ntorki iz relacije i bazirana je na uslovu selekcije (izbora). Selekcijski uslov se ponaša kao filter: zadržava samo one ntorke koje ispunjavaju kvalifikacijski uslov–Ntorke koje ispunjavaju uslov se selektuju dok se ostale ntorke odbijaju(filtriraju). Operacija selekcije predstavlja selekciju n-torki jedne relacije koje udovoljavaju zadanom kriteriju. Ntorke koje čine izraz lažnim (false) se filtriraju –Izbacuju se iz rezultata operacije.
RELACIJA: UČENIK
IME_PREZIME GOD_ROĐENJA GOD_ŠKOLOVANJA SMJER
Petar Petrović 1989. II A
Drago Dragić 1987. IV B
Jovan Jovanović 1989. III C
Mile Milić 1990. I A
Janko Janković 1989. II B
RELACIJA: ROĐENI_1989. IME_PREZIME GOD_ROĐENJA GOD_ŠKOLOVANJA SMJER
Petar Petrović 1989. II A
Janko Janković 1989. II B
Jovan Jovanović 1989. III C
Tabela Primjer relacione operacije selekcije
Operacija PROJECT oOva operaciPROJECT ntorki. Ostaje zato što relemente. Operacijomkoje iz neko RELACIJAIME_PREZPetar PetrovDragana DrJovan JovanMilan MilanJanko JankoRELACIJAIME_PREZPetar PetrovDragana DrJovan JovanMilan MilanJanko JankoTabela. Prim
Dekartov( Sastoji se odDekartov ptabela. SvakPrimjer:
projekcije
operacija se oija zadržava kreira vertik
ali atributi serezultat opera
m projekcije og razloga vi
A: UČENIKZIME vić raganović nović nović ović A: UČENICZIME GOvić II raganović IVnović IIInović I ović II mjer relacio
(Kartezijev
d n-torki nasproizvos se jki zapis jedne
(PROJECTI
označava s πodređene ko
kalno partice izbacuju iz acije projekc
iz relacione iše nisu inter
K GOD1989.1987.1989.1990.1989.
CI_PO_GODOD_ŠKOLO
V I
one operacij
v)proizvod
stalih spajanjoš naziva i e tabele se sp
ON)
π(pi) olone (atributioniranje. Lsvake ntorke
cije mora biti
šeme se eliresantne.
_ROĐENJA. . . . .
DINAMA_ŠKOVANJA
e projekcije
RXS
em svake n-nekontrolisa
paja s svim z
21
te) iz relacijeista specificeOperacija pi skup ntorki
iminišu post
A GOD_ŠKOII IV III I II
KOLOVAN
e
-torke relacijeano spajanjezapisima dru
e a druge kolciranih stupaprojekcije uki•Matematičk
tojeći atribut
OLOVANJA
NJA
e R sa svakoe. Nastaje bege tabele.
KoSEFR
lone aca (atributalanja bilo koki skupovi ne
ti, odnosno k
A SMJERA B C A B
om n-torkom ezuslovnim
od: ELECT * ROM Rowse
a) se zadržavoju dupliranue dozvoljava
kolone relac
relacije S spajanjem d
etA,RowsetB
va u svakoju ntorku. Toaju duplirane
cione tabele,
dvije ili više
B;
j o e
,
e
22
Operacijaspajanja(JOIN) Posebna operacije, nazvana SPAJANJE -JOIN kombinuje miz (sekvencu) u jednu operaciju. JOIN operacija (označava se s teta/theta ), predstavlja niz Dekartovih proizvoda koje slijedi SELECT. Obično se koristi za identifikaciju i selekciju redaova iz dvije relacije. Ova operacija je vrlo značajna za bilo koju relacionu BP jer dozvoljava kombinovanje povezanih ntorki iz različitih relacija. Formalno prije operacije JOIN bilo bi potrebno definisati uniju i presjek, pa detaljnije analizirati Dekartov proizvod, ali to zahtjeva nešto ozbiljniju podlogu u relacionoj algebri za koji smo rekli da je osnov RDBMS (Kodovog) modela. Operacijom spajanja od dvije relacije se formira nova relacija tako da se spajaju n-torke prve relacije sa n-torkama druge relacije, koje imaju istu vrijednost atributa spajanja. RELACIJA: UČENIK IME_PREZIME GOD_ROĐENJA GOD_ŠKOLOVANJA SMJER
Petar Petrović 1989. II A
Dragana Draganović 1987. IV B
Jovan Jovanović 1989. III C
Milan Milanović 1990. I A
Janko Janković 1989. II B
RELACIJA: SMJEROVI SMJER NAZIV_SMJERA
A Opšti
B Jezički
C Prirodno-Matematički
RELACIJA: UČENICI_PO_SMJEROVIMA IME_PREZIME GOD_ROĐENJA GOD_ŠKOLOVANJA NAZIV_SMJERA
Petar Petrović 1989. II Opšti
Dragana Draganović 1987. IV Jezički
Jovan Jovanović 1989. III Prirodno-Matematički
Milan Milanović 1990. I Opšti
Janko Janković 1989. II Jezički
Tabele Primjer relacione operacije spajanja
Sistemskitretman„NULL“vrijednosti Potpuno relacioni sistem za upravljanje bazom podataka obavezno sistemski podržava predstavljanje informacija koje nedostaju u bazi, upotrebom tzv. Null vrijednosti, nezavisno od tipa podataka. Null vrijednost je specifičan indikator različit od praznog niza karaktera ili niza “blankova” i različit od nule ili bilo kog drugog broja. RDBMS obezbjeđuje jedinstvenu prezentaciju Null vrijednosti, a na taj način i jednostavno rukovanje tim vrijednostima. Vrijednost Null može biti potencijalna vrijednost svake kolone bez obzira na njen tip, osim u slučaju kad se izričito zahtjeva da vrijednosti u nekoj koloni ne smiju biti nedefinisane (dodatno ograničenje NONULL). Izuzetak predstavljaju kolone primarnog ključa koje, kao identifikatori zapisa u tabeli, ne smiju uzeti Null vrijednost.
23
Neprekidanpristupdinamičkomkatalogurelacionogmodela Relacioni sistem posjeduje katalog (riječnik) podataka koji se na logičkom nivou predstavlja na isti način kao i sami podaci, tako da ovlašćeni korisnici mogu primjenjivati jedinstveni relacioni jezik za pretragu ovih meta-podataka. Pod pojmom "katalog" podrazumjeva se direktorij u kojem se nalaze sistemske definicije podataka. Uvidom u katalog podataka može se saznati koje kolone posjeduju određene tabele, koja su ograničenja definisana, kao i druge informacije koje se odnose na sistemske tabele. U slučaju distribuiranih baza podataka, katalog treba da sadrži podatke o lokaciji svakog dijela baze. Katalog nazivamo “dinamičkim” zbog činjenice da definicije podataka koje se mogu vidjeti odgovaraju upravo tekućem stanju u bazi podataka. Bez obzira na to koji korisnik, na kojoj lokaciji, ili u kom dijelu opisa baze napravi neku izmjenu, novo stanje će biti dostupno za čitanje svim ovlašćenim korisnicima. “On line” pristup katalogu praktično znači da je trenutnom stanju opisa baze obezbeđen neprekidan pristup. Međutim, sve dok se stanje u opisu baze konačno ne promjeni, ovlašćenim korisnicima je vidljivo stanje prije promjena. Naime, u relacionoj bazi sve operacije koje mjenjaju opis podataka započinju i završavaju se određenim naredbama kojima se sistem obaveštava da je ažuriranje kompletno. “On line” uvidom ne vidi se ni jedna izmjena koja nije konačna. Važna je činjenica da pravo pristupa opisu baze imaju samo za to ovlašćeni (autorizovani) korisnici.
Fizičkanezavisnost Relacioni sistemi u obavezi su da zadovolje pravilo fizičke nezavisnosti čija je suština u sljedećem: aplikacioni program i aktivnosti na terminalima ostaju neizmjenjeni kada se promjeni fizička organizacija baze ili fizički metod pristupa podacima. Aplikacije i programi rukuju podacima isključivo na semantičkom i logičkom nivou. Sama fizička organizacija podataka predstavlja internu stvar sistema i ima uticaja jedino na performanse (brzinu pristupa podacima, odziv sistema). Neophodno je da u sistemu postoji oštra granica između logičkog modela podataka i fizičkog razmještaja podataka na mediju. Kreiranje i brisanje indeksa nad nekom tabelom iz baze, ne smije imati uticaja na logičku strukturu programa i naredbi. Kod nerelacionih sistema za upravljanje bazom podataka sami programi bi morali pretrpjeti izmjene u zavisnosti od postojanja indeksa nad određenim tabelama. Navedeno pravilo omogućava da se uoče dvije osnovne grupe korisnika u sistemu:
• projektanti i programeri, • administratori baze podataka.
Uloga projektanata i programera je da se bave logičkim dizajniranjem i programiranjem, dok se administratori baze, između ostalog, bave i održavanjem interne organizacije podataka u sistemu. Osnovna komponenta koja u aktuelnim relacionim sistemima obezbeđuje fizičku nezavisnost je tzv. optimizator SQL naredbi. Optimizator za svaku SQL naredbu određuje optimalan plan izvršenja u smislu vremena odziva i ukupnog utroška resursa sistema. Sam proces optimizacije odvija se u trenutku izvršenja naredbe, a sastoji se od analize dostupnih indeksa i načina pristupa podacima. Plan izvršavanja naredbe za koji se predviđaju najbolje performanse u obradi bira se na osnovu heurističkih pravila ili statističkih podataka o bazi.
24
Logičkanezavisnost Kada se na tabelama baze izvrše izmjene koje ne izazivaju gubljenje podataka ili logička oštećenja, aplikacioni programi i aktivnosti na terminalima ostaju logički neoštećeni. Ukoliko RDBMS ispunjava uslov ažuriranja pogleda onda će bez problema moći da zadovolji i pravilo logičke nezavisnosti. Kada spajamo dvije tabele mogućnost ažuriranja pogleda nad novom tabelom uslov je za očuvanje logičke nezavisnosti. Logička, kao i fizička nezavisnost, za posljedicu imaju jednu veoma važnu prednost koju relacioni sistemi pokazuju u odnosu na nerelacione. Prednost se sastoji u tome što greške u početnom dizajnu modela podataka nemaju teške posledice i dozvoljavaju naknadne korekcije. Projektanti u tom smislu mogu da bez prevelikog opterećnja kreiraju inicijalne modele podataka, a da ih kasnije, čak i u poodmakloj fazi implementacije aplikacije, ponovo dorađuju i prilagođavaju novim zahtjevima.
Integritetskanezavisnost Sva pravila integriteta definišu se u okviru definicije baze podataka i čuvaju se u katalogu podataka, a ne u aplikacionim programima. Integritet podataka djeli se na 4 kategorije: - integritet entiteta, - integritet domena, - referencijalni integritet, i - korisnički definisan integritet. Integritet entiteta podrazumeva da svaka vrijednost primarnog ključa mora biti jedinstvena na nivou cijele relacije. Osim toga, mora biti ispunjen uslov da ni jedna stavka u koloni primarnog ključa ne smije imati NULL vrijednost. Integritet domena određuje skup dozvoljenih vrijednosti kolone. Održavanje integriteta domena postiže se navođenjem dozvoljenog tipa podataka, dozvoljenog formata za unos podataka, ili zadavanjem skupa mogućih vrijednosti. Referencijalni integritet odražava definisane odnose (relacije) među tabelama kada se u njih dodaju ili se iz njih brišu zapisi. Korisnički integritet omogućava definisanje specifičnih poslovnih pravila. Naime, za bazu podataka mogu postojati dodatna ograničenja, formirana na osnovu određenih pravila poslovanja, koja definišu važeće podatke u bazi. RDBMS treba da obezbjedi definisanje svih navedenih kategorija integriteta podjezikom relacionih podataka. Kada se pravila integriteta jednom definišu ona sprečavaju upis podataka koji ne zadovoljavaju te definicije (nekonzistentni podaci). U slučaju promjene pravila integriteta dolazi do izmjene jednog ili više iskaza ograničenja u katalogu podataka, ali logička struktura programa i aktivnosti na terminalima ostaju neizmjenjeni. Jedino moguće sredstvo za čuvanje integriteta baze podataka, kod postojećih relacionih sistema, je korišćenje tzv. okidača (Triggers). Okidač je pokretač procedure koja se automatski poziva kad god dođe do dodavanja, ažuriranja ili brisanja podataka u tabeli. Okidač je objekat baze koji se čuva u katalogu podataka i svaki je pojedinačno pridružen jednoj tabeli, pri čemu se navodi koje od operacija dodavanja, ažuriranja ili brisanja izazivaju njegovo izvršenje. Tako se, na primer, za bazu podataka tekućih računa građana u nekoj banci može definisati okidač koji se izvršava prilikom brisanja slogova iz tabele, a ima ulogu da onemogući brisanje računa čije stanje nije ravno nuli.