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}.

  1. Forklar hvorfor denne relasjonen ikke oppfyller 2NF.
  2. 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
  1. Hvorfor bryter denne med 2NF?
  2. 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.

  1. Hvilke funksjonelle avhengigheter har relasjonen?
  2. 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.

  1. Hvilke funksjonelle avhengigheter har relasjonen?
  2. 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.

  1. Bestem alle supern?klene i relasjonen Filmgenre. Skriv ned alle.
  2. Bestem alle FD-ene i relasjonen Filmgenre.
  3. Hvilken normalform er relasjonen Filmgenre p?? Begrunn svaret ditt.