You are on page 1of 27

NORMALIZACIJA

Laboratorij za podatkovne tehnologije


Asistent: Andrej Sevnikar (andrej.sevcnikar@uni-mb.si)
Vir: Gradivo za PB - doc. dr. Marko Bajec

Vsebina

Kaj si bomo pogledali?


Funkcionalna odvisnost Namen normalizacije Uporaba normalizacije pri nartovanju relacijske podatkovne baze Aurne anomalije Postopek normalizacije Osnovne normalne oblike:

I. Normalna oblika, II. Normalna oblika, III. Normalna oblika

Odvisnosti...

Relacija je model nekega stanja v svetu njena vsebina ne more biti poljubna. Odvisnosti so sredstvo, s katerim lahko v relacijskem modelu povemo, katere vrednosti relacij so veljavne in katere sploh ne morejo obstajati.

Odvisnosti...

Poznamo ve vrst odvisnosti:


Funkcionalne odvisnosti (functional dependency) Vevrednostne odvisnosti (multivalued dependency) Stine odvisnosti (join dependency)

Obravnavali bomo funkcionalne odvisnosti

Funkcionalne odvisnosti...

Predpostavimo, da obstaja relacijska shema R z mnoico atributov, katere podmnoici sta X in Y. V relacijski shemi R velja X Y (X funkcionalno doloa Y oziroma Y je funkcionalno odvisen od X), e v nobeni relaciji, ki pripada shemi R, ne obstajata dve n-terici, ki bi se ujemali v vrednostih atributov X in se ne bi hkrati ujemali tudi v vrednostih atributov Y.

Primeri funkcionalnih odvisnosti

Imamo relacijo s shemo


Izpit( Vpt, Priimek, Ime, ifraPredmeta, Datum izpita, OcenaPisno, OcenaUstno)

z naslednjim pomenom:
tudent z vpisno tevilko Vpt ter priimkom Priimek in imenom Ime je na DatumIzpita opravljal izpit iz predmeta s ifro ifraPredmeta. Dobil je oceno OcenaPisno in OcenaUstno.

Funkcionalne odvisnosti relacijske sheme Izpit so: F { Vpt (Priimek, Ime), (Vpt, ifraPredmeta, DatumIzpita) (OcenaPisno, OcenaUstno) }

Normalizacija

je proces, ki zagotavlja, da relacije (tabele) ne bodo vsebovale redundantnih ali dvoumnih podatkov oz. je postopek, s katerem pridemo do mnoice primernih relacij, ki ustrezajo potrebam poslovne domene. Nekaj lastnosti primernih relacij:

minimalen nabor atributov zgolj tiste, ki so potrebni za pokritje potreb poslovnega sistema logino povezani atributi, so zajeti v isti relaciji minimalna redundanca med atributi veih relacij vsak atribut (razen tujih kljuev) je predstavljen samo enkrat.

Normalizacija

Normalizacijo uporabljamo za razgradnjo relacije v dve ali ve relacij ter kot tehniko za preverjanje strukture relacij Prednosti uporabe podatkovnih baz, ki jih sestavljajo mnoice normaliziranih relacij, so:

enostavneja dostop do podatkov ter vzdrevanje podatkov, veja uinkovitost, bolja izraba diskovnih kapacitet.

Prednosti pravilnega nartovanja

Osnovni cilj nartovanja relacijske podatkovne baze je zdruiti atribute v relacije tako, da bo im manj redundance med podatki. Potencialne koristi pravilnega nartovanja so:

spremembe podatkov v podatkovni bazi doseemo z minimalnim tevilom operacij veja uinkovitost; manj monosti za podatkovne nekonsistentnosti. manje potrebe po diskovnih kapacitetah za shranjevanje osnovnih relacij manji stroki.

Primer

Relacija StaffBranch ima odvene podatke

Atribut z odvenimi (ponavljajoimi) podatki

Aurne anomalije

Relacije, ki vsebujejo odvene podatke lahko povzroajo anomalije pri spreminjanju podatkov govorimo o aurnih anomalijah. Poznamo ve vrst anomalij:

Anomalije pri dodajanju n-teric v relacijo Anomalije pri brisanju n-teric iz relacije Anomalije pri spreminjanju n-teric

Anomalije pri dodajanju

Primeri anomalij:

e elimo dodati podatke o novih lanih (staff) za neko organizacijsko enoto (branch) moramo vpisati tudi vse podrobnosti o organizacijski enoti. e elimo dodati podatke o novi organizacijski enoti, ki e nima nobenega lana, moramo v vsa polja, ki lane opisujejo, vpisati Null.

Anomalije pri brisanju

Primer anomalije:

e iz relacije zbriemo n-terico, ki predstavlja zadnjega lana v neki organizacijski enoti, zgubimo tudi podatke o tej organizacijski enoti.

Anomalije pri spreminjanju

Primer anomalije:

e elimo spremeniti vrednost nekega atributa doloene organizacijske enote (npr. naslov), moramo popraviti vse n-terice, v katerih takna vrednost atributa nastopa.

Postopek normalizacije

Postopku preoblikovanja relacij v obliko, pri kateri do aurnih anomalij ne more priti, pravimo normalizacija. Obstaja ve stopenj normalnih oblik. Obravnavali bomo:

1NO Prva normalna oblika 2NO Druga normalna oblika 3NO Tretja normalna oblika in

1NO prva normalna oblika

Relacija je v prvi normalni obliki, e:

nima ponavljajoih atributov ne obstajajo atributi ali skupine atributov, ki bi imele ve vrednosti pri isti vrednosti ostalih atributov (na preseiu ene vrstice in enega stolpca je ve vrednosti) ima definiran primarni klju in doloene funkcionalne odvisnosti

Koraki:

odstranimo ponavljajoe atribute, doloimo funkcionalne odvisnosti, doloimo primarni klju

Primer relacija v nenormalizirani obliki


Indeks( V, priimek, ime, pota, kraj, ( ifra predmeta, naziv, ocena ) )
Skupina ponavljajoih se atributov.

V 64010632

priimek Bratina

ime Simon

pota 4100

kraj Kranj

ifra predmeta 20020 20021 20033 20060 20033

naziv IS TPO IPI E1 IPI

ocena 10 8 8 9 6

64016209

Bizjak

Tadeja

2250

Ptuj

Primer pretvorba v 1NO...

Indeks( V, priimek, ime, pota, kraj, ( ifra predmeta, naziv, ocena ) ) Odpravimo ponavljajoe atribute

Indeks( V, priimek, ime, pota, kraj, ifra predmeta, naziv, ocena )


Identificiramo funkcionalne odvisnosti

F { V (priimek, ime, pota, kraj), ifra predmeta naziv, pota kraj, (V, ifra predmeta) ocena } Doloimo primarni klju
Indeks( V, priimek, ime, pota, kraj, ifra predmeta, naziv, ocena )

Primer pretvorba v 1NO


V 64010632 priimek Bratina ime Simon pota 4100 kraj Kranj ifra predmeta 20020 20021 20033 20060 20033 naziv IS TPO IPI E1 IPI ocena 10 8 8 9 6

64016209

Bizjak

Tadeja

2250

Ptuj

V 64010632

priimek Bratina

ime Simon

pota 4100

kraj Kranj

ifra predmeta 20020

naziv IS

ocena 10

64010632
64010632 64016209 64016209

Bratina
Bratina Bizjak Bizjak

Simon
Simon Tadeja Tadeja

4100
4100 2250 2250

Kranj
Kranj Ptuj Ptuj

20021
20033 20060 20033

TPO
IPI E1 IPI

8
8 9 6

2NO druga normalna oblika

Relacija je v drugi normalni obliki:


e je v prvi normalni obliki in Ne vsebuje parcialnih odvisnosti noben atribut, ki ni del kljua, ni funkcionalno odvisen le od dela primarnega kljua, temve od celotnega kljua

Druga normalna oblika je odvisna predvsem od kljua relacije. Relacija je avtomatsko v drugi normalni obliki, e:

Je njen primarni klju sestavljen le iz enega atributa, Je njen primarni klju sestavljen iz vseh atributov relacije ali Je njen primarni klju sestavljen iz vseh razen enega atributa relacije

Primer pretvorba v 2NO...


!

Indeks( V, ifra predmeta, priimek, ime, pota, kraj, naziv, ocena )


!

Relacijo razbijemo
tudent( V, priimek, ime, pota, kraj) Predmet( ifra predmeta, naziv) Ocena( #V, #ifra predmeta, ocena)

Primer pretvorba v 2NO


V
64010632 64010632 64010632 64016209 64016209

priimek
Bratina Bratina Bratina Bizjak Bizjak

ime
Simon Simon Simon Tadeja Tadeja

pota
4100 4100 4100 2250 2250

kraj
Kranj Kranj Kranj Ptuj Ptuj

ifra predmeta
20020 20021 20033 20060 20033

naziv
IS TPO IPI E1 IPI

ocena
10 8 8 9 6

V
64010632 64016209

priimek
Bratina Bizjak

ime
Simon Tadeja

pota
4100 2250

kraj V
Kranj 64010632 Ptuj 64010632 64010632 naziv 64016209 IS TPO IPI E1 64016209

ifra predmeta 20020 20021 20033 20060 20033

ocena 10 8 8 9 6

ifra predmeta 20020 20021 20033 20060

3NO tretja normalna oblika

Relacija je v tretji normalni obliki:


e je v drugi normalni obliki in e ne vsebuje tranzitivnih funkcionalnih odvisnosti med atributi, ki niso del primarnega kljua, ni funkcionalnih odvisnosti.

Relacija je avtomatsko v tretji normalni obliki, e:


Je njen klju sestavljen iz vseh atributov relacije Je njen klju sestavljen iz vseh razen enega atributa relacije.

Primer pretvorba v 3NO...


!

tudent( V, priimek, ime, pota, kraj) Predmet( ifra predmeta, naziv) Ocena( #V, #ifra predmeta, ocena) Relacijo razbijemo tudent( V, priimek, ime, #pota) Pota(pota, kraj) Predmet( ifra predmeta, naziv) Ocena( #V, #ifra predmeta, ocena)

Primer pretvorba v 3NO

V
64010632 64016209

priimek
Bratina Bizjak

ime
Simon Tadeja

pota
4100 2250

kraj
Kranj Ptuj

V 64010632 64016209

priimek Bratina Bizjak

ime Simon Tadeja

pota 4100 2250

pota 4100 2250

kraj Kranj Ptuj

Uporaba nenormaliziranih relacij...

Vasih zavestno uporabljamo relacije, ki ne ustrezajo najvijim normalnim oblikam. Prve in druge normalne oblike nikoli ne krimo. Vijim normalnim oblikam se vasih odreemo na raun doseganja bolje uinkovitosti.

Uporaba nenormaliziranih relacij

Primer:

Rezultat (portnik, tekmovanje, as prvega teka, as drugega teka, as skupaj) Relacija ni v tretji normalni formi. as skupaj je izpeljan atribut ni odvisen od kljua, temve je setevek asov obeh tekov. Skupen as raunamo ob vpisu v bazo, zato izboljamo uinkovitost pri nadaljnji obdelavi podatkov.

You might also like