===== Normalerformer 1NF, 2NF og 3NF ===== ==== Øvelse 1: Første normalform (1NF) ==== Betragt nedenstående 'Studerende' tabel, (primær nøgle er understreget): **Studerende:** ^ __ID__ ^ Navn ^ Email ^ Kurser ^ Karaktere ^ | 100111 | John Doe | doe@usna.edu | NN204, SI204, IT221 | 2,4,7 | | 092244 | Matt Smith | smith@usna.edu | SM223, EE301 | 4,4 | | 113221 | Melinda Black | black@usna.edu | SI204 | 2 | | 090112 | Tom Johnson | Johnson@usna.edu | NN204, SI204, IT221 | 4,2,7 | * a) Er 'Studerende' tabel på 1NF? Hvorfor/Hvorfor ikke ? * b) Hvis ‘Studerende’ tabel ikke er på 1NF, redesign tabellen således at alt information i den nuværende tabel kan findes i de nye resulterende tabeller, og at alle nye tabeller er på 1NF.\\ //**OBS!: Gentagelser er tilladt i 1NF; det er først i 2NF, at vi begynder at fjerne redundans**//. * c) Opret de normaliserede tabeller i word tabeller (ell. lign), og skriv forslag til SQL CREATE statements for alle tabeller. ==== Øvelse: 2 ==== * Hvad vil det sige at en tabel har en partiel afhængighed? * Giv et eksempel på en tabel med en partiel afhængighed. ==== Øvelse: 3 ==== * Hvad vil det sige at en tabel har en transitiv afhængighed? * Giv et eksempel på en tabel med en transitiv afhængighed. ==== Ressourcer ==== * [[https://www.youtube.com/watch?v=ABwD8IYByfk|Video: What is Normalization in SQL?]] * https://balslev.io/programmering/database/normalisering-af-databaser/ * https://www.guru99.com/database-normalization.html