Databaskonstruktion
för D1, Sdu1 och TDV
lördag 10 december 2005 kl 8:00 - 13:00 i L003
Hjälpmedel: | Inga hjälpmedel. |
Poängkrav: |
Maximal poäng är 50.
För betyget 3 krävs 25 poäng. För betyget 4 krävs 33 poäng. För betyget 5 krävs 42 poäng. För den som följt kursen hösten 2005 ger varje i tid inlämnad inlämningsuppgift en extra poäng. |
Resultat och lösningar: | Meddelas på kursens hemsida senast lördag 31 december 2005. |
Visning: |
Tid för visningen meddelas senare.
Efter visningen kan tentor hämtas på expeditionen. |
Examinator och jourhavande: | Thomas Padron-McCarthy, telefon 070-7347013. |
Det som ska lagras i databasen är, mer exakt, följande:
ER-diagram kan ritas på flera olika sätt. Om du använder en annan notation än kurskompendiet, måste du förklara den notation som du använder.
Du behöver inte skriva create table-kommandon i SQL, men du ska ange vilka relationer som finns och vilka attribut varje relation innehåller. Ange också vad som är primärnyckel, och vilka referensattribut som finns och vad de refererar till.
Implementationen ska vara bra.
a) (1p) Lista namnet på alla kurser som har ett namn som innehåller ordet programmering.
b) (1p) Vilken institution ger kursen Databasdestruktion? Vi vill veta den institutionens namn.
c) (1p) Finns det någon institution som inte ger några kurser alls? Vi vill veta den institutionens (eller de institutionernas) namn.
d) (1p) Hur många kurser ges av Institutionen för teknik?
e) (2p) Finns det någon tenta där examinator inte också är kursansvarig för kursen? Vi vill veta kursens namn och tentans datum för den tentan (eller de tentorna).
f) (4p) Vilken av de lärare som arbetar på Institutionen för teknik ansvarar för flest kurser? Vi vill veta den lärarens (eller de lärarnas) namn.
g) (4p) I genomsnitt hur många kurser ges av varje institution? (Observera: Om det finns tre institutioner, som ger 10, 2 respektive noll kurser, så ska svaret bli 4, inte 6.)
Definiera gärna vyer om det underlättar, men skapa inte nya tabeller.
(Om du inte svarat på deluppgift e, så välj en annan av deluppgifterna i uppgiften ovan, och snabba upp den frågan i stället. Tala i så fall om vilken fråga du valde!)
Kurskod | Kursnamn | Datum | Student | Betyg |
---|---|---|---|---|
TDP127 | PDA-applikationer med .NET | 2005-03-19 | 790101-2220 | 4 |
TDM126 | Mobiltelefonapplikationer med J2ME | 2005-04-12 | 790101-2220 | 3 |
UWO752 | Måltidsvetenskap | 2005-04-12 | 851119-6578 | 5 |
a) (2p)
Vilken normalform uppfyller tabellen? Motivera svaret!
b) (3p)
Använd teorin för normalformer och beskriv vilka problem som finns med den här tabellen. Rabbla inte upp de tekniska termerna (normalformer, funktionella beroenden och allt vad det heter), utan förklara vad de praktiska problemen är. Vilka saker är det som är opraktiska eller inte fungerar med den här lösningen?
Du behöver inte skriva create table-kommandon i SQL, men du ska ange vilka relationer som finns och vilka attribut varje relation innehåller. Ange också vad som är primärnyckel, och vilka referensattribut som finns och vad de refererar till.