Databasteknik
för D1, SDU1 m fl
lördag 28 februari 2009 kl 08:15 - 12:15
Gäller som tentamen för:
DT1012 Datateknik A, Databasteknik, provkod 0100
DT1007 Datateknik A, Tillämpad datavetenskap, provkod 0310
Hjälpmedel: | Inga hjälpmedel. |
Poängkrav: |
Maximal poäng är 40.
För betyget 3 respektive G krävs 20 poäng. |
Resultat och lösningar: | Meddelas på kursens hemsida eller via e-post senast lördag 21 mars 2009. |
Återlämning av tentor: | Efter att resultatet meddelats kan tentorna hämtas på institutionen. Man kan också få sin rättade tenta hemskickad. |
Examinator och jourhavande: | Thomas Padron-McCarthy, telefon 070 - 73 47 013. |
Tyvärr är det många förare som bara saktar in till laglig hastighet precis vid kamerorna, och sen ibland kör ännu fortare mellan kamerorna för att kompensera. Enligt ett kontroversiellt förslag ska man därför inte bara registrera de som kör för fort vid själva kamerorna, utan även de som kör för fort mellan kamerorna. Det gör man genom att registrera alla förbipasserande fordon vid kamerorna, inte bara de som kör för fort. När man har två observationer av samma fordon vid två olika kameror, kan man räkna ut medelhastigheten som fordonet måste ha hållit mellan kamerorna.
Nu behöver polisen förstås en databas för att hålla reda på kameror, fordon och observationer.
Man behöver lagra följande saker i databasen:
ER- och EER-diagram kan ritas på flera olika sätt. Om du använder en annan notation än kursboken, 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å alla kandidatnycklar, vilken av dessa som är primärnyckel, samt vilka referensattribut som finns och vad de refererar till.
Implementationen ska vara bra.
a) (2p) Vilken normalform vill man normalt att tabellerna i en databas ska uppfylla? Varför?
b) (3p) Välj en av tabellerna i din lösning på uppgift 2 ovan, och ange vilken som är den högsta normalform som den uppfyller. Visa också varför det är så!
a) (1p) Var finns kamera nummer 17?
b) (2p) Vad är personnummer och namn för de personer som äger fordon som kört förbi kamera nummer 17 idag (28 februari 2009)?
c) (2p) Vilka kameror har inte gjort några observationer alls idag (28 februari 2009)? (Kanske har någon vandal målat över linserna på dessa kameror!)
d) (3p) Vilket fordon har registrerats flest gånger av kamerorna?
e) (2p) Vilka två kameror är det längst emellan?
Definiera gärna vyer om det underlättar, men skapa inte nya tabeller.
b) (1p) Vad är det för skillnad på ett index och en nyckel?
c) (1p) Vad är det för skillnad på ett index och en främmande nyckel?
Sängar delas i sin tur in i enkelsängar och dubbelsängar, medan sittmöbler delas in i stolar, fåtöljer och soffor. Fåtöljer delas in i snurrfåtöljer, vilstolar och vanliga fåtöljer.
a) (2p) Rita ett EER-diagram för den beskrivna databasen.
b) (3p) Översätt EER-diagrammet till tabeller. 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å alla kandidatnycklar, vilken av dessa som är primärnyckel, samt vilka referensattribut som finns och vad de refererar till.
b) (4p) Hur gör man?