Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Normaliseringdugga, lösningsförslag
- Uppgift 1:
- ==========
- * Beroenden
- DatorID -> Namn, Startår, Program
- Kurskod -> Kursnamn, Fakultet, Poäng, Lästakt
- DatorID, Kurskod -> Betyg [och alla andra attribut transitivt]
- Nyckeln, från början, är därför DatorID, Kurskod.
- * Normalform
- Tabellen är bara i första normalformen, eftersom det finns
- vältidgt tydliga beroenden från del av nyckel.
- * Normalisering
- Börja med normalisera upp till 2NF. Bryt ut de attribut som krockar i det
- första beroendet:
- 2NF: [_DatorID_, Namn, Startår, Program]
- till egen tabell. Kvar i originaltabellen
- [_DatorID_,_Kurskod_, Kursnamn, Fakultet, Poäng, Lästakt, Betyg]
- Bryt sedan ut de som krockar i det andra beroendet:
- 2NF: [_Kurskod_, Kursnamn, Fakultet, Poäng, Lästakt]
- Kvar i originaltabellen:
- 2NF: [_DatorID_,_Kurskod_, Betyg]
- Alla tabeller är nu i andra normalformen.
- Kolla därefter om tabellerna är i 3NF. Det är de. Kolla sedan om de är BCNF.
- Det är de också. Klart! (se till att kolla mot definitionerna av
- normalformerna)
- Uppgift 2:
- ==========
- * Beroenden
- 1: CDnr, Låtnr -> Låttitel, Längd
- 2: CDnr -> Titel, Bolag, Artist, Typ*, Land*
- 3: Artist -> Typ, Land
- * Transitiva beroenden mha FFB 3
- Detta förutsätter att det inte finns två artister/band/whatever med samma
- namn.
- * Normalform
- Tabellen är i 1NF, eftersom beroende 2 är från del av nyckel.
- * Normalisering
- Först till 2NF. FFB 2 bryter mot 2NF, alltså bryter vi ut de attributen:
- 2NF [_CDnr_, Titel, Bolag, Artist, Typ, Land]
- 2NF [_CDnr_,_Låtnr_, Låttitel, Längd]
- Nu uppfyller tabellerna 2NF. Uppfyller de 3NF? Nej, för FFB 3 är ett beroende
- mellan icke-nyckelattribut. Bryt ut igen:
- 3NF [_CDnr_, Titel, Bolag, Artist]
- 3NF [_Artist_, Typ, Land]
- 3NF [_CDnr_,_Låtnr_, Låttitel, Längd]
- Nu uppfyller tabellerna 3NF. Uppfyller de BCNF? Ja!
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement