Vinnaren i pepparkakshustävlingen!
2006-05-17, 19:33
  #1
Medlem
Givet är följande tabell:

Kod:
Titelnr	Titelnamn	Artistnamn	Årtal	Skivbolag
1	Abbey Road	Beatles		1969	EMI
2	Rubber Soul	Beatles		1966	EMI
3	Nevermind	Nirvana		1991	Sub Pop

Har till uppgift att normalisera den till bcnf. Som jag ser det finns det följande funktionella beroenden.

Titelnr -> Titelnamn, Artistnamn, Årtal, Skivbolag
Titelnamn, Artistnamn -> Titelnr, Årtal, Skivbolag

Är dessa de enda beroenden eller har jag missat nåt? Om dessa är de enda är väl tabellen redan i bcnf? 1nf uppfylls ju helt klart, inga partiella beroenden alltså även 2nf, inga transitiva beroenden dvs 3nf. Och då det inte är en sammansatt primärnyckel är 3nf samma som bcnf.

Kanske helt är ute och cyklar?
Citera
2006-05-18, 21:07
  #2
Medlem
Om man ser till hur man skulle göra i praktiken, så vore det lämpligt att dela upp tabellen i tre:
skiva(titelnr, titelnamn, artistID, årtal, skivbolagID)
artist(artistID, artistnamn)
skivbolag(skivbolagID, bolagnamn)

Men för den aktuella datan är artist och skivbolag så gott som bara identitetsavbildningar och ger därför i teorin inget extra.

Håller alltså med om att uppgiften är knasig.
Citera
2006-05-19, 11:30
  #3
Medlem
grappens avatar
Jag håller delvis med er. Men, tänk om nu ett av skivbolagen byter namn? I det fallet är det då enligt mig en bättre struktur att dela upp dess data i två tabeller. Men tjaa... funkar ju helt klart som det är nu. Sen beror det ju helt på hur tabellen/tabellerna är tänkta att användas också.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback