Database Normalisering

Fra Holstebro HTX Wiki
Spring til navigation Spring til søgning

Det at sikre sig at en database er opbygget så den er effektiv og god at bruge kaldes at normalisere en database.

Hvis en database ikke er normaliseret, så vil man opleve, at det er svært at bruge databasen, altså at kunne trække de ting og sammenhænge ud af databasen som man ønsker.

For at normalisere en database skal man igennem 3 punkter efter hinanden.

Første Normalform

Det første man gør er at sikre at man ikke har felter (attributter) i sin database, der indeholder flere oplysninger, det kunne fx være dommerne ved er idrætsstævne. Her må man ikke oprette en attribut der hedder dommere, hvor man så ville skrive dommernavnene til det aktuelle stævne. Man skal i stedet lave en tabel med dommerne, så hver dommer har sin egen post, og så kan man lave relationer til stævnet

Anden Normalform

Når man har lavet 1. normalform, skal man sikre at hver enkelt post har en unik attribut, så man altid kan henvise til en post ved hjælp af denne attribut - den vil man betegne som den primære nøgle i tabellen.

Hvis man ikke umiddelbart har en egenskab i tabellen, som er egnet til at være primær nøgle, så kan man oprette en attribut der hedder ID, som blot er et fortløbende nummer. Den primære nøgle vil normalt være et heltal (det er mest effektivt i en database).

Tredje Normalform

Det sidste der skal gøres er at undgå redundans.

Redundans er der hvor oplysninger bliver gentaget, ved at man skriver oplysningerne ind igen.

Hvis man fx skriver alle kundens oplysninger ind i fakturatabellen, så skal man skrive alle oplysninger om kunden hver gang man opretter en ordre. Der er to ulemper ved det: dels at man kommer til at spilde plads, fordi det blot er gentagelser og dels at man risikerer at oplysningerne bliver forskellige. I stedet skal man i fakturatabellen henvise til en kunde i en kunde-tabel. Her indsætter man en fremmed nøgle i fakturatabellen (kundenummer) som henviser til den primære nøgle i kundetabellen (kundenummer). På den måde kommer alle kundens oplysninger kun til at ligge én gang i database, uanset hvor mange fakturaer der oprettes til kunden.

Mere information

Der er mere at læse i systimes bøger (kræver et login).

Normalformer er gennemgået på: Normalformer [1]

Normalisering er gennemgået under: Normalisering [2]

Referencer

  1. Systimes bog Informatik C om Normalformer
  2. Systimes bog Informatik B til EUX om Normalisering af databaser
Database
Database E-R diagram - henvendelse fra en Form - Database med onecompiler - Normalisering - Relationer - Tabel struktur diagram - Database Visning