IN2090-ukesoppgaver: Uke 8
Normalformer og tapsfri dekomposisjon
Oppgave 1
F?lgende relasjon bryter med 2NF:
EksamensResultat(emnekode, studentId, semester, emnenavn, karakter)
hvor emnekode
bestemmer emnenavn
;
prim?rn?kkel er {emnekode, studentId, semester}
.
- Forklar hvorfor denne relasjonen ikke oppfyller 2NF.
- Dekomponer tapsfritt til BCNF.
Oppgave 2
F?lgende relasjon bryter med 2NF: R(A, B, C, D, E, F)
med f?lgende FD-er:
B,C → D
E → F
- Hvorfor bryter denne med 2NF?
- Dekomponer relasjonen til BCNF.
Oppgave 3
Vi har relasjonen:
Timeliste(ansattnr, uke, ?r, navn, antTimer)
hvor
ansattnr
bestemmer navn
og
{ansattnr, uke ?r}
er eneste kandidatn?kkel.
- Hvilke funksjonelle avhengigheter har relasjonen?
- Tilfredsstiller denne relasjonen 2NF? Hvorfor/hvorfor ikke?
Oppgave 4
Vi har relasjonen:
Ordre(ordre, kundenr, kundenavn, antall, sum, mva)
hvor
kundenummer
bestemmer kundenavn
,
mva
-verdien er alltid 25% av sum
og
ordre
er eneste kandidatn?kkel.
- Hvilke funksjonelle avhengigheter har relasjonen?
- Hvilken normalform har relasjonen?
Oppgave 5 (fra eksamen 2015)
I denne oppgaven skal vi bruke f?lgende relasjon:
Filmgenre(filmid, title, prodyear, genre)
Prim?rn?kkelen i
tabellen er kombinasjonen av filmid
og genre
;
alts? {filmid, genre}
. Videre vet vi ogs? at
filmid
bestemmer b?de tittel
og
produksjons?r
for en film.
- Bestem alle supern?klene i relasjonen
Filmgenre
. Skriv ned alle. - Bestem alle FD-ene i relasjonen
Filmgenre
. - Hvilken normalform er relasjonen
Filmgenre
p?? Begrunn svaret ditt.