Normalisering — 1NF, 2NF, 3NF
Kommunikation og IT A · HTX · A-niveau · Databaser og datamodellering
💻 Databasenormalisering
Normalisering eliminerer dataredundans og sikrer dataintegritet.
1NF (Første Normalform):
- Alle attributter er atomiske (udelelige)
- Ingen gentagne grupper
- Problem:
telefon = "12345678, 87654321"→ opdel i separate rækker
2NF (Anden Normalform):
- Er i 1NF
- Alle ikke-nøgle-attributter er fuldt funktionelt afhængige af primærnøglen
- Problem opstår ved sammensat primærnøgle hvor nogle attributter kun afhænger af én del
3NF (Tredje Normalform):
- Er i 2NF
- Ingen transitiv afhængighed: ikke-nøgle-attribut afhænger af en anden ikke-nøgle-attribut
- Eksempel: Ordre(OrdreID, KundeID, KundeNavn, KundeBy) → KundeNavn og KundeBy afhænger af KundeID, ikke OrdreID → flyt til Kunde-tabel
Tommelfingerregel: "Alle fakta kun om nøglen, intet andet end nøglen, kun nøglen."
Læringsmål
- Identificere normaliseringsovertrædelser i eksisterende databaser
- Normalisere en tabel til 1NF, 2NF og 3NF
- Forklare transitiv afhængighed med konkrete eksempler
- Vurdere hvornår denormalisering er acceptabelt (performance)
Sådan kan du arbejde med emnet
- Giv et eksempel på en tabel der ikke er i 1NF og forklar hvorfor
- Normaliser en tabel med kunde- og ordreoplysninger til 3NF
- Forklar hvilke problemer normalisering løser (opdaterings-, indsættelses- og sletningsanomalier)
Træningsforslag
- Find og ret normaliseringsproblemer i en given messy database
- Normaliser en webshop-database fra 1NF til 3NF trin-for-trin
- Diskuter trade-off: 3NF vs. performance i store databaser
Øv dette emne med AI — quizzer, forklaringer og feedback tilpasset dit niveau.
Prøv Fagportalen gratis