Databasteknik
för D1, SDU1 m fl
onsdag 22 augusti 2012
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 32.
För betyget 3 respektive G krävs 16 poäng. |
Resultat: | Meddelas på kursens hemsida eller via e-post senast onsdag 12 september 2012. |
Återlämning av tentor: | Efter att resultatet meddelats kan tentorna hämtas på universitetets centrala tentamensutlämning. |
Examinator och jourhavande: | Thomas Padron-McCarthy, telefon 070 - 73 47 013. |
Ett exempel är den berömda fyradagarsmarschen i Nijmegen i Holland:
Vi ska organisera en sådan marsch, och det vi vill lagra i databasen är följande:
Här är ett exempel på hur en marschkarta med kontroller kan se ut:
Det finns åtta kontroller, numrerade från 1 till 8. Kontroll nummer 1 är starten, som är gemensam för alla marschsträckor. Kontroll nummer 5 är målet, som också är gemensamt för alla marschsträckor. Det finns tre olika marschsträckor. Den kortaste har kontrollerna 1-2-3-4-5. Den mellanlånga har kontrollerna 1-2-3-6-7-4-5. Den längsta har kontrollerna 1-2-3-6-8-7-4-5.
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) Det finns bara en deltagare som heter Anders And. Vad har han för startnummer?
b) Det finns bara en deltagare som heter Bengt Berg. Hur lång är sträckan som han anmält sig till?
c) Det finns bara en deltagare som heter Cecilia Citron. Vilka kontroller har han passerat, och vid vilka tidpunkter? Vi vill ha en lista sorterad efter tiderna.
d) Hur många deltagare har anmält sig till sträckan 40 kilometer?
e) Finns det några deltagare som passerat en kontroll som han eller hon inte borde ha passerat? Dvs, en kontroll som inte hör till den marschsträckan som han eller hon är anmäld till? Vi vill veta dessa deltagares namn och nummer.
Nijmegen-arrangörerna har följt dina lösningar i uppgifterna ovan, så nu har de den databasen i drift. Men de är oroliga för att databasen ska räcka till för belastningen. Beskriv vad de bör tänka på, och hur de bör göra!
a) Vi tycker det här med SQL verkar krångligt, med alla "select" och "from" och vad det nu var. Hur ska våra frivilliga funktionärer klara av det?
b) Tänk om två deltagare får samma startnummer? Det skulle ju bli kaos! Hur ska vi hantera det?
c) Förra året gick strömmen mitt under marschen. Då stängs ju datorerna av, och alla data försvinner! Hur ska vi hantera det?