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 → DE → 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
Filmgenrepå? Begrunn svaret ditt.