Normalisering og indvindinger


For at optimere din database er der nogle modeller du kan følge. De kaldes normalisering og abstraktion, og bliver gennemgået i denne blog.


Fordelene ved at benytte sig af modellerne er, at din database både bliver hurtigere og mere struktureret/overskuelig at navigere rundt i. Samtidig bliver databasen også mere dynamisk, hvor du lettere kan redigere eksisterende data og tilføje nye felter.


Denne blog arbejder primært med begreberne normalisering, 1. til 3. Normal Form og abstraktion.

tirsdag den 1. september 2009

Abstraktion

Fortsættelse af: 3. Normal Form

Lignende tabeller slås sammen
Ved metoden Abstraktion sammenligner man de tabeller, man har opnået ved NF-metoderne -også de primære. Man slår dem sammen, hvis de ligner hinanden meget, og opnår derved færre tabeller. Eksempelvis kan en tabel med telefonnumre og en med faxnumre slås sammen, og det samme kan gælde for tabellerne med medarbejdere og kunder, hvis de indeholder de samme oplysninger.

3. Normal Form

Fortsættelse af: 2. Normal Form

Nye tabeller til sammenhængende data-felter
3FN bygger videre på reglerne fra 1FN og 2FN.
Metoden 3FN går ud på, at de kolonner, der ikke direkte har noget at gøre med primær-nøglen, men mere med andre data-felter, skal flyttes over i en seperat tabel.

På den måde opnår man, at andre tabeller også vil kunne slå op i den nye tabel, som eventuelt er en funktion/genvej, der oplyser om brugerens køn.

Fortsættelse: Abstraktion

2. Normal Form

Fortsættelse af: 1. Normal Form

Samme oplysninger flere gange
2FN er en strukturering af databasen, der bygger videre på regel 1FN.

Den indebærer også, at man fjerner gentagelser af data/oplysninger, ved at flytte oplysningerne over i en seperat tabel. Eksempelvis hvis to kunder bor på samme adresse, behøver deres adresseoplysninger kun at stå et sted i databasen i stedet for i et felt ved hver person.

Adresseoplysningerne i de nye tabeller forbindes til deres forgængere ved hjælp af et id-nummer.

Fortsættelse: 3. Normal Form

1. Normal Form

Fortsættelse af : Hvad er normalisering

Ingen tomme felter
Denne regel sørger for, at man fjerne tomme felter fra tabellen. Dette gøres ved, at samle alle oplysningerne på eksempelvis nogle kunder i én kolonne. I første kolonne er kunderne listet, hver kunde med et nyt nummer. Første kolonne viser også, hvor mangle rækker hver kunde optager. I tredje kolonne står alle oplysningerne, og de må gerne fylde flere celler i den lodrette kolonne. Anden kolonne bruges til, at oplyse, hvilken rækkefølge kundens oplysninger skal vises i.


Kunde-idSekvens-nr.Oplysninger
1110 Main St.
12New York, NY 10021
21PO Box 160
2250 Fox Run Road
23Flushing, NY 11367
3120 Hill Road
32Apartment 2B
33Mount Olive, NJ 07828


Eksempelvis optager bruger "1" to vandrette rækker med oplysninger. Dette kan man se i første kolonne, og i anden kolonne er oplysningerne nummereret med 1 og 2.

Separate tabeller for relateret data
1NF opretter separate tabeller for hver gruppe af relateret data samt identificere hver enkelt række med en unik kolonne eller række af kolonner (den primære nøgle).
Så i stedet for at fylde flere funktioner i samme felt, oprettes en seperat database, hvor informationerne kan ligger i hver deres række.

Ved at opdele oplysningerne i forskellige tabeller og celler, forenkler man arbejdet med databasen.

Fortsættelse: 2. Normal Form

Hvad er normalisering

Normalisering af en database
Normalisering af en database er en process, hvor man efter givne regler gør komplekse informationer simple. Reglerne for normaliseringen af vores data elementer kan koges ned til, at der sorteres efter deres primære og "foreign" nøgler.

"Normal forms"
Database "community" har opfundet en serie af retningslinier for at sikre, at databaser er normaliserede.

  • 1NF / First normal form
  • 2NF / Second normal form
  • 3NF / Third normal form
  • BCNF / Boyce/Codd normal form
  • 4NF / Fourth normal form
  • 5NF / Fidth normal form

Fordelene ved at normalisere databaser
-Bedre applikationer stabilitet
-Hurtigere updates
-Bedre data kvalitet
-Hurtigere oprettelse af nye modeller

Fortsættelse: 1. Normal Form