Databasteknik
för D1, SDU1 m fl
lördag 15 december 2007 kl 14:00 - 18:00 i L001
Gäller som tentamen för:
DT1012 Datateknik A, Databasteknik, provkod 0100
DT1007 Datateknik A, Tillämpad datavetenskap, provkod 0310
DAT024 Databaskonstruktion, provkod 0300 (och 0100)
TDD121 Tillämpad datavetenskap A, provkod 0500 (och 0300)
Hjälpmedel: | Inga hjälpmedel. |
Poängkrav: |
Maximal poäng är 46.
För betyget 3 respektive G krävs 26 poäng. För den som följt kursen hösten 2007 ger varje i tid inlämnad inlämningsuppgift en extra poäng. Den som inte gått kursen hösten 2007, får dessa (fem) extrapoäng ändå. |
Resultat och lösningar: | Meddelas på kursens hemsida eller via e-post senast lördag 5 januari 2008. |
Visning: |
Tisdag 8 januari 2008 kl 15:00-15:30 i mitt rum (T2220).
Efter visningen kan tentorna hämtas på institutionen. Man kan också få sin rättade tenta hemskickad. |
Examinator och jourhavande: | Thomas Padron-McCarthy, telefon 070-7347013. |
Köksfirman Kök & Co säljer kök, och behöver en databas för att hålla reda på sin verksamhet. Det här är vad man behöver lagra i databasen:
ER-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å vad som är primärnyckel, och vilka referensattribut som finns och vad de refererar till.
Implementationen ska vara bra.
a) (1p) Vad är numren på det eller de kök som kund nummer 167 har köpt?
b) (2p) Vilka datum levererades de kök som innehåller skåptypen "grytskåp"?
c) (1p) Ange namnen på de skåptyper som inte ingår i några kök.
d) (3p) Hur många grytskåp har kunden som heter Öbo sammanlagt köpt i alla sina kök?
e) (3p) Vad är namnet på den kund som köpt flest kök?
Definiera gärna vyer om det underlättar, men skapa inte nya tabeller.
a) (3p)
Rita ett EER-diagram som innehåller de fem entitetstyperna sak, vass sak, rund sak, sax och boll.
b) (3p)
Översätt EER-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å vad som är primärnyckel, och vilka referensattribut som finns och vad de refererar till.
c) (1p)
Skriv en SQL-fråga som tar fram alla data om alla bollar.
Rum | Dag | Städare | Yta | Tid |
---|---|---|---|---|
Hallen | 2007-11-16 | Lisa | 4 | 2 |
Hallen | 2007-11-23 | Kalle | 4 | 2 |
Hallen | 2007-11-30 | Lisa | 4 | 2 |
Köket | 2007-11-16 | Lisa | 8 | 20 |
Köket | 2007-11-23 | Kalle | 8 | 20 |
Köket | 2007-11-30 | Lisa | 8 | 20 |
Sovrummet | 2007-11-16 | Lisa | 10 | 10 |
Sovrummet | 2007-11-23 | Kalle | 10 | 10 |
Sovrummet | 2007-11-30 | Lisa | 10 | 10 |
Badrummet | 2007-11-16 | Lisa | 4 | 20 |
Badrummet | 2007-11-23 | Kalle | 4 | 20 |
Badrummet | 2007-11-30 | Lisa | 4 | 20 |
Några observationer om tabellen:
a) (1p)
Vilka fullständiga funktionella beroenden finns i tabellen? (Rita gärna en figur.)
b) (2p)
Vilken är den högsta normalform som tabellen uppfyller? Motivera svaret.
c) (2p)
Visa på något problem som uppstår i tabellen, och som vi skulle sluppit med en högre grad av normalisering.
b) (1p) Visa med exempel hur de kan användas.
c) (1p) Grant och revoke kan kombineras med vyer. Varför gör man det?
d) (1p) Visa med ett exempel hur grant kan kombineras med en vy.