Örebro universitet
Institutionen för teknik
Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se)




Tentamen i

Databasteknik
för D1, SDU1 m fl

lördag 3 mars 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 och lösningar: Meddelas på kursens hemsida eller via e-post senast lördag 24 mars 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.



LYCKA TILL!

Scenario till uppgifterna

Odiskade kaffekoppar. Licens: Gör vad ni vill, alternativt Creative Commons CC0.

I vårt fikarum står det jämt odiskade kaffekoppar på diskbänken. Vi måste verkligen styra upp det här!

Därför behöver vi en databas. Det vi vill lagra i databasen är följande:

Uppgift 1 (5 p)

Rita ett ER- eller EER-diagram för den beskrivna databasen. Använd informationen i scenariot ovan, men tänk också på att det ska gå att svara på frågorna i uppgift 3 nedan.

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.

Uppgift 2 (5 p)

Implementera den beskrivna databasen i relationsmodellen, dvs översätt ER-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.

Implementationen ska vara bra.

Uppgift 3 (5 p)

I databassammanhang talar man ibland om integritetsvillkor (på engelska: integrity constraints).

a) Vad är det?

b) Vad är det bra för?

c) Ge tre olika exempel på integritetsvillkor som kan vara bra att ha i din databas från uppgift 2 ovan.

Uppgift 4 (9 p)

Formulera följande frågor i SQL. Definiera gärna vyer om det underlättar. (Använd dina tabeller från uppgift 1.)

a) Det finns bara en Anna Andersson som jobbar här. Vilket, eller vilka, telefonnummer har hon?

b) Det finns bara en Bo Berg som jobbar här. Vilka gröna kaffekoppar har han någon gång använt?

c) Finns det några kaffekoppar som aldrig är använda? Vi vill veta de kaffekopparnas nummer och färg.

d) Vad heter den person som har deltagit vid flest fikapauser?

Uppgift 5 (3 p)

Vilken databashanterare bör vi välja för vår databas? Nämn tre olika databashanterare, och tala om varför, eller varför inte, de passar för den här tillämpningen.

Uppgift 6 (5 p)

Anta att alla personerna i databasen får varsin kaffekopp i julklapp. Nu vill allihop lägga in sin nya kaffekopp i databasen.

a) En databashanterare erbjuder typiskt flera olika sätt att arbeta mot databasen. Man brukar tala om olika gränssnitt. Nämn tre olika sådana gränssnitt som personerna kan använda sig av. Vilka är det troligt att de använder?

b) I databassammanhang är transaktioner (eller ACID-transaktioner) ett viktigt begrepp. Finns det några problem som skulle kunna uppstå nu när alla personerna ska lägga in sina kaffekoppar, som skulle kunna lösas med transaktioner? Hur kan de problemen lösas?