50 likes | 182 Views
Databasedesign. Hvad skal man tage højde for: Hvad skal kunne trækkes UD af databasen Hvilke data skal IND Hvilke tabeller og felter skal vi have Så skal man normalisere alle tabellerne for at sikre:
E N D
Databasedesign • Hvad skal man tage højde for: • Hvad skal kunne trækkes UD af databasen • Hvilke data skal IND • Hvilke tabeller og felter skal vi have • Så skal man normalisere alle tabellerne for at sikre: • En effektiv og korrekt fordeling af data i tabellerne og mindske mængden af gentagne data i databasen
Dårlig tabel – der er ikke noget, der entydigt identificerer hver post Derfor opretter vi en primærnøgle:
Ikke så godt med et automatisk ID, for sletter vi IB og opretter ham igen, så får han nummer 5 og ikke 3, da dette nummer ER brugt – historikken er ikke med – derfor laves et nyt felt STATUS, hvor vi angiver om folk er med eller ikke – MEN POSTERNE ER UNIKKE. Og der var flere steder hvor samme oplysning var skrevet flere gange og stavet forkert. Og der må ikke være ”huller” og felter må ikke afhænge af hinanden. Det gør Postnr og Bynavn, så derfor skal Bynavn ud i en anden tabel Men vi skal også se på postnummertabellen om den er god nok: Den skal også have et entydigt ID (i tilfælde af at et postnummer ændrer sig)
Så Postnr fra den anden tabel fjernes og der henvises til Postid i stedet – og så kan vi relatere tabellerne NU ER TABELLERNE PÅ DET, DER HEDDER 3NF – det vil sige: Der er en primærnøgle Ingen repeterende data Alle felter er afhængige af primærnøglen Alle felter der ikke er primærnøglen skal være uafhængige af hinanden
Og så kommer chefen og vil have Privat telefon, Mobil og Arb telefon med! For mange tomme felter og felter, der afhænger af hinanden ! Derfor: Så 1 tabel endte op med at blive til 4!