IN2090-ukesoppgaver: Uke 7
FDer og tillukning
Oppgave 1 FDer og tillukning
a)
Finn de funksjonelle avhengighetene til relasjonen:
Student(studentNr, land, populasjon) som relaterer
studenter til landet de studerer i, og hvor
studentNrer unikt for en student (alts? attributten som kun er knyttet til en student, alts?studentNrogland)populasjoner populasjonen til landet med navn oppgitt iland
b)
Gitt f?lgende relasjon:
Student(navn, personnr, f?dselsdato, kurskode, fagkode, fagnummer, kursnavn)
som relaterer en student til kursene den tar, og FDene:
personnr → navnpersonnr → f?dselsdatokurskode → kursnavn, fagkode, fagnummerfagkode, fagnummer → kurskode
Finn tillukningen til 1. personnr 2.
{personnr, fagkode, fagnummer}
L?sningsforslag
a)
studentNr → landland → populasjon
b)
personnr? = {personnr, navn, f?dselsdato}{personnr, fagkode, kurskode}? = {personnr, fagkode, fagnummer, navn, f?dselsdato, kurskode, kursnavn}
Oppgave 2 Tillukning og n?kler
Gitt f?lgende relasjon
Bok(isbn, tittel, forfatter, forlagsnr, forlagsnavn, utgitt, sjanger, aldersgrense)
hvor vi har f?lgende Fder:
isbn → tittel, forfatter, forlagsnr, sjangerforlagsnr → forlagsnavnutgitt, forfatter, forlagsnr → isbnsjanger → aldersgrense
- Hva er tillukningen til 
forlagsnr? - Hva er tillukningen til
{forlagsnr, sjanger, forfatter}? - Hva er kandidatn?klene til 
Bok? 
L?sningsforslag
a)
forlagsnr? = {forlagsnr, forlagsnavn}
b)
{forlagsnr, sjanger, forfatter}? = {forlagsnr, sjanger, forfatter, forlagsnavn, aldersgrense}
c)
- Aldri p? h?yresider: 
utgitt - Kun er p? h?yresider:
tittel, forlagsnavn, aldersgrense - M? fors?ke ? utvide med:
isbn, forlagsnr, forfatter, sjanger 
- Fors?ker f?rst med kun 
utgitt:utgitt? = {utgitt}, alst? ikke kandidatn?kkel. - Utvider med 
isbn:{isbn, utgitt}? = {isbn, utgitt, tittel, forfatter, forlagsnr, sjanger, forlsagsnavn, aldersgrense}, alts? kandidatn?kkel - Utvider med 
forlagsnr:{utgitt, forlagsnr}? = {utgitt, forlagsnr, forlagsnavn}, alts? ikke kandidatn?kkel - Utvider med 
forfatter:{utgitt, forfatter}? = {utgitt, forfatter}, alts? ikke kandidatn?kkel - Utvider med 
sjanger:{utgitt, sjanger}? = {utgitt, sjanger, aldersgrense}, alts? ikke kandidatn?kkel - Utvider med 
forlagsnrogforfatter:{utgitt, forlagsnr, forfatter}? = {utgitt, forlagsnr, forfatter, forlagsnavn, isbn, tittel, sjanger, aldersgrense}, alts? en kandidatn?kkel - Utvider med 
forlagsnrogsjanger:{utgitt, forlagsnr, sjanger}? = {utgitt, forlagsnr, sjanger, forlagsnavn, aldersgrense}, alts? ikke kandidatn?kkel - Utvider med 
forfatterogsjanger:{utgitt, forfatter, sjanger}? = {utgitt, forfatter, sjanger, aldersgrense}, alts? ikke kandidatn?kkel 
Alle st?rre utvidelser vil kun gi supern?kler som ikke er minimale.
Alts? har vi f?lgende to kandiadtn?kler: {utgitt, isbn} og
{utgitt, forlagsnr, forfatter}.