Ö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 8 mars 2014

Gäller som tentamen för:
DT1026 Datateknik A, Databasteknik, provkod 0100
DT1030 Datateknik A, Tillämpad datavetenskap, provkod 0310





Hjälpmedel: Inga hjälpmedel.
Poängkrav: Maximal poäng är 36.
För betyget 3 respektive G krävs 18 poäng.
Resultat: Meddelas på kursens hemsida eller via e-post senast lördag 29 februari 2014.
Å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

Örebro universitet har ett antal datasalar, till exempel den här:

En datasal

Nu ska vi organisera datasalarna, och datorerna, i en databas.

Det vi ska lagra i databasen är, mer detaljerat, följande saker:

Uppgift 1 (6 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 (12 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) Vad heter de datasalar som har namn som börjar med bokstaven T?

b) Vad heter de datasalar som har namn som inte börjar med bokstaven T?

c) På den här datorn står inventarienumret 1234. Vad heter modellen?

d) Vilka märken har de datorer som står i datorsal T120?

e) Nu ska jag gå till en datasal och jobba, men jag vill välja en felfri sal. Vilka datasalar har inga felanmälningar, vare sig om själva salen eller datorer som står i den salen?

f) I vilken datasal står det flest datorer?

Uppgift 4 (5 p)

Örebro universitet har ett tiotal datasalar och ett par hundra datorer. Det finns flera tusen felanmälningar.

a) Kommer en vanlig databashanterare att kunna hantera dessa datamängder? Motivera svaret!

b) Bör man skapa index, och i så fall vilka? Hur vet man att just dessa index ska skapas?

c) Vad är egentligen ett index?

d) Och, när man pratar om relationsdatabaser, vad är en relation?

Uppgift 5 (3 p)

Ange tre olika databashanterare. Skriv för var och en åtminstone någon egenskap som skiljer den från de andra.

Uppgift 6 (5 p)

Här är fem påståenden om databaser. Det kan hända att en del av dem är fel.
Ange för varje påstående om det är rätt eller fel. Om det var fel, förklara varför det är fel, och hur det egentligen är.

a) En av fördelarna med att använda databasteknik är att det är lätt att göra ändringar i databasens struktur, till exempel genom att lägga till en ny kolumn i en tabell.

b) Den så kallade tre-schema-arkitekturen går ut på att en och samma databas kan beskrivas på tre olika nivåer: den tekniska nivån, med SQL och tabeller, den organisatoriska nivån, och den haptiska nivån.

c) På webben är det vanligt att man låter en webbplats lagra data i en databas. Det går att lagra data på andra sätt, till exempel i vanliga filer, men det blir enklare med en databashanterare.

d) En databas brukar ha ett explicit schema, som är en beskrivning av vilka data som man kan lagra i databasen. Schemat lagras i databasen på samma sätt som andra data, och kan till exempel beskriva vilka tabeller som finns i databasen.

e) Det finns en SQL-standard som alla databashanterare följer, och därför kommer SQL-frågor att fungera exakt likadant om man byter från en databashanterare till en annan. Det som skiljer databashanterarna åt är pris och snabbhet, men språket SQL är likadant i alla.