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








Tentamen i

Databasteknik

tisdag 7 januari 2025

Gäller som tentamen för:
DT504G Databasteknik för civilingenjörer, provkod A001


Hjälpmedel: Ordbok för översättning.
Poängkrav: Maximal poäng är 40. För godkänt betyg krävs 24 poäng, varav minst fyra poäng på uppgift 1 och minst fem poäng på uppgift 2.
Resultat: Meddelas senast 15 arbetsdagar efter tentamensdatum.
Återlämning av tentor: Elektroniskt via webbportalen Studenttjänster.
Examinator och jourhavande: Thomas Padron-McCarthy, telefon 070 - 73 47 013.






LYCKA TILL!

Scenario till uppgifterna

Parkeringsbolaget Norge-Sverige-Danmarks Allmänna Parkering vill hålla koll på sina parkeringar och vilka bilar som finns parkerade. Här är en bild på en parkering:

En parkering

De behöver förstås en databas för det, och det databasen ska innehålla är följande:

Parkeringsbolaget har verksamhet i hela Norden, och planerar att expandera in i Polen, så man kan räkna med att det finns många av alla dessa saker, även parkeringsplatser.

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 uppgifterna 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 (6 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 (1 p)

Mycket i den här kursen har handlat om relationsdatabaser, bland annat uppgift 2 på den här tentan. Vad är det som är "relationerna" i en relationsdatabas?

Uppgift 4 (11 p)

Formulera följande frågor i SQL. Definiera gärna vyer eller CTE:er om det underlättar, men skapa inte nya tabeller.

a) (1p) Vad heter de parkeringsplatser som har ett namn som börjar på Örebro (till exempel Örebro universitet)?

b) (1p) Vad heter de parkeringsplatser som har ett namn som innehåller Örebro (till exempel Norra infarten till Örebro)?

c) (2p) Vad är namnen på alla de parkeringsplatser där bilen med registreringsnummer GRG 89R har parkerats?

d) (2p) Hur många bilar finns det just nu på parkeringsplatsen som heter Studentgatan 2-32? Man kan använda NOW() för att få fram aktuell tid, så man kan jämföra den med starttiden och sluttiden för en parkering.

e) (2p) Vad heter den parkeringsplats som ligger längst norrut? (Det är alltså den parkeringsplats som har den högsta latituden.)

f) (3p) Vad är namnet på den parkeringsplats där flest parkeringsböter delats ut?

Uppgift 5 (3 p)

Alla tabeller i databasen växer och blir mycket stora. Sökningarna i deluppgifterna 4a, 4b och 4c körs ofta, men kanske med andra konstanter än de i uppgiften. Vi vill få dem att gå snabbare. Ange för var och en av dessa sökningar vilka index vi bör skapa för att just den sökningen ska gå betydligt snabbare. Från början finns det inga index i databasen, inte ens på nycklar.

Uppgift 6 (4 p)

Den så kallade tre-schema-arkitekturen innebär att en och samma databas beskrivs med tre olika scheman. Vad innebär det, vad är det för scheman, och vad innebär det för fördelar och nackdelar?

Uppgift 7 (4 p)

a) Vad menas i databassammanhang med en normalform?

b) Varför har man skapat dessa normalformer?

c) Ge ett exempel på en normalform som vi behandlat i kursen, och förklara vad den innebär.

Uppgift 8 (3 p)

a) Vad innebär I:et i ACID-egenskaperna?

b) Beskriv kort något vanligt sätt att åstadkomma detta.

Uppgift 9 (3 p)

Vilken databashanterare bör vi välja för databasen i scenariot? Nämn tre olika databashanterare, och ange för var och en av dem varför, eller varför inte, den passar för den här tillämpningen.