Databasteknik
för D1 m fl
tisdag 15 mars 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 35. För betyget 3 respektive G krävs 18 poäng, samt minst fyra poäng på uppgift 1 och minst fem poäng på uppgift 2. |
Resultat: | Meddelas på kursens hemsida eller via e-post senast tisdag 5 april 2016. |
Återlämning av tentor: | Elektroniskt via Studentforum. |
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 heter den eller de pizzabagare som har telefonnummer 070-73 47 013?
b) Här har vi en pizza som heter Entrecote-båt. Vad kostar den?
c) Vad heter de ingredienser som pizzan Entrecote-båt innehåller?
d) Hur många pizzor finns i prisklass 1? Vi vill alltså veta antalet, inte vilka det är.
e) Vad heter den dyraste pizza som innehåller kantareller?
a) Vilka index är det nödvändigt att skapa? Motivera svaret!
b) Föreslå en databashanterare som kan vara lämplig att använda. Motivera varför den är lämplig!
Vi startar två olika klientprogram som kopplar upp sig mot databasservern, och ger följande SQL-kommandon, i den angivna ordningen, i de två klienterna. Vad blir resultatet av var och en av de tio select-frågorna?
Klient 1 | Klient 2 |
---|---|
create table Djur
(Nummer integer not null primary key, Namn char(10) not null); insert into Djur values (1, 'Struts'); select * from Djur; -- Fråga 1 |
|
select * from Djur; -- Fråga 2
insert into Djur values (2, 'Varg'); | |
select * from Djur; -- Fråga 3
start transaction; insert into Djur values (3, 'Ko'); select * from Djur; -- Fråga 4 |
|
select * from Djur; -- Fråga 5 | |
rollback;
select * from Djur; -- Fråga 6 |
|
select * from Djur; -- Fråga 7 | |
start transaction;
insert into Djur values (4, 'Äpple'); |
|
select * from Djur; -- Fråga 8 | |
commit;
select * from Djur; -- Fråga 9 |
|
select * from Djur; -- Fråga 10 |
a) relation
b) referensintegritet
c) null
d) XML
e) yttre join