120 likes | 284 Views
Normalisering. Formell teori for å forbedre relasjonsskjema design, unngå redundans. 2 hovedretninger : Syntese og Dekomposisjon Basert på funksjonelle avhengigheter (FD) (+multi-verdi avh.) og join avhengigheter. 7 forskjellige normal former : 1NF, 2NF, 3NF, EKNF, BCNF og 5NF.
E N D
Normalisering • Formell teori for å forbedre relasjonsskjema design, unngå redundans. • 2 hovedretninger : Syntese og Dekomposisjon • Basert på funksjonelle avhengigheter (FD) (+multi-verdi avh.) og join avhengigheter. • 7 forskjellige normal former: 1NF, 2NF, 3NF, EKNF, BCNF og 5NF. • Et skjema er fullt normalisert når det er på 5NF. • Et Rmappet konseptuelt skjema med korrekte grunnleggende faktatyper er på 5NF.
Syntese • Input : Sett med attributter og avhengigheter • Grupperer attributter i tabeller ved å finne et minimum (redusert/kombinert) dekke av de opprinnelige avhengighetene. • Garanterer et minimum antall tabeller som er på EKNF.
Dekomposisjon • Input : Sett med attributter og avhengigheter • Iterativ : deler opp ”dårlige” tabeller i flere inntil oppdatering av relasjoner kan skje feilfritt. • Garanterer ikke et minimum antall tabeller • Kan være nyttig i korrigering av relasjonsskjema med dårlig design.
Første normal form - 1NF • En tabell er på første normal form hviss antall attributter er fiksert og hver attributt holder nøyaktig en verdi.
Utøver ( navn, sport, høyde ) Jones E Tennis 180 Jones E Fotball 180 Smith T Tennis 170 Andre normal form - 2NF • En tabell er på 2NF hviss den er på 1NF og enhver ikke-nøkkel attributt er funksjonelt avhengig av en nøkkel (hele, ikke kun deler av).
Foreleser ( etternavn, institutt, bygning ) Halpin CS 69 Okimura JA 1 Orlowska CS 69 Wang CN 1 Tredje normal form • En tabell er i 3NF hviss den er i 2NF og alle ikke-nøkkel attributter er gjensidig uavhengige.
Påmelding ( studentnr, navn, emnekode ) 1001 Adams F CS100 1001 Adams F CS114 1002 Brown S CS114 Elementær Nøkkel Normal Form • En tabell er på EKNF hviss alle elementære funksjonelle avhengigheter tar utgangspunkt i en elementær nøkkel (hel) eller ender på en elementær nøkkel-attributt (kan være del av nøkkel)
Resultat ( studentnr, navn, emnekode, karakter ) 1001 Adams F CS100 6 1001 Adams F CS114 7 1002 Brown S CS114 7 Boyce-Codd Normal Form - BCNF • En tabell er i BCNF hviss alle elementære funksjonelle avhengigheter tar utgangspunkt i en hel nøkkel.
Foreleser ( etternavn, sport, språk ) Halpin judo engelsk Halpin tennis engelsk Halpin judo japansk Jones judo japansk Fjerde Normal Form - 4NF • En tabell er på 4NF hviss den er på BCNF og alle ikke-trivielle avhengigheter er funksjonelle avhengigheter.
MVD-ene i forrige eksempel tilsvarer 2 elementære m:n faktatyper. • BCNF er bevist å tilsvare ingen redundans når kun FD er tilstede. • 4NF er bevist tilsvarende for FD og MVD tilstede.
Femte Normal Form - 5NF • En tabell er i 5NF hviss for enhver ikke-trivielle join avhengighet, hver projeksjon inneholder en nøkkel fra den originale tabellen.
Oppsummering • Normalisering gjør det enklere å oppdatere tabeller, ved at FD, MVD og JD blir håndhevet av entydighetsbeskrankninger. • Tar ikke hensyn til andre former for avhengigheter/beskrankninger