normalizacija baza podataka -...

18
1 Normalizacija baza podataka Sadržaj 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 Treća normalna forma ......................................................................................................................................................................10 Praktičan primjer normalizacije .......................................................................................................................................................11 Svođenje modela na prvu normalnu formu .................................................................................................................................11 Svodjenje modela na drugu normalnu formu ..............................................................................................................................12 Svođenje modela na treću normalnu formu ................................................................................................................................13 Primjer i analiza anomalija ...............................................................................................................................................................14 1NF i anomalije ..........................................................................................................................................................................14 2NF „ ..........................................................................................................................................................................................14 3NF… .........................................................................................................................................................................................15 Dalje normalizovanje .......................................................................................................................................................................15 Razlozi zbog kojih se može 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

Upload: hadung

Post on 06-Feb-2018

377 views

Category:

Documents


11 download

TRANSCRIPT

Page 1: Normalizacija baza podataka - razno.sveznadar.inforazno.sveznadar.info/10-doc-PDF/Normalizacija.pdf · 2 Normalizacija baze podataka Normalizacija baze podataka je proces efikasnog

1

Normalizacija baza podataka

Sadržaj 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

Treća normalna forma ...................................................................................................................................................................... 10

Praktičan primjer normalizacije ....................................................................................................................................................... 11

Svođenje modela na prvu normalnu formu ................................................................................................................................. 11

Svodjenje modela na drugu normalnu formu .............................................................................................................................. 12

Svođenje modela na treću normalnu formu ................................................................................................................................ 13

Primjer i analiza anomalija ............................................................................................................................................................... 14

1NF i anomalije .......................................................................................................................................................................... 14

2NF „ .......................................................................................................................................................................................... 14

3NF… ......................................................................................................................................................................................... 15

Dalje normalizovanje ....................................................................................................................................................................... 15

Razlozi zbog kojih se može 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

Page 2: Normalizacija baza podataka - razno.sveznadar.inforazno.sveznadar.info/10-doc-PDF/Normalizacija.pdf · 2 Normalizacija baze podataka Normalizacija baze podataka je proces efikasnog

2

Normalizacijabazepodataka Normalizacija baze podataka je proces efikasnog organizovanja podataka u bazi podataka. Normalizacija je tehnika dizajna baze podataka kojom se na osnovu izvjesnih kriterijuma određuje sadržaj tabela (tj.koje kolone treba da obuhvataju tabele i njihova struktura ključa). Normalizacija baze podataka je postupak kojim se iz danog modela bez podataka nastoji otkloniti potreba za višestrukim ponavljanjem istih podataka (redudansa podataka). Naime, osim što (nekorisno) troši prostor, višestruko zapisivanje istog podatka otežava (i/ili onemogućava) mijenjanje sadržaja baze podataka. Osnovna ideja je da se eliminiše nepotrebno dupliranje ne-ključnih podataka u tabelama te da se tako smanji veličina prostora koju baza zauzima na disku i da su podaci logično uskladišteni. Cilj normalizacije možemo izraziti riječima: Baza podataka treba biti oblikovana tako da se svaki podatak upisuje samo jednom (ili: samo na jednom mjestu). Dva osnovna cilja procesa normalizacije su:

1. Eliminisanje redudantnih podataka (skladištenje istih podataka na više mjesta u bazi podataka) 2. Osiguravanje da su zavisnosti podataka logične (u jednoj tabeli se nalaze samo povezani podaci)

Odnosno, osnovni cilj relacionog modela podataka je da odgovarajuća baza podataka koja: 1. ne sadrži redundansu, 2. se može jednostavno koristiti i mjenjati.

Pod redundansom podrazumjevamo višestruko memorisanje iste informacije u bazi podataka. Potpuno eliminisanje redundanse podataka u bazi podataka je skoro nemoguće ostvariti. Realni cilj pri projektovanju baze podataka je kontrolisana redundansa podataka. Bitna osobina koja se očekuje od normalizacije je reverzibilnost tj. da ne smije doći do gubitka informacija sadržanih u polaznoj relaciji. Polazeći od skupa normalizovanih relacija, mora biti moguća rekonstrukcija polazne nenormalizovane relacije. Jedan od ključnih ciljeva relacione baze podataka je da se spriječi nepotrebno dupliranje podataka. U stvari, ovo je jedan od glavnih razloga zašto se koriste relacione baze podataka, a ne fajlovi, koji podatke skladište u jednoj tabeli. Ponekad se klasa ili objekat dizajnira korektno (zavisi koji model podataka se koristi), a u relacionoj šemi se tek uoči problem. Normalne forme daju formalne kriterije prema kojima se utvrđuje da li model podataka ispunjava prethodne zahtjeve. Normalizacija je proces provjere uslova normalnih formi i po potrebi svođenje šeme relacije na oblik koji zadovoljava isti. Normalizacija je proces primjene skupa pravila na postojeći dizajn baze, uglavnom da bi se postigla minimalna redudansa podataka. Uobičajeno se normalizacija predstavljaju kao proces od tri koraka, koji se vezuje za normalne forme, koje se mogu obaviti u skoro algoritamskom poretku. U praksi, češće se pravila postepeno primjenjuju, dok se šema svake relacije ne razvije na način na koji se dobija iz dijagrama E-R modela ili nekog drugog modela (npr. UML). Konačna struktura tabela treba da bude ista bez obzira koji se metod (ili kombinacija metoda) primenjuje. Teorija normalizacije nije ništa drugo nego formalizacija nekih intuitivno prihvatljivih principa o "zdravom" oblikovanju šeme. Ukoliko već na početku dobro uočimo sve potrebne entitete, atribute i veze, tada nam nikakva daljnja normalizacija neće biti potrebna. No ako je polazna relaciona šema bila loše oblikovana, tada će postupak normalizacije ispraviti te greške.

Page 3: Normalizacija baza podataka - razno.sveznadar.inforazno.sveznadar.info/10-doc-PDF/Normalizacija.pdf · 2 Normalizacija baze podataka Normalizacija baze podataka je proces efikasnog

Funkcion Loša funkcneke atributKoncept fupodataka. Ako je datmeđusobno X, postoji sa Funkcionalnpredstaviti izražava kao Na primjer{CategoryNCategoiyNaImajte u viatributa Des Dijagrami fU praktičnirazumljivo u svakoj tor Prema tomfunkcionalnAko {X} nijće obaveznoAtribut možNije moguđatributa koji

Trivijalna fTrivijalna fu Potpuna fuAtribut je pfunkcionaln

nalnazav

cionalna zavte, ali ne i zaunkcionalne

ta torka T i isključivi. Samo jedna le

nu zavisnokao na sli

o X→Y, što

r, u relaciji Name}, imaćame funkcionidu da funkcscription ne o

funkcionalneim aplikacijsamo po sebrci; ako su te

e, ako imamno zavisni odije kandidat zo sadržati izvže biti funkciđe odrediti nii čine isti.

funkcionalnfunkcionalna

unkcionalna potpuno funno zavistan n

visnost

visnost se dea cijelu relaci zavisnosti

dva skupa Skup Y je funegalna vrijed

ost između ci. U tekstuse čita kao „

prikazanoj će istu vrijenalno određujcionalna zavomogućava n

e zavisnosti ojama, funkcibi: svaka relae vrijednosti p

mo torku {Xd {X}; to proza ključ i funvjesnu redunionalno zavisivo normaliz

na zavisnost zavisnost je

zavisnost nkcionalno zni od jednog p

ešava kada piju. Ovakvi a

(functional

njenih atribnkcionalno z

dnost u skupu

skupova u se funkci

„X funkciona

na predhodednost i atruje atrribut Dvisnost ne vnam da utvrd

obično su jasnionalna zavi

acija će uvijepoznate, mog

X, Y}, gdje izlazi iz defi

nkcionalna zandantnost i bistan ili u odnacije DB mo

funkcionaln

avistan od spodskupa set

3

postoji atribuatributi se naz

dependency

buta, {X1.. .zavisan od sku Y.

atributa mionalna zavalno određuje

dnoj slici, svributa {DescDescription. važi uvijek dimo i odgov

ni sami po seisnost je zg

ek imati odregu se odredit

je {X} kaninicije kandidavisnost nijeiće potrebno nosu na drugodela bez raz

na zavisnost a

seta atributata X.

ut ili skup atzivaju podkljy) izuzetno

.Xn } i {Y1kupa X ako,

možete visnost e Y“.

vaka torka kcription}. Z

i u suprotnvarajuću vrije

ebi. godan oblik eđeni skup atti i vrijednos

ndidat za kldata za ključ

e trivijalna (tjnormalizova

gi atribut ili uzumevanja m

atributa prem

X ako je f

tributa koji pjučevi (subkje kotistan

1... Yn} (ti za svaku leg

koja sadrži bog toga m

nom smjeru:ednost atribu

da se izraztributa čije susti atributa ko

ljuč, onda a. j. {Y} nije panje. u odnosu na k

međusobnih fu

ma supersetu

funkcionalno

predstavljajukey) relacije.

za rad sa

skupovi ne galnu vrijedn

istu vrijednmožemo reć

: poznavanjeuta CategoiyN

zi nešto štou vrijednostioje nisu jedin

atributi {Y}

podskup od {

kombinaciju funkcionalnih

sebe.

o zavistan od

nadključ za

strukturama

moraju bitinost u skupu

nost atributai da atribut

e vrijednostiName.

o je priličnoi jedinstvenenstvene.

moraju biti

X}), relacija

atributa. h zavisnosti

d X ali nije

a

a

i u

a t

i

o e

i

a

e

Page 4: Normalizacija baza podataka - razno.sveznadar.inforazno.sveznadar.info/10-doc-PDF/Normalizacija.pdf · 2 Normalizacija baze podataka Normalizacija baze podataka je proces efikasnog

TranzitivnaTranzitivna

VišeznačnaVišeznačna višeznačna slučaj tuple- Vezna zaviEntitet T jeatributa enti Za zadatu rvrijednost ojednakom vAnalogna d Kao primjeIZVESTAJ (BR_SOB E_Pretpostavimfunkcionaln

Za zadatu rvrijedi: B jeSvaki atribu Na primjer druge stranključu, buduZa BR_SOBIME_NASTAParcijalne ipoželjno uk

a zavisnost zavisnost je

a zavisnost zavisnost j

zavisnost za-generisane z

isnost e vezno zaviteta T.

relaciju R, aod A jednoznvrijednošću Adefinicija prim

er, razmotri BR INDEKS

_NAST AVNI mo da svaknih zavisnost

relaciju R, ae funkcionalnut relacije je

OCJENA je ne, NASLOV_ući da su zavBE_NASTAV

TAVNIKA, koi tranzitivne

kloniti.

e indirektna z

je potpuna ahjteva da odzavisnosti. O

vistan ako se

atribut B odnačno određuA, tada te n-tomijenjuje se

imo sljedećuSA, BR ISPITA KA, OCJENA

ki ispit ima jti:

atribut B od no zavisan o funkcionalno

potpuno fun_ISPITA, IMvisni samo o VNIKA se koji je opet zave zavisnosti

zavisnost gdj

veza dva sređeni tuplov

Ova vrsta zav

e može rekr

d R je funkcuje vrijednosorke moraju i za slučaj ka

u (loše oblikoA, NASLOV_

A ) . jednog nasta

R je potpunA, no B nijeo zavisan o k

nkcionalno zME_NASTAVN

BR_ISPITA,aže da je trvisan o BR_Imogu uzrok

4

je A→C sam

eta atributa vi butu prisuvisnosti igra

reirati veziva

cionalno zavst od B. Dakimati jednak

ad su A i B sl

ovanu) relaci_ISPITA, IME

avnika, a sv

no funkcionae funkcionalnključu, no ta

zavisna o priVNIKA i BR_, a ne i o BR_ranzitivno zISPITA. kovati probl

mo zato što A

u relaciji. utni u relacijiulogu kod če

anjem više t

visan o atribkle ako u istoku vrijednostloženi atribu

iju: E_NASTAVNI

vaki nastavn

alno zavisanno zavisan nizavisnost ne

imarnom klju_SOBE_ NAS_INDEKSA.zavisan o B

leme kod m

A→B i B→C.

Za razliku i te je višeznaetvrte norma

tabela od ko

butu A od Ro vrijeme pot B. uti (dakle sku

IKA,

nik jednu so

n o (složenomi o jednom pre mora biti po

uču (BR_ INSTAVNIKA

BR_ISPITA, b

manipulisanja

.

od potpuneačna zavisno

alne forme.

ojih svaka im

R (oznaka: Aostoje u R dv

upovi atributa

obu. Navodim

m) atributu ravom podskotpuna.

NDEKSA, BRsu parcijaln

budući da j

a s podacim

e zavisnosti,ost specijalni

ma podskup

A → B) akovije n-torke s

a).

mo neke od

A od R akokupu od A.

R_ISPITA). Sno zavisni o

e zavisan o

ma, pa ih je

, i

p

o s

d

o

S o

o

e

Page 5: Normalizacija baza podataka - razno.sveznadar.inforazno.sveznadar.info/10-doc-PDF/Normalizacija.pdf · 2 Normalizacija baze podataka Normalizacija baze podataka je proces efikasnog

5

Anomalije

Jednostavno korišćenje i mijenjanje podataka podrazumjeva prije svega sprečavanje anomalija održavanja podataka. Pod anomalijama održavanja podataka podrazumjevamo:

1. anomaliju dodavanja, 2. anomaliju brisanja, 3. anomaliju promjene.

Anomalija dodavanja (unošenja) javlja se u onim slučajevima 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 moguće 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 briše se i jedna kopija podataka o predmetu koji predaje. Kada se obrišu podaci o posljednjem nastavniku koji predaje neki predmet, biće obrisana i poslednja kopija podataka o predmetu. S obzirom na to da pri brisanju podataka o nastavniku ne mislimo na druge posljedice, na ovaj način moguće je uništiti podatke o predmetu, koji su potrebni i važni. Anomalija promjene (ažuriranja) javlja se u slučaju kada promjenu podataka o jednom objektu treba izvršiti na više 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 izvršiti na onoliko mjesta koliko nastavnika radi na toj katedri. Ako se promjena ne izvrši na svim kopijama nastaje situacija u kojoj o istom svojstvu jednog objekta imamo više različitih tvrdnji od kojih bar jedna nije istinita. Ovakvo stanje smatramo nekonzistentnom bazom podataka.

Page 6: Normalizacija baza podataka - razno.sveznadar.inforazno.sveznadar.info/10-doc-PDF/Normalizacija.pdf · 2 Normalizacija baze podataka Normalizacija baze podataka je proces efikasnog

6

Tehnikenormalizacije Postoje sledeće dve tehnike normalizacije:

1. Horizontalna normalizacija. 2. Vertikalna normalizacija,

Horizontalnom normalizacijom relacija se rastavlja na podskupove n-torki – fragmente relacije koji zadovoljavaju određene 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 memorišu se na pojedinim lokacijama, što bi se moglo koristiti za samu normalizaciju. Vertikalna normalizacija je postupak kojim se proizvoljna nenormalizovana šema relacije transformiše u skup manjih i normalizovanih šema relacija. Vertikalna normalizacija zasniva se na operacijama projekcije i prirodnog spajanja.

1. Pomoću operacije projekcije relaciju vertikalno razbijamo na dve ili više 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 sljedeće dvije varijante vertikalne normalizacije:

1. normalizacija sintezom, 2. normalizacija dekompozicijom,

Normalizacija sintezom polazi od skupa obilježja i od skupa zavisnosti zadatih na tom skupu obilježja. Postupak se ne izvodi u koracima već se direktno formiraju relacione šeme koje ispunjavaju uslove zahtjevane normalne forme. Normalizacija dekompozicijom započinje od proizvolje nenormalizoovane relacione šeme i izvodi se u koracima. Svakim korakom normalizacije relaciona šema prevodi se u višu normalnu formu, tako da se polazni skup obilježja deli u dva skupa i od svakog formira posebna relaciona šema. Svaki korak normalizacije mora biti reverzibilan. Vertikalna normalizacija dekompozicijom je najćešće korištana tehnika normalizacije, pa ćemo i mi analizirati samo ove tehnike. O normalizaciji se obično govori u obliku formi, a ovdje ćemo opisati samo prve tri forme mada se koriste i ostale, složenije forme (četvrta, peta, Boyce-Codd forma).

Page 7: Normalizacija baza podataka - razno.sveznadar.inforazno.sveznadar.info/10-doc-PDF/Normalizacija.pdf · 2 Normalizacija baze podataka Normalizacija baze podataka je proces efikasnog

Formeno Kratke i upr1.normalnaili više atribne smiju bit2.normalna3.normalna Osnovna pr

1. svak2. svak3. za s

kojo4. mor

bilo Sa aspekta dprimarnom Druga praviza tabele i k Standardne automatski j Prvanor Prva normaključa za svPrva norma

1. Elim2. Kre

jedi To je istovratribut torpojedinačne Relacija je Za svođenjeAli šta je tačU relaciji slici, atribuočigledno vrijednosti što znači daprvoj norma Pojam skalveličine kojkoordinatno Prva normaključa za sv

ormalizac

roštene defina forma–svi buta. Svako pti sastavljeni a forma–svi a forma–svi

ravila normalko polje tabeka tabela mosvaku jedinstoj koloni podra postojati mo koje drugo

dizajna baze ključu zavisila kojih se t

kolone, kao i

normalne fje u drugoj i

rmalnafor

alna forma ovaku tabelu. alna forma (1minisanje dueiranje poseinstvenom ko

remeno i najjrke mori sae vrijednosti,

u prvoj nore relacije na čno prosta vr

prikazanoj ut Items (stav

sadrži v(tj. nije pro

a relacija nijalnoj formi.

lar se ovdje je možemo ioj osi, takoi k

alna forma vaku tabelu.

cije

nicije prve trientiteti mor

polje u tabeliod više atribatributi koji atributi koji

liziranih tabeele trebalo biora imati primtvenu vrijedndataka, a ta smogućnost ppolje.

podataka to e samo od čitreba pridržav upotreba pu

forme su ad prvoj norma

rma

odnosi se na

NF) postavluplih kolona iebne tabele olonom (prim

jednostavnijiadržati sam, ne grupe ili

rmalnoj form1NF, treba rrijednost?

na vke) više ost), je u

(kod BP) kizraziti samokod baza ska

odnosi se na

i normalne foaju imati jedi mora sadržabuta) nisu dio kljunisu dio klju

ela: i predstavljatmarni ključ knost primarnse vrijednost romjene bilo

znači da poditavog primavati u dizajn

unih riječi u s

ditivne, dakalnoj formi.

a grupisanje

lja dva osnoviz iste tabeleza istu gr

marni ključ)

i i najteži konmo prostu (

kompozitne

mi ako su skazložiti svak

koristi kao so jednim podalarni podata

a grupisanje

7

forme bi glasdinstveni idenavati samo je

uča moraju uuča ne smiju

ti jedinstven koji se sastojnog ključa m

mora odnoso kojeg polja

datke treba oarnog ključa.nu baze podasamoj bazi p

kle ako je n

sličnih poda

vna pravila ze rupu poveza

ncept model(atomsku) ve objekte.

kalarni svi dku ne-atomsk

U ovoj

inonim za pdatkom i meak bi trebao i

sličnih pod

ile: ntifikator (klednu vrijedn

u potpunosti u biti međuso

tip informaci od jednog iora postojatiiti na subjek

a (osim polja

organizovati

ataka su dobrodataka.

neki model

ataka u odvo

za organizova

anih podata

lovanja podavrijednost. T

domeni u kojku vrijednost

j relaciji Item

prost podataeđusobno se imati samo je

dataka u odvo

ljuč) koji se mnost (atributi

zavisiti o njeobno zavisni

cije ili više polja i jedna i samt tabele u primarnom

tako da sve k

ra, konzistent

sveden na

ojene tabele

anu bazu pod

aka i identi

ataka. PrincipTo znači da

jima su defi.

ms nije skalar

k. Slično mamogu uspor

ednu odredn

ojene tabele

može sastojamoraju biti j

emu

u tabeli mo jedna vrije

m ključu) be

kolone koje

ntna, logička,

treću norm

i definisanj

dataka:

ifikovanje s

p se lako razua u tabeli t

inisani njeni

ran

atmatici gdjređivati sam

nicu.

i definisanj

ati od jednogjednostavni–

ednost u bilo

z utjecaja na

ne pripadaju

puna imena

malnu formu,

e primarnog

svakog reda

umije: svakitreba unositi

i atributi.

je su skalarimo po jednoj

e primarnog

g –

o

a

u

a

,

g

a

i i

i j

g

Page 8: Normalizacija baza podataka - razno.sveznadar.inforazno.sveznadar.info/10-doc-PDF/Normalizacija.pdf · 2 Normalizacija baze podataka Normalizacija baze podataka je proces efikasnog

NInnkuku

Problems Međutim, togotovo samNpr. datumičuvati kao tDo odgovorAko vaš sisUkoliko sistatribute. Nasamo dan i mU specifičnživot ako dadatuma plusMeđutim, anaročito važJoš jedna oindikatori (Mnoge komnalik na REmalo vjerovsvom modeDugoročno RedniBrojPu datoj godina performatributa moprenosi puteJoš jedna konvenciongrupiše u jeU konvencinije. Ne saneefikasno. Nažalost, tomogućnost Kad morateverzije unes Postoji još jprvoj norma

Na slici je prnvoice (faktekom trenuupcima nećeupe više od tPitam se dograničenjeloša, a u ovoJoš jedan pse ponavljslici. Greočigledna, asistemi naosnovu sličn

anestanda

o nije uvijekma nameće).

i su nezgodntri odvojena ara možete dostem najčešćtem češće ob

a primjer, momesec. ali neom slučaju datumske atris vreme. atributi tipa ži kada u poloblast u koj(flags).

mpanije dodeEF0010398, švatno da će lu podataka je znatno l

Predmeta, Mjini svodi se n

manse, naročiože biti potreem mreže), avrsta neska

nalnim okružednu riječ i dionalnim okr

amo što se t

o je vrsta oizbora po tom

e da radite ssete u skup z

jedna vrsta nalnoj formi, arikazana je rtura). Nekoutku odluče biti dozvoljtri različita a

da li je prethe koje je namom slučaju i rimjer grupea prikazanj

eški nije a mnogi usp

apravljeni sunih modela.

ardnimatri

k tako očigl

na oblast. Onatributa ili ka

oći jeino na oće koristi svebrađuje kompožda vam je e i godina. Tdatuma, buduibute kao tip

DateTime mlju zanemarujoj ljudi ima

eljuju šifre pšto bi moglokompanija ppokušate da

lakše da dijejesec, Godinna jednostavaito u klijentebno da se sa ne na servealarnog atribženjima za pa se zatim teruženjima zaime narušav

ograničenja km pitanju, ne nasljeđenom

zapisa.

neskalarnih va to su gruperelacija

o je u čio da jeno da

artikla. hodno razgo

metnuo sistembesmislena.

e koja e na tako

pješni u na

butima

edno i jedno

ni se sastoje oao kombinac

osnovu semane tri komponponente datudan nebitanakvi slučajevući da progra podataka D

mogu biti uzrujete komponaju problema

predmeta ili o značiti da jeprihvatiti da pojedinačno

elove referenna). S takviman upit nad jt/server okrusvaki zapis pru baze podabuta s kojimprogramiranjee vrijednosti ua programira

va prva norm

koje je čestemojte kodim strukturom

vrijednosti oe koje se pon

Ovaj mode

ovarao o tomm, a ne sam n

8

ostavno kao

od tri kompociju? ntike prostornente datumuma pojedinan, a zanimamvi nisu baš čeamiranje datu

DateTime (da

zrok problemnentu vremena s neskalam

referentne oe u pitanju pmijenja svoj

o manipulišetntne oznake

m rješenjem, ednim atribuuženjima, gpojedinačno ataka. m ljudi ime, uobičajenučitavaju i isanje, to je pmalna forma

to nametnutoirati više od m podataka,

o kojima trebnavljaju.

el podataka o

me s direktonačin poslov

Ov

u predhodn

onente: dana,

ra problema ma zajedna dačno, bolje je

m samo mjeseesti, ali postoumske aritbu

atum/vreme)

ma kada se pna.

mim (složeni

oznake koje prvi predmet ja pravila nate dijelovima čuvate kaoodređivanje

utom i ne zahdje za izdvaispituje na

maju problemna praksa je spituju pomopotpuno priha, već je to

o iz istorijskjednog poduvijek može

ba voditi raču

ograničava b

orom prodajvanja. Vješta

vo je grupa k

nom primjeru

, mjeseca i g

koji razmatraatum treba de da ih čuvatec i godina. oje. uter nije jednkoji kombin

porede pojed

m) vrijdnost

su izračunatzapočet mar

a vaš zahtjeva referentne oo zasebne atr

narednog brhtjeva dodataajanje vrijedlokalnom kl

ma jeste jedda se više v

oću operatoravatljivo. U rizuzetno nez

kih razloga. atka u jedanete da raspak

una kada isp

broj artikala

e? To je goačka sistemsk

koja se ponav

u (gdje se n

godine. Da li

ate. da bude skalte u bazi podIli, možda s

nostavno, olanuje sve tri

dinačne kom

tima jesu šif

te vrijednostrta 1998. godv, bila bi lošoznake. tribute: (Vrstroja predmetan rad. To zndnosti iz srelijentskom ra

dnobitni invrijednosti loa nad bitovimrelacionim ozgrapno i -

Ako imaten atribut. kujete podat

pitujete da li

a koje kupac

otovo sigurnka ograničen

vlja

normalizacija

bi ih trebalo

larni atribut.datci zasebneu vam važni

akšaćete sebikomponente

mponente. To

fre (codes) i

ti. npr. neštodine. Iako ješa ideja da u

taReference,ta otvorenognačajno utičeedine nekogačunarima (i

ndikator. Uogičkog tipa

ma. okruženjima,uglavnom -

bilo kakvu

tke i da obje

je relacija u

može da kup

no vještačkonja veoma su

a

o

. e i

i e

o

i

o e u

, g e g i

U a

, -

u

e

u

pi

o u

Page 9: Normalizacija baza podataka - razno.sveznadar.inforazno.sveznadar.info/10-doc-PDF/Normalizacija.pdf · 2 Normalizacija baze podataka Normalizacija baze podataka je proces efikasnog

Međutim, toZamislite kakom trenutk Šema relacijatributa u sprikazati u o Drugano Relacija je od primarnoSmještanje zavisni samOsnovni zah

1. Ukl2. Kre

Dakle, 2NFu nove tabe Na primjer, ProductNamSupplierNamdobavljača)SupplierPho(telefonski bsamo od atra ne od cijelključa.

Već smo naproblemi od

U primjeru podatak o aprimarnog k

o je zapravo ako bi izgledku prvog trom

ije je u 1NF,svakoj n-torobliku pod-ta

ormalnaf

u Drugoj noog ključa (nepodataka u d

mo od dijela khtjevi 2NF sulanjanje podseiranje veza i

F ima za cilj sle i kreiraju v

ključ na slicme (naziv artme (naziv )}, ali polje oneNumber broj dobavljaributa —Suplog kombino

apomenuli ddržavanja usk

na slici, postartiklima kojeključa ne mo

ista strukturadao upit kojimesečja.

ako se možerki relacije pablela

forma

ormalnoj formeključni atribdrugu normaključa. u skupova podizmeđu novih

smanjenje koveze između

ci tikla),

ača) zavisi lierName,

ovanog

da je posljediklađenosti po

taje moguće e vam on dob

ože da se izos

a kao ona nai treba da utv

e prikazati upojedinačni

mi (2NF) akbuti su atribualnu formu sa

dataka koji seh tabela i tab

oličine redudu ovih tabela.

ica toga reduodataka.

da podatke obavlja. To nestavi.

9

a predhodnojvrdi kor. arti

u obliku potp(jednostavni)

ko je u 1NF iuti koji nisu kastoji se od p

e nalaze u višbela sa kojim

dantnih poda.

Svi aundantnost,

o određenome bi bilo mog

slici i uzrokikli premašili

une dvodimei) podaci ili

i svi njeni nekandidati za premještanja

še redova i nma su spojene

ataka, tako št

atributi relaca posljedica

Ovo p Logičnormda dvi SuprelaciAko relaciredunmehana dr

m dobavljačuguće u prvoj

k je istih probi plan za više

enzionalne tase vrijednos

eključni atribključ, niti diou druge tabe

njihovo smešte korišćenjem

to se oni “izv

ije treba da redundantno

predstavlja b

čki gledano,malnu formu,va različita eppliers (dobaijom.

entitete ijama, time ćndantnost, anizam za skugi način ne

unesete prijrelaciji zato

blema. e od 10 proc

abele i ako suosti atributa

buti funkciono kandidata ele onih poda

štanje u posebm spoljnih klj

vlače” iz tabe

budu zavisniosti mogu b

bolji model.

, da biste d, pokušajte dentiteta Prodavljači) preds

predstavite ćete ne samoveć ćete

kladištenje poe biste mogli

e nego što upo što nijedna

cenata u bilo

u vrijednostine mogu se

nalno zaviseza ključ) ataka koji su

bne tabele. ljučeva

ele, stavljaju

i od cijelog kiti neprijatni

dobili druguda izbjegneteucts (artikli)stavite istom

odvojenimo eliminisati

dobiti iodataka kojeda unesete.

pišete ijedankomponenta

o

i e

e

u

u

ključai

u e )

m

m i i e

n a

Page 10: Normalizacija baza podataka - razno.sveznadar.inforazno.sveznadar.info/10-doc-PDF/Normalizacija.pdf · 2 Normalizacija baze podataka Normalizacija baze podataka je proces efikasnog

Trećano Relacija je nijednog klključa). Osnovni zah

1. Tab2. Uk

Praktično p Treća normključa. Drutreba premje

Ova relacija Dvije relacij

Jedina stvapoštanski bzanemarljivpotrebna do I ovde je iskako ćete reNemoguće jzasebnu rela

• Ent• Pod• Sigu

Poštanski btabela poštaodređivanje

ormalnafo

u trećoj norljuča međus

htjevi 3NF bela je u 1NF

klonjene su kpostavlja se p

malna forma sgim riječimaestiti u nove

a nije striktn

ije prikazane

arna prednosbroj pri unošva prednost, odatna operac

sti princip kaealizovati treje navesti praciju u sljedetitet je važan daci se često urni ste da će

rojevi se mijanskih brojeve poštanskih b

orma

rmalnoj formsobno nezav

F i 2NF kolone koje npitanje: Da li

sastoji se od a, treba zadrtabele i form

no u trećoj no

e na slici ispo

t koju pružašenju novih ali vjerovatncija spajanja

ao i pri donoeću normalnuravila koja bećim slučajevdio modela,mijenjaju, ile vam to pru

jenjaju, ali nva ne bi bila brojeva (u S

mi ako je u dvisni, (ako sv

nisu potpuno i postoje kolo

uklanjanja sržati samo pmirati primar

ormalnoj form

od su tehničk

a ovo rješenzapisa, što

no postoje borelacija kad

ošenju svih du formu možbi uvijek važvima: ili

li užiti određene

ne često, a u praktična u AD).

10

drugoj normvi njeni nekl

zavisne od pone koje ne z

svih podatakodatke koji

rni ključ za n

rmi

ki su ispravni

nje jeste mokorisniku št

olji načini dagod se refer

drugih odlukete odrediti sžila, ali post

e tehničke pr

većini sistemvećini aplik

malnoj formi ljučni atribu

primarnog klzavise u potp

ka u tabelamasu zavisni o

njih.

ije

ogućnost da tedi nekolika se objezberencira određ

ka tokom posamo na osnooje određene

rednosti pri r

ma nisu samiacija iz stvar

i ako su svti netranzitiv

ljuča. punosti od pr

a koji ne zavod primarnog

Ono

se automatso pritisaka ndi takva funkđena adresa.

stupka modeovu semantike smjernice.

realizovanju

i po sebi važrnog života z

vi atributi kvno zavise o

rimarnog klju

vise jedino og ključa, a o

Ova relacija ormalnoj for

ski potraži ona tastere. T

nkcionalnost,

elovanja podke modela. Trebalo bi

modela.

žni. Osim togzbog različit

koji nisu diod primarnog

uča?

d primarnogone koji nisu

je u trećojrmi

odgovarajućiTo nije tako

u kojoj nije

dataka: kad i

da napravite

ga, odvojenaih pravila za

o g

g u

j

i o e

i

e

a a

Page 11: Normalizacija baza podataka - razno.sveznadar.inforazno.sveznadar.info/10-doc-PDF/Normalizacija.pdf · 2 Normalizacija baze podataka Normalizacija baze podataka je proces efikasnog

11

Praktičanprimjernormalizacije Daćemo primjer kako da od neuređene (nenormalizovane) baze dobijemo model u 3NF formi. Krenućemo od jednostavne strukture; imamo spisak članova foruma koji imaju nekakvo znanje o raznim materijama. Neki članovi znaju o muzici, neki o hardware-u dok se neki bolje snalaze sa linux-om; naravno, postoje i oni koji vrlo dobro poznaju i hardware i muziku. Primjer jednostavne tabele bi izgledao ovako:

TABELA:KOMPLET Id korisnik Zivi Znanje 1 Pera Perić Srbija Audio 2 Mika Mikić Srbija Video 3 Žika Žikić Srbija Audio, Video, Hardware,, Windows 4 Mali Perica Srbija Audio, Video, Baze, Hardware, Windows, Linux, Programiranje 5 Mali Žika BiH Programiranje, Hardware

Ovo je tipičan primjer loše dizajnirane baze sa samo jednom tabelom u kojoj se nalaze svi podaci. Ako želimo da saznamo koji korisnik zna “video” moramo proći kroz sve korsnike, provjeriti sadržaj polja “znanje” i pregledati prilično nepregledno polje “znanje” te otkriti da li dotični korisnik zna “video” ili ne. Mane ovakve organizacije su očigledne (brzina, preglednost…) te je ovo vrlo nepraktičan način za čuvanje informacija. SvođenjemodelanaprvunormalnuformuRazdvajanje repetitivnih podataka u zasebne tabele našu strukturu dovodi u prvu normalnu formu. Iz našeg primjera (gdje je sve bilo nagurano u istu tabelu), dobijamo 2 odvojene tabele:

TABELA: KORISNIK Id Korisnik Zivi 1 Pera Perić Srbija 2 Mika Mikić Srbija 3 Žika Žikić Srbija 4 Mali Perica Srbija 5 Mali Žika BiH

TABELA: ZNANJE

Znaje_ID korisnik_ID Znanje_IME 1. 1 Audio 2. 2 Video 3. 3 Audio 4. 3 Video 5. 3 Hardware 6. 3 Windows 7. 4 Audio 8. 4 Video 9. 4 Baze 10. 4 Hardware 11. 4 Windows 12. 4 Linux 13. 4 Programiranje 14. 5 Hardware 15. 5 Programiranje

Page 12: Normalizacija baza podataka - razno.sveznadar.inforazno.sveznadar.info/10-doc-PDF/Normalizacija.pdf · 2 Normalizacija baze podataka Normalizacija baze podataka je proces efikasnog

Svodjenje Ako pogledprimjetićemdefiniše slognekim slučarelaciji sa kšto se odražAko na primzvukom”) mDalje, pretpu tom slučbrisanju). Da bi ste zaDa bi “razvključa koji d

ZNANJ1. 2. 3. 4. 5. 6. 7.

modelana

damo tabelu mo da nam se

g tabele, u taajevima mož

korisnikom i žava na prostmjer želite dmorate to impostavite da “čaju, potpuno

aobišli ove anili” našu bazdefinišu tabe

TABELJE_ID

drugunorm

“ZNANJE” e podaci dupabeli KORISže da ima sbezrazložno

tor potreban da promjenitme promjenit“mali perica”o će nestati

nomalije, potzu u drugu noelu “ZNANJE

LA: ZNANJEZNANJE_Audio Video Hardware Windows Baze Linux Programira

malnuform

iz prethodnpliciraju. Za NIK slog demisla, ali u

o se multiplicza čuvanje iste ime jednoti na više m” ode sa foru

referenca d

trebna vam jormalnu formE”. Rezultat

E _IME

anje

12

mu

og primjera razliku od ta

efinišu KORInašem sluč

cira u tabeli, stih, otežavaog “znanje”

mjesta, umjesuma; u tom slda je znanje

e druga normu, potrebnoće biti dve ta

Z

gdje smo svabele “KORISNIK_ID i Zčaju, gdje im

možemo zaki usporava o(na primjer

sto samo nalučaju treba oe “Linux” p

rmalna formo je da razdvoabele:

TABEZNANJE_ID

1 2 1 2 3 4 1 2 3 4 5 6 7 3 7

veli model nISNIK” gdjeZNANJE_ID

me “znanja” ključiti da naoperacije sa b

želite da “Aa jednom (anobrisati sve sostojalo na

ma. ojimo atribut

LA: KORISN KO

1 2 3 3 3 3 4 4 4 4 4 4 4 5 5

na prvu norme atribut KOD atributi zajrealno nije am se podacbazom. Audio” postanomalija prslogove vezaforumu (an

te koji zavise

NIK_ZNANJORISNIK_ID

malnu formu,ORISNIK_ID

edno. Ovo uni u kakvoj

ci “dupliraju

ane “Rad sai promjeni).ane za njega;nomalija pri

e od oba

JE

, D u j u

a . ; i

Page 13: Normalizacija baza podataka - razno.sveznadar.inforazno.sveznadar.info/10-doc-PDF/Normalizacija.pdf · 2 Normalizacija baze podataka Normalizacija baze podataka je proces efikasnog

Svođenjem Ako pogledispunjava i ključa). Da uzmemo na“BIH” (anomoramo prozahjteva da

DRZAVA1 2

modelanat

damo malo bprvu i drugubi postigli t

a primjer da omalija pri bomjeniti na vpodatak o “Z

TABELA: A_ID

trećunorm

bolje tabelu u normalnu fotreću normal“mali zikica

brisanju) ili više od jednoZIVI” prebac

DRZAVA DRZAVA_IMSrbija BiH

malnuformu

“KORISNIKformu, atribulnu formu, taa” napusti foako “Srbija”

og mjesta (ancimo u zaseb

ME

13

u

K” iz primjeut “ZIVI” nijeaj podatak m

orum, te se s” ponovo prnomalija priban entitet.

KORISN1 2 3 4 5

ra za drugu e direktno za

mora da se oslogovi koji nromjeni ime i promjeni).

TABNIK_ID K

pemizikmama

normalnu foavistan od IDodvoji u zasenjega definišu “Uža SrbiRazlaganje n

BELA: KORIORISNIK_IM

era peric ika mikic kica zikic ali perica ali zikica

ormu, videćeD-a korisnikaebnu tabelu. šu obrišu, neija sa okolinna treću norm

ISNIK ME DRZ

1 1 1 1 2

emo da iakoa (primarnogZašto? Ako

estaće trag onom”, to imemalnu formu

AVA_ID

o g o o e u

Page 14: Normalizacija baza podataka - razno.sveznadar.inforazno.sveznadar.info/10-doc-PDF/Normalizacija.pdf · 2 Normalizacija baze podataka Normalizacija baze podataka je proces efikasnog

Primjeri Analiza annajjednostavprincipa koj 1NFianomNeka na poč

INSERT anUPDATE aDELETE an 2NF 1NF nije u 2ali i{PredmNastavnik funkcionaln

Rješeni proProblemi u INSERT – NUPDATE –mora se uraDELETE – U 2NF prva

ianalizaa

nomalija i fovnije usvajaji se trebaju p

maliječetku imamo

nomalije Neanomalije Prnomalije Ak

2NF Postojmet} →{Nasta

i Odjel u ne zavisnosti

oblemi sa 2N1NF Ne može se d

– Izmjena podaditi u dva za

Ako se izbri

a dva problem

1NF

anomalija

formalna pria praksom. Ppoštovati da

o nenormaliz

e može se dorilikom promko izbrišemo

i FZ{Predmavnik, Odjelparcijalnoj :

NF

dodati predmdataka nastav

apisa (reda). iše P3, briše

ma su otklonj

a

mjena relacPrimjer i kobi mogli diz

zovanu bazu

dati predmetmjene podatao P3, brišemo

et, Lekcija} } zavisnosti o

met bez Lekcvnika za pred

se iN2.

njena, ali ne i

14

cionoh računomentari kojzajnirati bazu

koje jednost

t bez lekcijeaka predmetao i N2.

→{Nastavni

od primarno

cije. dmet P1,

i treći

na je kompi slijede su

u podataka.

tavno „atomi

a P1, moraju

ik, Odjel}

og ključa.sv

Preostali prINSERT anNe može se nijedan predUPDATE anDa bi promiizmijeniti 2 DELETE anAko se obri

leksan probdovoljno il

ziramo“ i sv

se izmjeniti

ođenje na 2

roblemi u 2Nomalije dodati nasta

dmet. nomalije ijenili odjel nreda.

nomalije še P3 briše s

blem koji selustrativani z

vedemo na 1N

dva reda tab

2NF preko

NF

avnik koji ne

nastavniku N

sei N2

e najbolje iza shvatanje

NF.

bele.

objašnjenja

predaje

N1 moraju se

i e

a

Page 15: Normalizacija baza podataka - razno.sveznadar.inforazno.sveznadar.info/10-doc-PDF/Normalizacija.pdf · 2 Normalizacija baze podataka Normalizacija baze podataka je proces efikasnog

3NF

Problemi u INSERT anUPDATE aDELETE anU 3NF svi o

DaljenorPrve tri normslučajeva onViše norma Četvrta norm Peta normal

pojednostPrvu normatributa Prva normalnpostavlja najoEliminisanje dKreiranje posključ) Druga norsu svi neRelacija je u Dfunkcionalno Treća norne sadržifunkcionaili je A Uklonjene su Postoji i poboRelacija i kandidarelacije Norme 4NF i5NF.

2NF nomalije- Ne anomalije Dnomalije Akovi problemi

rmalizovamalne formene su dovoljn

alne forme su

malna forma

lna forma uk

tavljeno: malna for jednostru

na forma (1NF)osnovnija pravduplih kolona sebne tabele za

rmalna formprimarni aDrugoj normalzavise od prim

rmalna formi tranzitilnu zavisnprimarni akolone koje n

oljšana 3NFa sje u Boyceat za ključkoje su u

i 5NF su prven

može se dodDa bi promije

ko se obriše i su riješeni(z

anjee bile su opisne. u bazirane na

a uklanje više

klanja zavisn

rma (1NF):uka i nedj

F) vila za organizo

iz iste tabele a istu grupu p

ma: Relaciatributi plnoj formi (2Nmarnog ključa ma: Relaciivne zavisnost X → Aatribut. isu potpuno zae zove i Boycee-Codd-ovoč. Očito r3NF, no n

nstveno od teor

dati nastavnikenili odjel nasP3 briše sei

za ovu relacij

sane u Coddo

a drugoj vrsti

e-vrjednosne

osti udruživa

: Relacijeljiva.

ovanu bazu pod

ovezanih poda

ija je u dpotpuno funNF) ako je u 1N

(neključni atribija je u tsnosti. PrA u R, tak

avisne od prime-Coddova nooj normalnorelacija knisu u BCNFrijskog značaja

15

k koji ne prestavniku N1 N2.

iju – ali 3NF

ovoj prvobitn

i zavisnosti.

e zavisnosti.

anja.

a zadovol

dataka:

ataka i identifi

drugoj nornkcionalno

NF i svi njeni nbuti su atributitrećoj norreciznije,kvu da A n

marnog ključa.ormalna forma oj formi (koja je u F. a, jer je teško

edaje nijedanmoraju se iz

i dalje može

noj formulac

ljava 1NF

fikovanje svako

rmalnoj foro zavisni oneključni atribui koji nisu kandrmalnoj for, relacijanije u X,

(BCNF). (BCNF) akoBCNF takođ

u praksi naći r

n predmet. zmijeniti 2 re

e imati anom

ciji relacione

ako je

og reda jedins

rmi (2NF) o primarno

uti didati za ključ,rmi (3NF) a R je u vrijedi: X

o je svaka đe i u 2NF

relacije koje je

eda.

malije!)

e teorije. U v

vrijednos

nstvenom kolon

ako je u om ključu.

, niti dio kandiako je u 3NF ako

X sadrži k

njena detF i 3NF. N

esu u BCNF, a

elikoj većini

st svakog

nom (primarni

1NF i ako

idata za ključ)2NF i akoza svaku

ključ za R

terminantaNo postoje

a nisu u 4NF i

i

g

i

o

o u R

a e

i

Page 16: Normalizacija baza podataka - razno.sveznadar.inforazno.sveznadar.info/10-doc-PDF/Normalizacija.pdf · 2 Normalizacija baze podataka Normalizacija baze podataka je proces efikasnog

16

Razlozizbogkojihsemožeodustatiodnormalizacije Za većinu praktičnih primjera dovoljno je relacije normalizovati do 3NF. Ponekad je potrebno neku relaciju i dalje normalizovati do BCNF ili 4NF. Peta normalna forma, koja se takođe navodi u literaturi, nije od praktičnog značaja. Postoje razlozi zbog kojih ponekad možemo odustati od pune normalizacije. Pogledajmo dva takva razloga. 1.Složeni atribut . Dešava se da nekoliko atributa u relaciji čine cjelinu koja se u aplikacijama nikad ne rastavlja na sastavne djelove. Na primjer, posmatrajmo relaciju KUPAC ( PREZIME IME, POŠTANSKI_BROJ, GRAD, ULICA ) . Strogo govoreći, GRAD je funkcionalno zavisan o POŠTANSKI_BROJ, pa relacija nije u 3NF. No mi znamo da POŠTANSKI BROJ, GRAD i ULICA čine cjelinu koja se zove adresa. Budući da se podaci iz adrese koriste i ažuriraju "u paketu", ne može doći do prije pominjanih anomalija. Nije preporučljivo razbijati ovu relaciju na dvije. 2.Efikasno čitanje podataka . Normalizacijom se velike relacije razbijaju na mnogo manjih. Kod čitanja je često potrebno podatke iz malih relacija ponovo sastaviti u veće n-torke. Uspostavljanje veza medu podacima u manjim relacijama traje znatno duže nego čitanje podataka koji su već povezani i upisani u jednu veliku relaciju. Projektant baze podataka treba da procjeni kada treba provesti normalizaciju do kraja a kada ne. Za tu procjenu je važno razumjevanje značenja podataka i načina kako će se oni koristiti.

Page 17: Normalizacija baza podataka - razno.sveznadar.inforazno.sveznadar.info/10-doc-PDF/Normalizacija.pdf · 2 Normalizacija baze podataka Normalizacija baze podataka je proces efikasnog

17

Dodatak:Procedureialgoritmi

GENERALPROCEDUREFORACHIEVINGANORMALIZEDSETOFRELATIONS 1.Identify the attributes of the database. 2. Group related attributes into relations. 3. Identify the candidate keys for each relation. 4. Select the most useful primary key from among the set of candidate keys. 5. Identify and remove all repeating groups. The result is a relation in 1NF. 6. If any of the resulting relations have identical primary keys, then combine them into a single relation. 7. Identify all functional dependencies between the attributes of a relation and its primary key. 8.Decompose the relations to a form where each nonkey attribute is dependent on all the attributes of the key. Do this by taking projections of the 1NF relation that eliminate any non full functional dependencies. The result is a set of relations in 2NF. 9. If any of the resulting relations have identical primary keys, then combine them into a single relation. 10. Identify any transitive dependencies in the relations decomposed to this point.

1. Examine relations for dependencies among nonkey attributes. 2.Examine relations for dependencies among key within the primary key.

11. Remove transitive dependencies by decomposition. Do this by taking projections of the 2NF relations produced by steps 8 and 9 that eliminate any transitive functional dependencies. The result is a set of relations in 3NF. 12. If any of the resulting relations have identical primary keys, then combine them into a single relation if and only if no transitive dependencies result from the combination. 13. Remove any remaining functional dependencies from the 3NF set of relations. Do this by taking projections of the 3NF relations produced by steps 8 and 9 that eliminate any remaining functional dependencies where the determinant is not a candidate key. The result is a set of relations in BCNF. 14. Remove any multivalued dependencies that are not also functional dependencies. Do this by taking projections of the BCNF relations produced by step 13. The result is a set of relations in 4NF. 15. The likelihood that any join dependencies not implied by the candidate keys remain by this point is virtually nil. If you can identify any such relations, then take projections of them to eliminate the non-implied join dependencies. The result is a set of relations in 5NF. 16. Particularly for temporal data, but sometimes to eliminate nulls as well, take projections to 6NF. 17. End of procedure.

Page 18: Normalizacija baza podataka - razno.sveznadar.inforazno.sveznadar.info/10-doc-PDF/Normalizacija.pdf · 2 Normalizacija baze podataka Normalizacija baze podataka je proces efikasnog

Algoritam

Algoritam

2NFnorma

3NFnorma

alizacije

alizacije

18