Professional Documents
Culture Documents
Normalizacija Baze Podataka
Normalizacija Baze Podataka
Sadraj
Normalizacija baze podataka ......................................................................................................................... 2
Funkcionalna zavisnost ......................................................................................................................................................................3
Anomalije ...........................................................................................................................................................................................5
Tehnike normalizacije ........................................................................................................................................................................6
Forme normalizacije...........................................................................................................................................................................7
Prva normalna forma ..........................................................................................................................................................................7
Problem sa nestandardnim atributima ...........................................................................................................................................8
Druga normalna forma .......................................................................................................................................................................9
Trea normalna forma ......................................................................................................................................................................10
Praktian primjer normalizacije .......................................................................................................................................................11
Svoenje modela na prvu normalnu formu .................................................................................................................................11
Svodjenje modela na drugu normalnu formu ..............................................................................................................................12
Svoenje modela na treu normalnu formu ................................................................................................................................13
Primjer i analiza anomalija ...............................................................................................................................................................14
1NF i anomalije ..........................................................................................................................................................................14
2NF ..........................................................................................................................................................................................14
3NF .........................................................................................................................................................................................15
Dalje normalizovanje .......................................................................................................................................................................15
Razlozi zbog kojih se moe odustati od normalizacije................................................................................................................16
Dodatak: Procedure i algoritmi ........................................................................................................................................................17
GENERAL PROCEDURE FOR ACHIEVING A NORMALIZED SET OF RELATIONS ......................................................17
Algoritam 2NF normalizacije .....................................................................................................................................................18
Algoritam 3NF normalizacije .....................................................................................................................................................18
Funkcion
nalna zav
visnost
ut ili skup attributa koji ppredstavljaju nadklju zaa
Loa funkccionalna zavvisnost se deeava kada ppostoji atribu
neke atributte, ali ne i zaa cijelu relaciiju. Ovakvi aatributi se nazzivaju podkljjuevi (subkkey) relacije.
Koncept fu
unkcionalne zavisnosti (functional dependencyy) izuzetno je kotistan za rad sa strukturamaa
podataka.
Ako je datta torka T i dva skupa njenih atribbuta, {X1.. .Xn
.
} i {Y1... Yn} (ti skupovi ne moraju bitii
meusobno iskljuivi. Skup
S
Y je fun
nkcionalno zzavisan od sk
kupa X ako, za svaku leggalnu vrijedn
nost u skupuu
X, postoji saamo jedna leegalna vrijed
dnost u skupuu Y.
m
Funkcionalnnu zavisnoost izmeu skupova atributa moete
predstaviti kao na slici. U tekstu
u se funkciionalna zav
visnost
izraava kaoo XY, to se ita kao X
funkcionaalno odreujee Y.
vaka torka koja
k
sadri istu vrijedn
nost atributaa
Na primjerr, u relaciji prikazanoj na predhoddnoj slici, sv
{CategoryN
Name}, imae istu vrijeednost i atrributa {Desccription}. Zbog toga m
moemo rei da atributt
CategoiyNaame funkcionnalno odreuj
uje atrribut D
Description.
Imajte u viidu da funkccionalna zav
visnost ne vvai uvijek i u suprotn
nom smjeru:: poznavanjee vrijednostii
atributa Desscription ne omoguava
o
nam
n da utvrddimo i odgov
varajuu vrijeednost atribuuta CategoiyN
Name.
Dijagrami ffunkcionalnee zavisnosti obino
o
su jasnni sami po seebi.
U praktiniim aplikacijjama, funkciionalna zaviisnost je zg
godan oblik da se izrazzi neto to
o je prilinoo
razumljivo samo po sebbi: svaka relaacija e uvijeek imati odreeeni skup attributa ije suu vrijednostii jedinstvenee
u svakoj torrci; ako su tee vrijednosti poznate,
p
moggu se odreditti i vrijednossti atributa kooje nisu jedin
nstvene.
Prema tome, ako imam
mo torku {X
X, Y}, gdje je {X} kan
ndidat za kllju, onda aatributi {Y} moraju bitii
funkcionalnno zavisni odd {X}; to proizlazi iz defiinicije kandid
data za klju.
Ako {X} nij
ije kandidat za
z klju i fun
nkcionalna zaavisnost nijee trivijalna (tjj. {Y} nije ppodskup od {X}), relacijaa
e obaveznoo sadrati izvvjesnu redun
ndantnost i biie potrebno normalizovaanje.
Atribut moe biti funkciionalno zavisstan ili u odnnosu na drug
gi atribut ili u odnosu na kkombinaciju atributa.
Nije mogue odrediti niivo normalizacije DB moodela bez razzumevanja meusobnih
m
fu
funkcionalnih
h zavisnosti
atributa kojii ine isti.
na zavisnost
Trivijalna ffunkcionaln
Trivijalna fu
funkcionalna zavisnost je funkcionalnna zavisnost atributa
a
prem
ma supersetu sebe.
unkcionalna zavisnost
Potpuna fu
Atribut je ppotpuno funnkcionalno zavistan od sseta atributa X ako je funkcionalno
f
o zavistan od
d X ali nijee
funkcionalnno zavistan ni
n od jednog podskupa
p
setta X.
3
Tranzitivnaa zavisnost
Tranzitivna zavisnost jee indirektna zavisnost
z
gdjje AC sam
mo zato to AB
A
i BC..
Vieznanaa zavisnost
Vieznana zavisnost je
j potpuna veza dva s eta atributa u relaciji. Za razliku od potpunee zavisnosti,,
utni u relacijii te je vieznaana zavisno
ost specijalnii
vieznana zavisnost zaahjteva da odreeni tuplovvi butu prisu
sluaj tuple--generisane zavisnosti.
z
Ova
O vrsta zavvisnosti igra ulogu kod eetvrte normaalne forme.
Vezna zaviisnost
t
od koojih svaka im
ma podskupp
Entitet T jee vezno zavvistan ako see moe rekrreirati vezivaanjem vie tabela
atributa entiiteta T.
Za zadatu rrelaciju R, atribut
a
B od
d R je funkccionalno zav
visan o atrib
butu A od R (oznaka: A B) akoo
vrijednost ood A jednoznnano odreu
uje vrijednosst od B. Dak
kle ako u isto
o vrijeme poostoje u R dv
vije n-torke s
jednakom vvrijednou A,
A tada te n-to
orke moraju imati jednak
ku vrijednostt B.
Analogna ddefinicija prim
mijenjuje se i za sluaj kaad su A i B slloeni atribu
uti (dakle skuupovi atributaa).
Kao primjeer, razmotriimo sljedeu
u (loe oblikoovanu) relaciiju:
IZVESTAJ ( BR INDEKS
SA, BR ISPITA
A, NASLOV_
_ISPITA, IME
E_NASTAVNIIKA,
BR_SOB E_
_NAST AVNI KA, OCJENA
A ).
Pretpostavim
mo da svakki ispit ima jednog
j
nastaavnika, a sv
vaki nastavn
nik jednu soobu. Navodim
mo neke odd
funkcionalnnih zavisnostti:
Anomalije
Jednostavno korienje i mijenjanje podataka podrazumjeva prije svega spreavanje anomalija odravanja
podataka. Pod anomalijama odravanja podataka podrazumjevamo:
1. anomaliju dodavanja,
2. anomaliju brisanja,
3. anomaliju promjene.
Anomalija dodavanja (unoenja) javlja se u onim sluajevima kada su informacije o svojstvima jednog
objekta memorisane u bazi podataka kao dio opisa nekog drugog objekta.
Na primjer, u okviru opisa nastavnika memorisane su informacije o predmetu koji predaje ili katedre na kojoj
radi. Informacije o predmetu, odnosno katedri, nije mogue unijeti u bazu podataka sve dok ne postoji
bar jedan nastavnik koji taj predmet predaje, odnosno, dok ne postoji najmanje jedan nastavnik koji na toj
katedri radi.
Anomalija brisanja je inverzija anomalije dodavanja.
Neka su u okviru opisa svojstava nastavnika memorisane informacije o predmetu koji predaje. Svakim
brisanjem opisa nastavnika brie se i jedna kopija podataka o predmetu koji predaje. Kada se obriu podaci o
posljednjem nastavniku koji predaje neki predmet, bie obrisana i poslednja kopija podataka o predmetu. S
obzirom na to da pri brisanju podataka o nastavniku ne mislimo na druge posljedice, na ovaj nain mogue
je unititi podatke o predmetu, koji su potrebni i vani.
Anomalija promjene (auriranja) javlja se u sluaju kada promjenu podataka o jednom objektu treba izvriti
na vie od jedne kopije podataka.
Razmotrimo ponovo prethodni primjer gdje su podaci o predmetu i katedri memorisani u okviru opisa
nastavnika. U bazi podataka u jednom trenutku postoji toliko opisa katedre koliko nastavnika radi na toj
katedri.
Ako treba promjeniti podatke o opisu katedre (na primjer, naziv katedre), tada tu promjenu treba izvriti na
onoliko mjesta koliko nastavnika radi na toj katedri.
Ako se promjena ne izvri na svim kopijama nastaje situacija u kojoj o istom svojstvu jednog objekta
imamo vie razliitih tvrdnji od kojih bar jedna nije istinita.
Ovakvo stanje smatramo nekonzistentnom bazom podataka.
Tehnike normalizacije
Postoje sledee dve tehnike normalizacije:
1. Horizontalna normalizacija.
2. Vertikalna normalizacija,
Horizontalnom normalizacijom relacija se rastavlja na podskupove n-torki fragmente relacije koji
zadovoljavaju odreene uslove. Horizontalna normlizacija zasniva se na operacijama selekcije i unije.
Sama tehnika se koristi kod distribuiranih baza podataka.
Kod distribuiranih baza podataka relacija ne mora u potpunosti biti memorisana na jednoj lokaciji. Fragmenti
relacije memoriu se na pojedinim lokacijama, to bi se moglo koristiti za samu normalizaciju.
Vertikalna normalizacija je postupak kojim se proizvoljna nenormalizovana ema relacije transformie u
skup manjih i normalizovanih ema relacija.
Vertikalna normalizacija zasniva se na operacijama projekcije i prirodnog spajanja.
1. Pomou operacije projekcije relaciju vertikalno razbijamo na dve ili vie manjih relacija. Pri tome,
dolazi do cjepanja svake pojedine n-torke u relaciji.
2. Operaciju prirodnog spajanja koristimo da bi dokazali reverzibilnost, tj. da bi rekonstruisali polaznu,
nenormalizovanu relaciju.
Postoje sljedee dvije varijante vertikalne normalizacije:
1. normalizacija sintezom,
2. normalizacija dekompozicijom,
Normalizacija sintezom polazi od skupa obiljeja i od skupa zavisnosti zadatih na tom skupu obiljeja.
Postupak se ne izvodi u koracima ve se direktno formiraju relacione eme koje ispunjavaju uslove
zahtjevane normalne forme.
Normalizacija dekompozicijom zapoinje od proizvolje nenormalizoovane relacione eme i izvodi se u
koracima. Svakim korakom normalizacije relaciona ema prevodi se u viu normalnu formu, tako da se
polazni skup obiljeja deli u dva skupa i od svakog formira posebna relaciona ema.
Svaki korak normalizacije mora biti reverzibilan.
Vertikalna normalizacija dekompozicijom je najee koritana tehnika normalizacije, pa emo i mi
analizirati samo ove tehnike.
O normalizaciji se obino govori u obliku formi, a ovdje emo opisati samo prve tri forme mada se koriste i
ostale, sloenije forme (etvrta, peta, Boyce-Codd forma).
Forme no
ormalizaccije
Kratke i uprrotene definnicije prve trii normalne fo
forme bi glasile:
1.normalnaa formasvi entiteti moraju imati jeddinstveni iden
ntifikator (kllju) koji se m
moe sastojaati od jednogg
ili vie atribbuta. Svako polje
p
u tabelii mora sadraavati samo jeednu vrijedn
nost (atributi moraju biti jednostavni
j
Prva norrmalna forrma
Prva normaalna forma odnosi
o
se naa grupisanje slinih podaataka u odvo
ojene tabele i definisanje primarnogg
kljua za svvaku tabelu.
Prva normaalna forma (1NF) postavllja dva osnovvna pravila za
z organizovaanu bazu poddataka:
1. Elim
minisanje duuplih kolona iz
i iste tabelee
2. Kreeiranje poseebne tabele za istu grrupu povezaanih podataaka i identiifikovanje svakog
s
redaa
jediinstvenom koolonom (prim
marni klju)
umije: svakii
To je istovrremeno i najjjednostavnijii i najtei konncept modellovanja podaataka. Principp se lako razu
atribut torrke mori saadrati sam
mo prostu ((atomsku) vrijednost.
v
To
T znai daa u tabeli treba
t
unositii
pojedinanee vrijednosti,, ne grupe ili kompozitnee objekte.
mi ako su sk
kalarni svi domeni
d
u kojjima su defiinisani njenii atributi.
Relacija je u prvoj norrmalnoj form
Za svoenjee relacije na 1NF, treba razloiti svakku ne-atomsk
ku vrijednost.
Ali ta je tano prosta vrrijednost?
U relaciji prikazanoj na
slici, atribuut Items (stavvke)
oigledno
sadri
v
vie
vrijednosti (tj. nije proost),
to znai daa relacija nijje u
U ovojj relaciji Item
ms nije skalarran
prvoj normaalnoj formi.
k
kao s inonim za prost
p
podatak. Slino maatmatici gdjje su skalarii
Pojam skallar se ovdje (kod BP) koristi
veliine kojje moemo izraziti
i
samo
o jednim poddatkom i meeusobno se mogu usporreivati sam
mo po jednojj
koordinatnooj osi, takoi kod
k baza ska
alarni podataak bi trebao imati
i
samo jeednu odrednnicu.
Prva normaalna forma odnosi se naa grupisanje slinih pod
dataka u odvo
ojene tabele i definisanje primarnogg
kljua za svvaku tabelu.
7
ardnim atributima
Problem sa nestanda
nom primjeruu (gdje se normalizacija
n
a
Meutim, too nije uvijekk tako oigledno i jednoostavno kao u predhodn
gotovo sam
ma namee).
Npr. datumii su nezgodnna oblast. On
ni se sastoje ood tri kompo
onente: dana,, mjeseca i ggodine. Da li bi ih trebaloo
uvati kao ttri odvojena atributa
a
ili kaao kombinacciju?
Do odgovorra moete dooi jeino na osnovu
o
semanntike prostorra problema koji razmatraate.
Ako va sisstem najee koristi svee tri komponnente datum
ma zajedna datum treba dda bude skallarni atribut..
Ukoliko sisttem ee obbrauje komp
ponente datuuma pojedinaano, bolje jee da ih uvatte u bazi pod
datci zasebnee
atribute. Naa primjer, mooda vam je dan nebitann, a zanimam
m samo mjeseec i godina. Ili, moda su vam vanii
samo dan i m
mesec. ali nee i godina. Takvi sluajevvi nisu ba eesti, ali posto
oje.
U specifinom sluaju datuma,
d
budu
ui da prograamiranje datu
umske aritbu
uter nije jednnostavno, olaakaete sebii
ivot ako daatumske atriibute kao tip podataka D
DateTime (daatum/vreme) koji kombinnuje sve tri komponentee
datuma pluss vreme.
Meutim, aatributi tipa DateTime mogu
m
biti uzr
zrok problem
ma kada se porede
p
pojeddinane kom
mponente. Too
naroito vai kada u pollju zanemaru
ujete komponnentu vremen
na.
Jo jedna ooblast u kojjoj ljudi imaaju problemaa s neskalam
mim (sloenim) vrijdnosttima jesu iffre (codes) i
indikatori ((flags).
Mnoge kom
mpanije dodeeljuju ifre predmeta
p
ili referentne oznake
o
koje su izraunatte vrijednostti. npr. netoo
nalik na RE
EF0010398, to
bi moglo
o znaiti da jee u pitanju prvi
p predmet zapoet marrta 1998. god
dine. Iako jee
malo vjerovvatno da e kompanija prihvatiti
p
da mijenja svojja pravila naa va zahtjevv, bila bi loa ideja da u
svom modelu podataka pokuate da pojedinanoo manipuliette dijelovimaa referentne ooznake.
Dugorono je znatno lake
l
da dijeelove referenntne oznake uvate kao
o zasebne atr
tribute: (VrsttaReference,,
RedniBrojP
Predmeta, Mjjesec, Godin
na). S takvim
m rjeenjem, odreivanje narednog brroja predmetta otvorenogg
u datoj godiini svodi se na
n jednostavaan upit nad j ednim atribu
utom i ne zah
htjeva dodataan rad. To zn
naajno utiee
na perform
manse, naroiito u klijentt/server okruuenjima, gdje za izdvaajanje vrijeddnosti iz sreedine nekogg
atributa mooe biti potreebno da se svaki
s
zapis ppojedinano ispituje na lokalnom kllijentskom raaunarima (ii
prenosi puteem mree), a ne na serveru baze podaataka.
Jo jedna vrsta neskaalarnog atrib
buta s kojim
m ljudi im
maju problem
ma jeste jeddnobitni in
ndikator. U
konvencionnalnim okruenjima za programiranje
p
e, uobiajen
na praksa je da se vie vvrijednosti lo
ogikog tipaa
grupie u jeednu rije i da se zatim tee vrijednosti uuitavaju i isspituju pomo
ou operatoraa nad bitovim
ma.
U konvenciionalnim okrruenjima zaa programiraanje, to je potpuno
p
prihvatljivo. U rrelacionim okruenjima,
o
,
nije. Ne saamo to se time naruav
va prva norm
malna formaa, ve je to izuzetno nezzgrapno i - uglavnom neefikasno.
Naalost, too je vrsta ogranienja
o
koje
k
je estto nametnuto
o iz istorijsk
kih razloga. Ako imate bilo kakvuu
mogunost izbora po tom
m pitanju, neemojte kodiirati vie od jednog podatka u jedann atribut.
Kad moratee da radite s nasljeenom
m strukturom
m podataka, uvijek moeete da raspakkujete podattke i da objee
verzije unessete u skup zapisa.
z
Postoji jo jjedna vrsta neskalarnih
n
vrijednosti
v
o kojima treb
ba voditi rau
una kada isppitujete da li je relacija u
prvoj normaalnoj formi, a to su grupee koje se ponnavljaju.
Na
N slici je prrikazana je relacija
r
In
nvoice (fakttura). Nekoo je u
nekom trenuutku odluio da
ku
upcima neee biti dozvoljjeno da
Ovaj modeel podataka ograniava
o
broj
b artikalaa koje kupac moe da kuppi
ku
upe vie od ttri razliita artikla.
a
Pitam se dda li je prethhodno razgo
ovarao o tom
me s direkto
orom prodaje? To je gootovo sigurn
no vjetakoo
ogranienjee koje je nam
metnuo sistem
m, a ne sam nnain poslov
vanja. Vjetaaka sistemskka ogranien
nja veoma suu
loa, a u ovoom sluaju i besmislena.
Jo jedan primjer grupee koja
se ponavlja prikazanje na
slici. Greeki nije tako
oigledna, a mnogi usppjeni
sistemi naapravljeni suu na
Ovvo je grupa koja
k se ponavvlja
osnovu slinnih modela.
8
Meutim, too je zapravo ista strukturaa kao ona naa predhodnoj slici i uzrok
k je istih probblema.
Zamislite kaako bi izgleddao upit kojii treba da utvvrdi kor. artiikli premailii plan za viee od 10 proccenata u biloo
kom trenutkku prvog trom
meseja.
ema relacij
ije je u 1NF, ako se moee prikazati u obliku potpune dvodimeenzionalne taabele i ako su
u vrijednostii
(jednostavni)
atributa u ssvakoj n-torrki relacije pojedinani
p
i) podaci ili se vrijednos
osti atributa ne mogu see
prikazati u oobliku pod-taablela
Druga no
ormalna fforma
Relacija je u Drugoj noormalnoj form
mi (2NF) akko je u 1NF i svi njeni neekljuni atribbuti funkcion
nalno zavisee
od primarnoog kljua (neekljuni atrib
buti su atribuuti koji nisu kandidati
k
za klju, niti dioo kandidata za klju)
Smjetanje podataka u drugu
d
normaalnu formu saastoji se od premjetanja
p
u druge tabeele onih podaataka koji suu
zavisni sam
mo od dijela kljua.
k
Osnovni zahhtjevi 2NF suu
1. Ukllanjanje podsskupova pod
dataka koji see nalaze u vie redova i njihovo
n
smet
tanje u poseb
bne tabele.
2. Kreeiranje veza izmeu
i
novih
h tabela i tabbela sa kojim
ma su spojenee korienjem
m spoljnih klj
ljueva
Dakle, 2NF
F ima za cilj smanjenje
s
ko
oliine reduddantnih podaataka, tako tto se oni izvvlae iz tabeele, stavljajuu
u nove tabele i kreiraju veze
v
izmeu
u ovih tabela..
Na primjer, klju na slicci
ProductNam
me (naziv arttikla),
SupplierNam
me (naziv
dobavljaa))}, ali polje
SupplierPhooneNumber
(telefonski bbroj dobavljaaa) zavisi
samo od atrributa SuplierName,
a ne od cijellog kombinoovanog
kljua.
a
relacije treba da budu zavisnii od cijelog kljua
k
Svi atributi
Ve smo naapomenuli da
d je posljediica toga reduundantnost, a posljedica redundantnoosti mogu biti neprijatnii
problemi oddravanja uskklaenosti po
odataka.
Ovo predstavlja
p
bbolji model.
d
druguu
Logiki gledano,, da biste dobili
norm
malnu formu,, pokuajte da
d izbjegnetee
da dv
va razliita eentiteta Products (artikli))
i Sup
ppliers (dobaavljai) predsstavite istom
m
relaciijom.
Ako entitete predstavite odvojenim
m
relaciijama, time ete ne samo
o eliminisatii
redun
ndantnost, ve ete dobiti i
mehaanizam za skkladitenje po
odataka kojee
na drugi nain nee biste mogli da unesete.
Trea no
ormalna fo
orma
Relacija je u treoj norrmalnoj form
mi ako je u ddrugoj norm
malnoj formi i ako su svvi atributi koji
k nisu dioo
nijednog klljua meussobno nezav
visni, (ako svvi njeni neklljuni atributi netranzitivvno zavise od primarnogg
kljua).
Osnovni zahhtjevi 3NF
1. Tabbela je u 1NF
F i 2NF
2. Ukklonjene su kolone
k
koje nisu
n potpuno zavisne od primarnog
p
klljua.
Praktino ppostavlja se pitanje:
p
Da lii postoje koloone koje ne zavise
z
u potp
punosti od prrimarnog klju
ua?
Trea norm
malna forma sastoji
s
se od uklanjanja ssvih podatak
ka u tabelamaa koji ne zavvise jedino od primarnogg
kljua. Drugim rijeimaa, treba zadrrati samo p odatke koji su zavisni od
o primarnogg kljua, a one
o koji nisuu
treba premjeestiti u nove tabele i form
mirati primarrni klju za njih.
n
ormalnoj form
rmi
Ova relacijaa nije striktnno u treoj no
Dvije relacij
ije prikazanee na slici ispo
od su tehnikki su ispravniije
O
Ova relacija je u treojj
noormalnoj forrmi
Zivi
Srbija
Srbija
Srbija
Srbija
BiH
Znanje
Audio
Video
Audio, Video, Hardware,, Windows
Audio, Video, Baze, Hardware, Windows, Linux, Programiranje
Programiranje, Hardware
Ovo je tipian primjer loe dizajnirane baze sa samo jednom tabelom u kojoj se nalaze svi podaci.
Ako elimo da saznamo koji korisnik zna video moramo proi kroz sve korsnike, provjeriti sadraj polja
znanje i pregledati prilino nepregledno polje znanje te otkriti da li dotini korisnik zna video ili ne.
Mane ovakve organizacije su oigledne (brzina, preglednost) te je ovo vrlo nepraktian nain za uvanje
informacija.
Svoenje modela na prvu normalnu formu
Razdvajanje repetitivnih podataka u zasebne tabele nau strukturu dovodi u prvu normalnu formu.
Iz naeg primjera (gdje je sve bilo nagurano u istu tabelu), dobijamo 2 odvojene tabele:
Id
1
2
3
4
5
TABELA: KORISNIK
Korisnik
Zivi
Pera Peri
Srbija
Mika Miki
Srbija
ika iki
Srbija
Mali Perica
Srbija
Mali ika
BiH
Znaje_ID
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
11
TABELA: ZNANJE
korisnik_ID Znanje_IME
1
Audio
2
Video
3
Audio
3
Video
3
Hardware
3
Windows
4
Audio
4
Video
4
Baze
4
Hardware
4
Windows
4
Linux
4
Programiranje
5
Hardware
5
Programiranje
TABEL
LA: ZNANJE
E
ZNANJJE_ID
ZNANJE_
_IME
1.
Audio
2.
Video
3.
Hardware
4.
Windows
5.
Baze
6.
Linux
7.
Programiraanje
12
TABELA: DRZAVA
DRZAVA
A_ID
DRZAVA_IM
ME
1
Srbija
2
BiH
KORISN
NIK_ID
1
2
3
4
5
13
TAB
BELA: KORIISNIK
KORISNIK_IM
ME
peera peric
miika mikic
zik
kica zikic
maali perica
maali zikica
DRZAVA_ID
1
1
1
1
2
Primjer ii analiza a
anomalija
a
Analiza annomalija i formalna
fo
primjena relaccionoh raun
na je kompleksan probblem koji see najbolje i
najjednostavvnije usvajaa praksom. Primjer
P
i koomentari koji slijede su dovoljno illustrativani za
z shvatanjee
principa kojji se trebaju potovati
p
da bi mogli dizzajnirati bazu
u podataka.
1NF i anom
malije
Neka na poetku imamoo nenormalizzovanu bazu koje jednosttavno atomiziramo i svvedemo na 1N
NF.
1NF
Rjeeni prooblemi sa 2N
NF
Problemi u 1NF
INSERT N
Ne moe se dodati
d
predm
met bez Lekccije.
UPDATE Izmjena poddataka nastav
vnika za preddmet P1,
mora se uraaditi u dva zaapisa (reda).
DELETE Ako se izbriie P3, brie se iN2.
U 2NF prvaa dva problem
ma su otklonj
njena, ali ne i trei
14
Preostali prroblemi u 2N
NF
INSERT anomalije
Ne moe se dodati nastaavnik koji ne predaje
nijedan pred
dmet.
UPDATE an
nomalije
Da bi promiijenili odjel nnastavniku N1
N moraju se
izmijeniti 2 reda.
DELETE an
nomalije
Ako se obrie P3 brie ssei N2
3NF
Problemi u 2NF
INSERT annomalije- Ne moe se dod
dati nastavnikk koji ne preedaje nijedan
n predmet.
UPDATE aanomalije Da
D bi promijeenili odjel nasstavniku N1 moraju se izzmijeniti 2 reeda.
DELETE annomalije Akko se obrie P3 brie sei N2.
U 3NF svi oovi problemii su rijeeni(zza ovu relacij
iju ali 3NF i dalje moee imati anom
malije!)
Dalje norrmalizova
anje
Prve tri norm
malne formee bile su opissane u Coddoovoj prvobitn
noj formulacciji relacionee teorije. U velikoj veinii
sluajeva onne su dovoljnne.
Vie normaalne forme suu bazirane naa drugoj vrstii zavisnosti.
etvrta norm
malna formaa uklanje viee-vrjednosnee zavisnosti.
Peta normallna forma ukklanja zavisnosti udruivaanja.
pojednost
tavljeno:
Prvu norm
malna for
rma (1NF):
: Relacij a zadovol
ljava 1NF ako je vrijednos
st svakog
g
atributa jednostru
uka i nedjeljiva.
Prva normalnna forma (1NF)
F)
postavlja najoosnovnija pravvila za organizo
ovanu bazu poddataka:
Eliminisanje dduplih kolona iz iste tabele
Kreiranje possebne tabele zaa istu grupu povezanih podaataka i identifi
fikovanje svako
og reda jedins
nstvenom kolon
nom (primarnii
klju)
Druga nor
rmalna form
ma: Relaci
ija je u d
drugoj nor
rmalnoj for
rmi (2NF) ako je u 1NF i ako
o
su svi neprimarni atributi
a
potpuno
p
fun
nkcionalno
o zavisni o primarno
om kljuu.
Relacija je u D
Drugoj normallnoj formi (2N
NF) ako je u 1N
NF i svi njeni nekljuni
n
atribu
uti
funkcionalno zavise od prim
marnog kljua (nekljuni atribbuti su atributii koji nisu kand
didati za klju,, niti dio kandiidata za klju)
Trea nor
rmalna form
ma: Relaci
ija je u t
treoj nor
rmalnoj for
rmi (3NF) ako je u 2NF i ako
o
ne sadri
i tranziti
ivne zavis
snosti. Pr
reciznije,
, relacija
a R je u 3NF ako za svaku
u
funkcionalnu zavisn
nost X A u R, tak
kvu da A nije
n
u X, vrijedi: X sadri klju
k
za R
ili je A primarni atribut.
a
Uklonjene su kolone koje nisu potpuno zaavisne od prim
marnog kljua.
Postoji i pobooljana 3NFa se zove i Boycee-Coddova noormalna forma (BCNF).
Relacija je u Boyce
e-Codd-ovo
oj normalno
oj formi (BCNF)
(
ako
o je svaka njena det
terminanta
a
i kandida
at za klju
. Oito relacija
r
k
koja je u BCNF tako
e i u 2NF
F i 3NF. No
N postoje
e
relacije koje su u 3NF, no nisu
n
u BCNF
F.
Norme 4NF i 5NF su prvennstveno od teorrijskog znaajaa, jer je teko u praksi nai relacije
r
koje jeesu u BCNF, a nisu u 4NF i
5NF.
15
16
17
alizacije
Algoritam 2NF norma
18