Databasteknik
för D1 m fl
tisdag 12 januari 2016
Gäller som tentamen för:
DT105G Databasteknik, provkod 0100
DT1026 Datateknik A, Databasteknik, provkod 0100
DT1030 Datateknik A, Tillämpad datavetenskap, provkod 0310
Hjälpmedel: | Ordbok för översättning. |
Poängkrav: | Maximal poäng är 40. För betyget 3 respektive G krävs 25 poäng, samt minst fyra poäng på uppgift 1 och minst fem poäng på uppgift 2. För den som följt kursen hösten 2015 ger varje i tid inlämnad inlämningsuppgift en extra poäng. Den som inte gått kursen hösten 2015 får dessa (fem) extrapoäng ändå. |
Resultat: | Meddelas på kursens hemsida eller via e-post senast tisdag 2 februari 2016. |
Å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. |
Det vi ska lagra i databasen är följande:
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) Vad är kilopriset för blåbär av kvalitetsklassen som heter Extra bäst?
b) Här har vi blåbär nummer 123456789. Det sitter på en blåbärsbuske. Hur hög är busken?
c) Här, på latitud 59.250 och longitud 15.250, finns en blåbärsbuske. Vad heter den eller de blåbärsräknare som är ansvariga för den?
d) Hur många blåbär sitter inte på någon buske?
e) Vad är det sammanlagda priset för alla blåbär i skogen?
a) Föreslå en databashanterare som kan vara lämplig att använda.
b) Föreslå en databashanterare som förmodligen inte är lämplig att använda. Motivera varför den inte är lämplig!
c) Vi antar att frågorna a och b i uppgift 4 körs ofta, men vi söker inte alltid efter just samma konstanter (Extra bäst och så vidare). Vilka index behöver vi skapa för att snabba upp just dessa frågor? Databashanteraren som vi använder skapar inga index automatiskt, inte ens på primärnycklar.
Blåbär | |||||
---|---|---|---|---|---|
Nr | Diamater | Vikt | Kvalitetsklass | Kvalitetsnamn | Kilopris |
1 | 1.0 | 0.8 | 1 | Extra prima | 14.90 |
2 | 0.8 | 0.8 | 1 | Extra prima | 14.90 |
3 | 1.0 | 0.8 | 2 | Skräpbär | 1.00 |
Kolumnen Nr är det unika blåbärsnumret från scenariot, och är primärnyckel i tabellen. Som vi ser hör blåbär 1 och blåbär 2 till kvalitetsklass 1, och blåbär 3 hör till kvalitetsklass 2.
a) Vilka fullständiga funktionella beroenden finns i tabellen?
b) Vilken är den högsta normalform,
av 1NF, 2NF, 3NF och BCNF, som tabellen uppfyller?
c) Varför uppfyller tabellen inte den närmast högre normalformen?
d) Beskriv något problem som finns i den här tabellen,
och som man skulle slippa med en högre normalform.
a) en primärnyckel och en kandidatnyckel
b) en kandidatnyckel och ett index
c) hållbarhet (D:et i ACID) och isolering (I:et i ACID)
d) en främmande nyckel och en kandidatnyckel
e) en databashanterare och en databasadministratör