Databasteknik
för D1, SDU1 m fl
onsdag 21 augusti 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 30.
För betyget 3 respektive G krävs 15 poäng. |
Resultat: | Meddelas på kursens hemsida eller via e-post senast onsdag 11 september 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. |
Bilar | |||
---|---|---|---|
Bilnummer | Märke | Årsmodell | |
RFN 540 | Renault | 1999 | |
PXT 158 | Citroen | 2010 | |
JHR 109 | Citroen | 2008 |
Svampar | |||
---|---|---|---|
ID | Art | Bil | |
1 | Karl-Johan | PXT 158 | |
2 | kantarell | JHR 109 | |
5 | fotsvamp | null | |
4 | Karl-Johan | PXT 158 |
Rabarber | |||
---|---|---|---|
ID | Vikt | Bil | |
1 | 1.03 | JHR 109 | |
4 | 1.16 | JHR 109 | |
3 | 2.14 | null | |
6 | 1.16 | RFN 540 |
De understrukna attributen är primärnyckel i respektive tabell. Bil är referensattribut och refererar till tabellen Bilar.
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.
a) Vad är arterna på de svampar som finns i bilen med registreringsnummer RFN 540?
b) Vad är ID-numren på de svampar som finns i bilar av märket Citroen?
c) Vad är den sammanlagda vikten av alla rabarber som finns i bilar av märket Renault?
d) Hur många svmpar finns det i varje bil? Med de exempeldata som gavs i scenariot vill vi ha ett resultat som ser ut så här:
Bilnummer | Antal |
---|---|
RFN 540 | 0 |
PXT 158 | 2 |
JHR 109 | 1 |
start transaction; insert into Svampar values (171, 'skivsopp', 'RFN 540'); insert into Svampar values (172, 'strutskivling', 'RFN 540'); insert into Svampar values (173, 'gnölfläs', 'PXT 158'); commit;
a)
Antag att strömmen går precis efter att det första insert-kommandot körts, och databasservern stannar. Hur kommer tabellen Svampar att se ut när systemet har startats om?
b)
Antag att strömmen går precis efter att commit-kommandot körts, och databasservern stannar. Hur kommer tabellen Svampar att se ut när systemet har startats om?
c)
Vad händer om man i stället för commit ger kommandot rollback? Hur kommer tabellen Svampar att se ut?
d)
Antag att precis innan vi skriver commit så är det någon annan som loggar in i databasen och skriver det här kommandot:
insert into Svampar values (171, 'smörsopp', 'PXT 158');
Vad händer?
Bilnummer | Märke | Årsmodell | Svamp-ID | Svampart | Rabarber-ID | Rabarbervikt |
---|---|---|---|---|---|---|
PXT 158 | Citroen | 2010 | 1 | Karl-Johan | null | null |
JHR 109 | Citroen | 2008 | 2 | kantarell | null | null |
null | null | null | 5 | fotsvamp | null | null |
PXT 158 | Citroen | 2010 | 4 | Karl-Johan | null | null |
JHR 109 | Citroen | 2008 | null | null | 1 | 1.03 |
JHR 109 | Citroen | 2008 | null | null | 4 | 1.16 |
null | null | null | null | null | 3 | 2.14 |
RFN 540 | Renault | 1999 | null | null | 6 | 1.16 |
Förklara vilka problem som finns med detta nya schema!
Om man använder sig av normalformer i svaret, räcker det inte med att säga att tabellen "inte uppfyller normalformen", utan man måste förklara vad problemen är.
a) ett index och en primärnyckel
b) en primärnyckel och en främmande nyckel
c) ett ER-diagram och ett EER-diagram
d) ett schema och en vy
e) en relation och en tabell