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.