Tentamen ISGB01, ISGB24 Databasdesign 7,5 Poäng Datum: 2016-09-30 Tid: 08.15-13.15 Lärare: Peter Bellström, Katarina Groth, Johan Högberg Tentamen är på 40 poäng. Gränsen för Godkänd (G) är 20 poäng. Gränsen för Väl Godkänd (VG) är 30 poäng. OBS! Ange anonymitetskod frågenummer och sidnummer upptill på alla inlämnade blad Börja på nytt papper/ny sida för varje uppgift, skriv ditt svar endast på framsidan. LYCKA TILL!
Fråga 1 Datamodeller (2p) Man brukar dela in datamodeller i tre klasser. En av dessa är implementationsmodellen. Beskriv denna modell så noggrant du kan utifrån litteraturen. Vilken är den allra vanligaste implementationsmodellen? Fråga 2 3-schemaarkitekturen (2p) Namnge och beskriv kortfattat, utifrån litteraturen, de två typerna av dataoberoenden som finns mellan de olika nivåerna i Tre-schemaarkitekturen (externa nivån, logiska nivån, fysiska nivån). Fråga 3 Relationsmodellen (3p) Relationsmodellen är den idag mest använda datamodellen i databashanterare. Beskriv och förklara relationsmodellen så utförligt du kan. Fråga 4 Översättningsregler (6p) Nedanstående ER-modell, Bild 1, ska översättas till en relationsmodell enligt de 10 + 1 stegen som presenteras som kort kokbok i kurslitteraturen (Padron-McCarthy & Risch, 2005). Utför denna stegvisa översättning och beskriv tydligt vilka steg som du använder. Bild 1
Fråga 5 Normalisering (6p) I samband med databasdesign har du kommit i kontakt med normalisering som ett användbart verktyg för att skapa bättre databaser. I kurslitteraturen Databasteknik utgiven av Studentlitteratur och skriven av Padron-McCarthy & Risch (2005) beskriver författarna första normalformen som [ ] tabellen ska innehålla atomära värden, dvs högst ett värde per ruta (s. 221) andra normalformen som [ ] 1NF, plus att varje icke-nyckelattribut ska vara ffb av varje kandidatnyckel (s. 227) och tredje normalformen som [ ] 2NF, plus att inget ickenyckelattribut får vara ffb av något annat icke-nyckelattribut (s. 227). Din uppgift blir nu att tillämpa normalformerna så som de är beskrivna av Padron-McCarthy & Risch (2005) på uppgiften nedan (se tabell och text). I din redovisning skall du visa på hur tabellen/tabellerna ser ut i respektive normalform (primärnycklar skall strykas under och främmande nycklar skall markeras med en stjärna samt pil till det attribut det refererar tillbaka till) och hur du tillämpar respektive normalform för att normalisera tabellen/tabellerna till en högre normalform. För att erhålla mer information om vilka beroenden och regler som måste följas har du också intervjuat flera behovsägare i den aktuella verksamheten. Texten nedan är ett utdrag ur en sådan intervju: Hela vår verksamhet bygger på att hålla reda på vilket förlag som gett ut vilka böcker med vilka författare osv. Vi vet att en författare kan skriva flera böcker och varje bok faktiskt kan ha flera författare men vi vet också att en specifik bok bara kan ges ut av ett förlag och att vi behöver veta var en författare är skriven (gata, postnummer och ort) samt att vi verkligen inte vill ha någon onödig redundans i vår framtida databas. Javisst ja jag glömde nästan en sak: Postnummer är ett attribut som bestämmer ort. Nu tror jag att jag fått med allt.
FörfattarNr Namn Utdelningsadress Ort PostNr ISBN Titel Utgivningsår OrgNr Namn 1 Thomas Padron- Attributvägen 1 Stockholm 11765 1 Databasteknik 2005 1 Studentlitteratur McCarthy 2 Tore Risch Tuplevägen 3 Stockholm 11766 1 Databasteknik 2005 1 Studentlitteratur 3 C.J. Date Otimerarstigen 5 Stockholm 11767 2 An Introduction 2004 2 Addison Wesley to Database Systems 3 C.J. Date Otimerarstigen 5 Stockholm 11767 3 Foundation for 1998 2 Addison Wesley Object / Relational Databases 4 Hugh Darwen Instansgränd 7 Stockholm 11768 3 Foundation for Object / Relational Databases 1998 2 Addison Wesley
Fråga 6 SQL (10p) Utgå från tabellerna (Figur 1, 2 och 3) nedan. Skriv SQL-koden för att: 1. Lista alla handläggare och presentera resultatet exakt enligt figur 4. Se till att även sorteringsordningen stämmer (1p) 2. Lista alla handläggare och vilka ärenden de arbetat med. Resultatet ska presenteras exakt enligt figur 5. Missa inte kolumnrubrikerna (2p). 3. Lista alla handläggare som inte har haft någon kontakt med medborgare. Resultatet ska presenteras exakt enligt figur 5 (3p). 4. Vilka ärenden har upptagit sammanlagt mer än 40 minuter av handläggares tid. Resultatet ska presenteras exakt enligt figur 6. Se till att sorteringsordningen stämmer och missa inte kolumnrubrikerna (4p). Figur 1: Tabellen ärende Figur 2: Tabellen kontaktmedmedborgare Figur 3: Tabellen Handläggare Figur 4: Resultat från fråga 1 5
Figur 5: Resultat från fråga 2 Figur 6: Resultat från fråga 3 Figur 7: Resultat fråga 4 Fråga 7 Integritetsvillkor (2p) Två viktiga integritetsvillkor är enligt Padron-McCarthy & Risch (2005) nyckelvillkor och referensintegritetsvillkor. Med utgångspunkt i kurslitteraturen beskriv vad dessa integritetsvillkor innebär och får för konsekvens i samband med databasdesign. Fråga 8 Säkerhetsmekanismer (2p) I samband med säkerhet i databaser brukar man prata om valfria säkerhetsmekanismer (discretionary security control) och obligatoriska säkerhetsmekanismer (mandatory security control). Beskriv kortfattat för hur var och en av dessa säkerhetsmekanismer fungerar och vad som karaktäriserar var och en av dessa. 6
Fråga 9 Transaktioner (6p) a) När transaktioner inte hålls isolerade från varandra kan felet förlorade uppdateringar inträffa. Förklara tydligt vad detta innebär (3p) b) Nedanstående bild visar på vad som kan hända om olika typer av transaktioner råkar ut för en krasch. Nedanstående delfrågor är kopplade till bilden och du ska förklara följande: b1) Vad är loggfilens uppgift? (1p) b2) Det är inte alla av nedanstående transaktioner T1 till T5 som går att rädda från att gå förlorade vid kraschen. Vilka går att rädda och vad krävs för åtgärder? (2p) Fråga 10 Objektorienterade databaser (1p) Beskriv två utmärkande drag för objektorienterade databaser. 7