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.