Normalisering til 3NF

Tags:    sql normalisering

Hej,

håber nogen kan hjælpe med at fordanske følgende sætning omkring definationen af 3. normalform, samt kunne forklare mig det på jævn dansk, hvordan man gør det konkret.

A relation schema R is in the thrird normal form (3NF) if, whenever a nontrivial functional dependency X-> A holds in R, either (a) X is a superkey of R, or (b) A is a prime attribute of R


Jeg formår hverken at formulere dette på dansk, ej heller at kunne forklare, hvordan man kommer til 3. normalform. Håber nogen kan være behjælpelig, jeg har sat og og leget alt for meget med Google, uden at ende med at forstå det :/



Indlæg senest redigeret d. 04.09.2011 17:40 af Bruger #10576
3 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Hej

Min forklaring af 2NF og 3NF til en aflevering:


For at en database er på 2. normalform (2NF), skal den i forvejen være normaliseret på 1NF. Derudover må der ikke eksistere nogle atributter der er afhængige af nøglen, eller en del af nøglen, hvis ikke denne attribut tilhører nøglen.

For at opfylde 3NF gælder det ligelides at 2NF skal være opfyldt. Ydermere, må der ikke være nogen attributter, der er afhængige af andre attributter uden at disse er en nøgle. Dette kan bedst forklares med postnumre. For at opfylde 3NF, må en tabel altså ikke indeholde både postnummer og by, med mindre det er en tabel kun til dette. I stedet bruger man postnummeret som en fremmednøgle til at identificere bynavnet med.

Disse normalformer er med at til at forhindre redundans, da der ikke ville være nogle gentagne værdier. Hvis nu man havde en kundekartotek med 25.000 adresser i Aarhus, skulle disse pr. 1/1-2011 alle ændres fra Århus til Aarhus – måske blev kundernes adresse gentaget nogle gange i en ikke normaliseret database, og derfor ville man hurtigt komme op på flere tusinde operationer, i stedet for at man blot skal ændre det ét sted.




Hmm ok, troede det var Boyce-Codd normalformen du der ramte.. Det er inte godt, bliver vist ikke dælens meget klogere ..

Edit: Nej tak, den må være god nok, tror jeg forstår den del nu (sådan mere eller mindre). Så mangler jeg 'bare' Noyce-Codd normal formen..

A relation schema R is in BCNF if whenever a nontrivivial functional dependency X -> A holds in R, then X is a superkey of R


Der er flere point, hvis nogen kan prøve at forklare dette også :D ?



Indlæg senest redigeret d. 04.09.2011 18:20 af Bruger #10576
Hej Benni.

Jeg kan helt klart anbefale dig at kigge på bogen relationelle databser fra Libris.
Den står på dansk, og er letforståelig og forklare Codds.

Du kan hente den her: Relationelle Databser





t