TENTAMEN TDDD12 Databasteknik 7 januari 2010, kl 14-18



Relevanta dokument
TENTAMEN. TDDD12 Databasteknik TDDD46 Databasteknik. 16 augusti 2010, kl 14-18

TENTAMEN TDDB77 Databaser och Bioinformatik 22 augusti 2006, kl 14-18

TENTAMEN TDDB77 Databaser och Bioinformatik 24 april 2004, kl 14-18

TENTAMEN TDDB77 Databaser och Bioinformatik 12 juni 2007, kl 14-18

TENTAMEN TDDB77 Databaser och Bioinformatik 19 april 2002, kl 14-18

An English version of the questions is found at the back of each page.

TENTAMEN TDDB77 Databaser och Bioinformatik 15 mars 2002, kl 14-18

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik kl

TENTAMEN TDDB77 Databaser och Bioinformatik 17 mars 2005, kl 8-12

Tentamen i Databasteknik

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik kl

TDDI 60 Tekniska databaser

TDDI60 Tekniska databaser

Tentamen DATABASTEKNIK - 1DL116

TDDB 48 Database technology

Tentamen. TDDB38 - Databasteknik

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor

Lösningsförslag, tentamen i Databaser

Databasteknik för D1, SDU1 m fl

Tentamen i Databasteknik

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Analytisk relationsdatabasdesign

Lär känna MS SQL 2008 / Övning. Observera. Tips. Förberedelse

Tentamen, EDA501 Programmering M L TM W K V

TER3. Försättsblad till skriftlig tentamen vid Linköpings universitet G28 TEN1 Webprogrammering och databaser Tentamen IDA 1 (7)

Tentamen Databasteknik

TENTAMEN För kursen. Databasteknik. Ansvarig för tentamen: Anna Palmquist. Förfrågningar: Anslås inom 3 veckor

Karlstads Universitet, Datavetenskap 1

Fillagring och indexering

Karlstads Universitet, Datavetenskap 1

Funktionella beroenden - teori

Tentamen i Databasteknik

Lösningar till tentamen i EDAF75

Concepts learned this far. ER till relationer. ER till relationer. ER till relationer. TDDD12 Database Technology

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor

Konceptuella datamodeller

Design och underhåll av databaser

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor

Föreläsning 4 Dagens föreläsning går igenom

Databasteknik för D1, SDU1 m fl

SQLs delar. Idag. Att utplåna en databas. Skapa en databas

Transaktioner och samtidighet

Tentamen plus lösningsförslag

Utveckling av webbapplikationer med.net, DVA213 (1 av 5)

Introduktion till MySQL

Starta MySQL Query Browser

Databaser Design och programmering Minnesteknik Minnesteknik, forts Utvecklingen Hårddisk Hårddisk, forts

Föreläsning 6: Normalisering & funktionella beroenden

NORMALISERING. Mahmud Al Hakim

Tentamen i. Databasteknik

Det är fullt tillåtet att göra laborationen innan laborationstillfället.

ÖVERVAKNING AV SQL SERVER

Databaser - Design och programmering. Minnesteknik. Minnesteknik, forts. Hårddisk. Primärminne (kretsteknik) Fysisk design av databasen

Logisk databasdesign

Tentamen DATABASTEKNIK - 1DL116, 1MB025

Databaser Design och programmering. Fysisk design av databasen att ta hänsyn till implementationsaspekter: minnesteknik filstrukturer indexering

KTH, NADA, Vahid Mosavat. 1. Flervalsfrågor (5p)

TDDD12 och TDDD46 Databasteknik. Lena Strömbäck

Kursens mål. Databasteknik TDDB48. Lärare. Kursorganisation. Laborationsinformation. Inlämning av laborationer. Responsible:

Tentamenskod: Tentamensdatum: Tid: 14:00-19:00. Inga hjälpmedel är tillåtna

Tentamen ISGB01 (delkurs i ISGB24) Databasdesign 7,5 Poäng

TTIT33 Scenario för Tema 3 i Termin 3

Prov i DAT 312: Algoritmer och datastrukturer för systemvetare

1.Lär känna MS SQL Observera. Tips. Förberedelse

Algebra och Diskret Matematik A (svenska)

Programmering för språkteknologer II, HT2014. Rum

Databaskunskap 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för:

Lösningsförslag för tentamen i Datastrukturer (DAT037) från

Denna laboration skapades för elever vid Roslagens Högskola men kan användas av vem som helst. Namnen på servrarna måste i så fall ändras.

Idag. Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

Algebra och Diskret Matematik A (svenska)

Transaktioner. 1. Transaktioner 2. Samtidighet ( concurrency ) och lås. 3. Deadlock. Kap. 17. Informatik B: Databashantering med SQL Server

ELEVHJÄLP. Diskussion s. 2 Åsikter s. 3. Källkritik s. 11. Fördelar och nackdelar s. 4. Samarbete s. 10. Slutsatser s. 9. Konsekvenser s.

Universitetet: ER-diagram

Webbprogrammering, grundkurs 725G54

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Databaser Design och programmering. Fysisk design av databasen att ta hänsyn till implementationsaspekter: minnesteknik filstrukturer indexering

Tentamen NDA01G Öppen för alla. Tentamenskod: Inga hjälpmedel är tillåtna

Minnesteknik. Minnen lämpliga för databaser. Minnesteknik, forts. Databaser design och programmering. temporärt/flyktig Snabbt Dyrt

Inlämningsverktyget i Fronter för lärare

Tentamen Datastrukturer (DAT036)

Databasdesign. E-R-modellen

Tentamen, EDAA10 Programmering i Java

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen för 1E1601. Måndag 10 mars 2003, kl Alla hjälpmedel tillåtna

Datalager och datautvinning

ÖVNING 10 2NF Hästnamn, KursId, StartDatum, SlutDatum KursId NY! 3NF Hästnamn, Art, NY! NY! NY! NY! KursId, StartDatum, SlutDatum KursId NY!

ADT Set, Map, Dictionary. Iteratorer TDDD86: DALGP. Tommy Färnqvist, IDA, Linköpings universitet

1 Skapa Tabell Skapa Relationer Redigera Relationer Redigera Fält i Tabell Lägga till Poster i Tabell...

Tentamen 4,5 hp Delkurs: Databaser och databasdesign 7,5hp Tentander: VIP2, MMD2, INF 31-60, ASP

Tentamen Datastrukturer (DAT036/DAT037/DIT960)

Manual för version V2

Tentamen i: Affärssystem och tjänsteorienterad arkitektur

Transkript:

Institutionen för datavetenskap Linköpings universitet TENTAMEN TDDD12 Databasteknik 7 januari 2010, kl 14-18 Jourhavande lärare: Jose M. Peña (1651) Poäng: Tentan består av 2 delar. För godkänd krävs 50% av maxpoäng på båda delar. Betygsräkningen baseras på det totala resultatet och inte på de olika delarna. Anvisningar: Förutom anvisningarna på skrivningsomslaget gäller följande. Skriv klart och tydligt. Börja varje fråga på en ny sida. Antaganden utöver de som står i uppgiften måste anges. (Gjorda antaganden får naturligtvis inte förändra den givna uppgiften.) Hjälpmedel: lexikon, miniräknare LYCKA TILL! 1(6)

Praktisk del (15 poäng) Uppgift 1. Datamodellering med EER diagram (5 p): Läs hela övningen innan du börjar. Så här efter jul så börjar den svåra delen av jultomtens arbete. Nu måste han reda ut alla klagomål på de julklappar han delat ut. Eftersom ha börjar tröttna på den här delen av sitt arbete vill han skapa en databas över vilka klagomål som skett. På det här sättet hoppas han kunna undvika klagomål och extraarbete kommande år genom att helt enkelt undvika att dela ut de presenter som kan leda till problem. Tomten behöver spara följande information: - Om givare och mottagare deras personnummer, namn och adress. Observera att de flesta personer naturligtvis både ger och får julklappar men att det finns personer som bara är givare eller mottagare. - Id och beskrivning av de saker som kan vara eller har varit innehåll får en gåva. - Information om de klagomål som kommit in, dvs. vem klagade, samt en text som beskriver problemet. Tomten går sedan igenom klagomålen och löser problemen, men för att ha lite mer information inför nästa år vill han spara följande information: - För varje lösning, en kort text och en kategorisering om vad som var problemet till ett av följande fall: o Huvudproblemet var gåvan, samt information om vad som getts bort. o Huvudproblemet var givare, samt information om vem som gett presenten. o Huvudproblemet var mottagaren, samt information om vem som fått presenten. Hjälp tomten att skapa ett ER/EER diagram för lösningen. Observera att det är viktigt för tomten att skilja på om en person orsakar klagomål som givare eller mottagare av presenter eller om det var själva gåvan som var problemet. För full poäng måste du ha en bra lösning på detta i ditt diagram. 2(6)

Uppgift 2. SQL (1 + 2 + 1 + 2 = 6 p): Studera följande relationstabeller som beskriver aktiviteter vid larmhändelser: Rescue Unit: UnitId Name Type OnMission 1 Ambulance1 Ambulance 1 2 Ambulance2 Ambulance NULL 3 Police1 Police 1 4 Police 2 Police NULL OnMission is a foreign key referring to MissionId. Mission: MissionId Description MissionStatus 1 Traffic accident InProgress 2 Robbery NEW 3 Fire Solved Person: PersonId Name InUnit 1 Kalle Karlsson 1 2 Lars Larsson 1 3 Per Persson 3 4 Jonas Jonsson NULL InUnit is a foreign key referring to UnitId Räddningsenheter är olika fordon som kan skickas ut på uppdrag (Mission). Ett fordon som har NULL i OnMission är för närvarande ledig för nya uppdrag. Uppdrag kan ha olika status, NEW för nyss inkomna, Inprogress om en enhet tilldelats uppdraget och solved när uppdraget är avklarat. För varje person visas i vilken enhet de befinner sig just nu. Personer som inte har någon enhet är lediga. Skriv SQL-frågor för att få svar på följande: a) Lista alla uppdrag som är pågående. (1p) b) Namnet på de personer som deltar i varje uppdrag, grupperat på uppdrag. (2p) c) Det totala antalet lösta uppdrag. (1p) d) För varje person lista vilken enhet han jobbar i och vilket uppdrag de är ute på. Observera att personer som är lediga och enheter som inte är på uppdrag måste vara med i listan. (2p) 3(6)

Uppgift 3. Översättning till relationer (3 + 1 = 4 p): Aatt A B o Ratt R M N C D 1 N S Satt a. Översätt EER-diagrammet till ett relationsschema. (Du måste följa algoritmen du lärde dig i kursen). b. Diskutera vilka fördelar och nackdelar din översättning har jämfört med alternativa översättningar. 4(6)

Teoretisk del (15 poäng) Uppgift 4. Normalisering (1 + 2 = 3 p): a. Bevisa att den additive/union inferensregeln följer ur de reflexive, transitive och augmentation inferensreglarna. b. Normalizera (1NF 2NF 3NF BCNF) relationen R(A, B, C, D, E, F, G, H) med funktionella beroende (eng. functional dependencies) {A BCDEFGH, BC A, C H, DE B, DE C, E F, F G}. Ange resultat och förklaring efter varje steg. Uppgift 5. Datastrukturer (1 + 1 + 2 = 4 p): Antag att vi har en tabell med 500 000 poster. Varje post är 400 byte lång. Databasen använder blockstorleken B = 4 096 bytes och posterna lagras obrutna (eng. unspanning). i) Hur många block behövs för att lagra tabellen i exemplet? ii) Antag att vi nu skapar en primärindex där varje indexpost tar upp 8 byte i minnesutrymme (4 byte för nyckeln och 4 byte för diskpekaren). Hur många block behövs för att lagra indexet? iii) Hur många block måste access:as för att hitta en post givet nyckeln a. när man inte använder något index alls, b. när man använder en primärindex. Uppgift 6. Transaktioner (2 + 2 = 4 p): a. Beskriv ACID-egenskaperna för transaktioner. Ange för varje egenskap vem/vilken del av databashanteringssystemet ska se till att egenskapen uppfylls. b. Förklara OCH ge exempel för lost update problem, dirty read problem, incorrect summary problem, unrepeatable read problem. Uppgift 7. Databasåterställning (3 + 1 = 4 p): a) Beskriv metoden för återställning med omedelbar uppdatering (eng. recovery with immediate update). Använd varianten som fungerar för systemloggen nedan. Använd systemloggen nedan för att exemplifiera metoden. Visa alla operationer som görs vid återställningen av databasen. I rätt ordning! b) Ger användningen av kontrollpunkter (eng. checkpoints) någon fördel i denna metod? Förklara ditt svar. Part of system log: Start-transaction T1 Write-item T1, A, 10 Start-transaction T2 Write-item T1, B, 10 Write-item T2, C, 10 Commit T1 Start-transaction T3 5(6)

Start-transaction T4 Write-item T3, D, 20 Write-item T4, E, 50 Write-item T2, C, 20 Commit T2 system crash 6(6)