Databasteknik för civilingenjörer
onsdag 3 januari 2018
Gäller som tentamen för:
DT504G Databasteknik för civilingenjörer, provkod 0100
Hjälpmedel: | Ordbok för översättning. |
Poängkrav: | Maximal poäng är 34. För godkänt betyg krävs 19 poäng, varav minst fyra poäng på uppgift 1 och minst fyra poäng på uppgift 2. |
Resultat: | Meddelas på kursens hemsida eller via e-post senast onsdag 24 januari 2018. |
Återlämning av tentor: | Elektroniskt via Studentforum. |
Examinator och jourhavande: | Thomas Padron-McCarthy, telefon 070 - 73 47 013. |
Som vi vet var det Donald Trump som vann presidentvalet i USA förra året. Han besegrade Hillary Clinton.
Media, och anhängare till Hillary Clinton, talar mycket om att det förekommit hemligt samarbete mellan Ryssland och personer som deltog i Donald Trumps valkampanj. Anhängare till Donald Trump talar hellre om samarbetet mellan Ryssland och personer som deltog i Hillary Clintons valkampanj.
Nu ska den amerikanska federala polisen, FBI, försöka utreda alltihop. FBI behöver förstås en databas. Det som ska lagras i databasen är personer, vilka personer som arbetar för andra personer, vilka möten som skett, och vilka personer som deltog på de olika mötena.
Det man behöver hålla reda på är, mer detaljerat, 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) (1p) Vilket nummer har personen som heter Hillary Clinton?
b) (1p) Vilka nummer har Hillary Clinton och Donald Trump? (Det ska bara vara en fråga, inte två olika.)
c) (1p) Vilka personer har namn som börjar på Vladimir? Vi vill veta de personernas nummer och namn.
d) (2p) Vad heter de personer som arbetar direkt för Donald Trump?
e) (2p) Vad heter de personer som aldrig varit på några möten?
f) (3p) Vad heter de personer som arbetar för minst två andra personer?
a) Ange vilka index man bör skapa för att den frågan ska gå snabbare att köra.
b) Ange ett index som inte skulle göra den frågan snabbare, och förklara varför det inte förbättrar tiden.
Personer | |||||
---|---|---|---|---|---|
ID | Namn | Nationalitet | Telefon | ||
1 | Anna Andersson | Sverige | 019-94639,0158-20270,070-7347013 | ||
2 | Bertil Boström | Sverige | 0158-20340 | ||
3 | Cecilia C Carlsson | Sverige | 08-222000,019-94639 | ||
4 | Cecilia C Carlsson | Sverige | 047-131000,0158-20340 | ||
5 | Donald Duck | USA | null |
a) Vilka fullständiga funktionella beroenden finns i tabellen?
b) Vilken är den högsta normalform,
av 1NF, 2NF, 3NF och BCNF, eller ingen av dessa, som tabellen uppfyller?
c) Varför uppfyller tabellen inte den närmast högre normalformen?
d) Beskriv något problem som finns i den här tabellen,
och som man skulle slippa med en högre normalform.
a) Trigger
b) Transaktion
c) Tre-schema-arkitekturen
d) Lagrad procedur
e) Cursor