Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik 2008-08-11 kl. 14 18



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

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik kl

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

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

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

TENTAMEN TDDD12 Databasteknik 7 januari 2010, kl 14-18

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

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

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

TDDI60 Tekniska databaser

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

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

Tentamen ISGB01, ISGB24. Databasdesign 7,5 Poäng

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

Databasteknik för D1, SDU1 m fl

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

TDDI 60 Tekniska databaser

Konceptuella datamodeller

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

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

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

Tentamen i Databasteknik

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

Grunderna för relationsmodellen!

Karlstads Universitet, Datavetenskap 1

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

Skriftlig tentamen i kursen TDTS04 Datornät och distribuerade system kl. 8 12

Logisk databasdesign

Relationell databasdesign

Universitetet: ER-diagram

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

Databaser Design och programmering

Tentamen DATABASTEKNIK - 1DL116

NORMALISERING. Mahmud Al Hakim

Tentamen. TDDB38 - Databasteknik

Karlstads Universitet, Datavetenskap 1

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

Funktionella beroenden - teori

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Databaser design och programmering. Design processen ER- modellering

Tentamen plus lösningsförslag

Databaser - Design och programmering. Relationsmodellen. Relationer - som tabeller. Relationer som tabeller. Alternativa notationer: Relationsschema

Tentamen Databasteknik

Inga hjälpmedel är tillåtna

Tentamen. Databasmetodik Lördag 27 september 2014 kl

Programdesign, databasdesign. Databaser - Design och programmering. Funktioner. Relationsmodellen. Relation = generaliserad funktion.

Tentamen Databasmetodik DB:DSK/FK/DVK/ATD/SP/EIT mfl. äldre kurstillfällen 8 augusti 2013 kl. 9-13

Viktigt! Glöm inte att skriva Tentamenskod på alla blad du lämnar in.

Normalisering. Varför? För att åstadkomma en så bra struktur i databasen som möjligt med minimalt med dubbellagrad info.

Skriftlig tentamen i kursen TDTS0604 och TDTS43 Datornät och distribuerade system kl. 8 12

Databasdesign. E-R-modellen

Tentamen. i Databasteknik. lördagen den 13 mars Tillåtna hjälpmedel: Allt upptänkligt material

Idag. Databaskvalitet(??) Databaskvalitet... Databaskvalitet...

Skriftlig tentamen i kursen TDTS04 Datornät och distribuerade system kl

Databasteknik för D1, SDU1 m fl

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

Databaser design och programmering. Fö 2: Design processen, ER-modellering

Tentamen DATABASTEKNIK - 1DL116, 1MB025

Analytisk relationsdatabasdesign

Relationsmodellen. Relations modellen är idag den mest änvända datamodellen för kommersiella

Uppdelning. Relationell databasdesign, FB Teori Låt R vara ett relationsschema. R 1, R 2,..., R n är en uppdelning av

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

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

Introduktion till MySQL

Exempel-Tentamen III

Tentamen i Databasteknik

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python TDDE24 Funktionell och imperativ programmering del 2

Informationssystem och databasteknik

Lösningsförslag, tentamen i Databaser

Reducering till relationsscheman

! Webprogrammering. ! Databasteori och praktik. ! Fö, le, la + projekt. ! Examination (tenta, dugga + labb, ! Studera användarna och deras problem

Tentamen EIT:DB Databastmetodik 11/ kl Lösningsförslag

Inst. för Data- och Systemvetenskap SU Maria Bergholtz. Tentamen. 21/ kl Inga hjälpmedel är tillåtna (annat än ordbok).

Föreläsning 6: Normalisering & funktionella beroenden

Tentamen för DD1370 Databasteknik och informationssystem

Exempel tentamen. Skriv bara på en sida av pappret Skriv namn på varje papper Skriv läsligt, annars rättas inte tentamen Alla hjälpmedel är tillåtna

Lite om databasdesign och modellering

! Teori och praktik. ! Ändringar från förra året. ! Examination (tenta, projekt) LiU. ! Varför ni? ! Varför överhuvudtaget? LiU

Karlstads Universitet, Datavetenskap 1

Databaser och databasdesign. Den relationella modellen, normalisering och modellering (2)

Normalisering. Christer Stuxberg Institutionen för Informatik och Media

Relationsdatabasdesign

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

Tentamen i. Databasteknik

Testtentamen i kursen TDTS04 Datornät och distribuerade system vt 2009

Design och underhåll av databaser

Lösningsförslag till Tentamen,

Instruktioner - Datortentamen TDDE24 och TDDD73 Funktionell och imperativ programmering (i Python)

Databaser - Design och programmering

732G16: Databaser - Design och programmering

Databaser. Vad du ska lära dig: Ordlista

Webbprogrammering, grundkurs 725G54

Webprogrammering och databaser. 729G28 Webprogrammering och databaser. Kursöversikt. Praktisk info. Webprogrammering. Ändringar mot förra året

IT i organisationer och databasteknik

Transkript:

LiTH, Tekniska högskolan vid Linköpings universitet 1(5) IDA, Institutionen för datavetenskap Juha Takkinen Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik 2008-08-11 kl. 14 18 Lokal T2 och U1. Tillåtna hjälpmedel Inga. Resultat Resultatet publiceras inom tolv arbetsdagar i LADOK. Poänggränser Du kan få maximalt 40 poäng. För att få godkänt, betyg 3, krävs minst 10 poäng i respektive tentamensdel (Praktik och Teori). För betygen 4 och 5 krävs totalt 28 respektive 36 poäng. Lärarjour Under tentamenstiden finns möjlighet att ställa frågor och få förtydliganden från Juha Takkinen, tel. 0731-50 03 93, som besöker tentamenslokalen kl. 15 och 17. Instruktioner Ge relevanta och motiverade svar på endast det som efterfrågas. Poängavdrag kan ges för svar som ej är direkta svar på frågan. Du kan svara på svenska eller engelska. Du måste även läsa instruktionerna på det allmänna tentamensomslaget innan du lämnar in dina svar. Lycka till!

2(5) Del 1: Praktik 1. EER-modellering (4 p. totalt): Politikerna i landet Homulien vill införa en databas. Den ska innehålla information om varje riksdagsmedlems namn, hemkommun och partitillhörighet, hur länge han eller hon har varit medlem i det aktuella partiet och när personen ifråga blev invald i riksda-gen. En riksdagsmedlem som har varit med i tre år eller mer räknas som senior, annars junior. Databasen ska också lagra varje ärende som man röstar om: ärendenamn, röstningsdatum, godkänt-eller-ej (med {JA, NEJ} som domän) och ansvarig riksdagsledamot som skrev förslaget som man röstar om. För varje medlem ska också registreras hur denne röstade i varje förslag som har lagts fram (domänen är {JA, NEJ, BLANK, FRÅNVARANDE}). Skapa en EER-modell för detta. Motivera val av entiter och relationstyper samt attribut, skriv ned alla antaganden och ange alla kardinaliteter. 2. Översättning till relationer (6 p. totalt): a. Översätt ovanstående EER-diagram över en bokklubbs verksamhet till relationer. Markera primärnycklar med heldragen understrykning och främmande nycklar med streckad understrykning i ditt schema; den refererade tabellen och attributet måste anges. Om du har valt att inte använda standardreglerna från kursboken för översättning så måste du motivera ditt val. För full poäng är det viktigt att du bevarar alla villkor som impliceras av EER-diagrammet. b. Ange ett annat sätt att översätta förhållandet Member, Gold och Regular än det du valde i a) ovan. Ge också en motivering för vilket av sätten som är bäst att välja i detta sammanhang och varför. c. Utöver böcker ska guldmedlemmar (och endast guldmedlemmar) kunna köpa bokhyllor (eng. Bookshelf), som har ett pris, id och en färg. Dessutom vill bokklubben lagra fakta om varje medlems favoritboktyper (eng. Topic), som t.ex. historia, thriller, biografi och deckare. Utöka diagrammet med denna nya information. Du behöver inte rita om hela diagrammet, utan ange hur dina nya entiteter m.m. är kopplade till diagrammet.

3(5) 3. SQL (5 p. totalt). Antag att följande schema är givet: Member Name Birthdate Phone Senior Activity Name Date Participant Member Foreign key referring to Member(Name) Activity Foreign key referring to Activity(Name) Skriv SQL-frågor för följande fall: a. Lista namn på alla aktiviteter där seniora medlemmar deltar (har true i fältet Senior). b. Lista för varje aktivitet dess namn och antal deltagare från riktnummerområde 011. c. Lista namnen på alla aktiviteter som hålls den 11 augusti 2008 där det ej finns minst en deltagare som är senior (har true i fältet Senior). 4. Normalisering (5 p. totalt): a. Konvertera tabellen nedan till en relation som är i 1NF. Döp relationen till R1. b. Lista de funktionella beroendena i R1 och bestäm en kandidatnyckel. c. I din nya relation R1, ge ett exempel på en insättningsanomali och en borttagningsanomali. d. Vilken normalform har R1 efter din undersökning i b) ovan? e. Konvertera R1 till 3NF (om det behövs). Visa och motivera varje eventuell uppdelning i nya relationer som du gör. Artikelnr Beskrivning Försäljare Adress Pris 1324 Vevparti Cykelkomponenter Cykel & Sport 5768 Framgaffel Cykelkomponenter Larssons Cykel Cykel & Sport Karlstad Stockholm Karlstad Borås Stockholm 5460 1750 690 2545 3950

4(5) Del 2: Teori 5. Relationsmodellen (3 p. totalt): Ange om respektive påstående nedan är sant eller falskt. Du ska inte motivera. Du får +0,5 p. för varje korrekt svar och 0,5 p. för varje felaktigt svar, dock aldrig lägre än 0 p. totalt. Avstår du från att svara får du 0 p. a. Ett primärattribut kan tillhöra en kandidatnyckel. b. Antag att relationen R(A, B, C, D, E, F) har kandidatnycklarna A och AB. Då är ACF och ABCDEF exempel på supernycklar. c. För att hämta värdet på ett attribut för alla tupler i en relation så ska en selectoperation användas i relationsalgebrans frågespråk. d. För valfri relation R gäller att R * R = R. e. Ordningen på attributen i en relation är inte viktig. f. Ordningen på tuplerna i en relation är inte viktig. 6. Index (6 p. totalt) a. Studera tabellerna i SQL-uppgiften ovan (uppgift 3). Antag att Participant-tabellen är sorterad efter namn och de övriga är osorterade. Databasdesignern vill skapa index för Name i Member-tabellen och Member i Participant-tabellen. Vilket index är lämpligt i respektive fall? För varje fall, gör en enkel skiss som förklarar hur indexet ska designas. (4 p.) b. Beräkna antal diskaccesser som behövs för dina båda index i a) ovan. Antag att det finns 10 000 medlemmar och att varje medlemspost är 90 byte stor. För Participanttabellen existerar 100 000 deltagare och varje post är 50 byte stor. Diskblockstorleken är 500 byte och posterna lagras obrutna (eng. unspanning). Indexfältet är i båda fallen 10 byte stort. 7. Transaktioner (7 p. totalt) a. Förklara tvåfaslåsning (eng. two-phase locking). Ge ett exempel. Varför används denna teknik? b. Ge exempel på fyra problem som skulle kunna uppstå om man tillät samtidiga transaktioner att exekvera på ett okontrollerat sätt och som motiverar att man inför samtidighetskontroll (eng. concurrency control) i ett databassystem. Ge ett exempel för varje problem. (4 p.) c. Vad menas med svältning (eng. starvation) i transaktionssammanhang? 8. Databasåterställning (4 p. totalt)

5(5) Givet följande transaktioner: T1 T2 T3 T4 (skulle ha velat fortsätta) checkpoint systemkrasch Tid a. Hur ser datafilen ut vid kraschen, d.v.s. vad kan du säga om vilken data som finns lagrad på hårddisken om uppskjuten (eng. deferred) uppdatering används? om omedelbar (eng. immediate) uppdatering används? För omedelbar uppdatering kan du välja valfri variant. b. Hur sker återställning (eng. recovery) för de olika transaktionerna i de fall som du har beskrivit i a) ovan?