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






Tentamen i

Databasteknik
för D1, SDU1 m fl

lördag 9 mars 2013

Gäller som tentamen för:
DT1026 Datateknik A, Databasteknik, provkod 0100
DT1030 Datateknik A, Tillämpad datavetenskap, provkod 0310
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 lördag 30 mars 2013.
Å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 uppgift 1-4

Sverige är uppdelat i 21 län, till exempel Örebro län och Jämtlands län. Varje län har ett unikt namn och en folkmängd. Varje län har också en residensstad, som är en tätort som ligger i det länet. Varje län delas sedan in i flera kommuner, till exempel Örebro kommun och Kumla kommun, som båda finns i Örebro län. Totalt finns det 290 kommuner. Varje kommun har ett unikt namn och en folkmängd. Varje kommun innehåller en eller flera tätorter. Som exempel finns i Örebro kommun 14 olika tätorter: Örebro, Hovsta, Garphyttan, Odensbacken, Vintrosa, Ekeby-Almby, Stora Mellösa, Glanshammar, Norra Bro, Latorpsbruk, Ölmbrotorp, Hampetorp, Kilsmo och Askersby. Totalt finns det 1956 tätorter. Varje tätort har ett namn och en folkmängd. Det kan inte finnas två tätorter med samma namn i en och samma kommun, men i olika kommuner kan det finnas tätorter som har samma namn.

Uppgift 1 (4 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 (4 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 (8 p)

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

a) Hur många människor bor det i Åre kommun?

b) Vad heter residensstaden i Kalmar län, och hur många personer bor det i den?

c) Vad heter tätorterna som finns i Kumla kommun?

d) Vad är den sammanlagda folkmängden för alla kommuner som ligger i Örebro län?

e) Vad heter den största tätorten i Stockholms län?

Uppgift 4 (5 p)

Det där med län, kommuner och tätorter börjar kännas lite omodernt. Vi ska därför ändra till att Sverige delas in i regioner. En region kan sedan delas in i mindre regioner, som i sin tur kan delas in i ännu mindre regioner, och så vidare i hur många nivåer som helst. Varje region ska ha ett unikt nummer, ett (inte nödvändigtvis unikt) namn, och en folkmängd.

a) Rita ett ER- eller EER-diagram för den beskrivna databasen med regioner.

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

c) Formulera följande fråga i SQL: Hur många människor bor det i regionen Norrland?

d) Formulera följande fråga i SQL: Vad heter de regioner som regionen Norrland indelas i?

Uppgift 5 (4 p)

I databaser kan det förekomma redundans av olika slag. Redundans betyder att något är "onödigt", till exempel att samma uppgift lagras på två eller ännu flera olika ställen. Beskriv två olika typer av redundans som kan förekomma, och i vilka sammanhang de förekommer. Vilka fördelar och nackdelar finns med dessa olika typer av redundans?

Uppgift 6 (7 p)

Förklara följande termer. Ange (kort) vad det är för nåt och vad det används till.

a) alter table

b) commit

c) databasadministratör

d) databashanterare

e) databasschema

f) datamodell

g) vänster-ytter-join (på engelska: left outer join)