Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik kl

Relevanta dokument
Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik kl

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

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

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

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

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 19 april 2002, kl 14-18

Tentamen i Databasteknik

TDDI60 Tekniska databaser

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

TDDI 60 Tekniska databaser

Tentamen. TDDB38 - Databasteknik

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

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

Tentamen plus lösningsförslag

Tentamen i Databasteknik

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

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

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

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

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

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

Lösningsförslag, tentamen i Databaser

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

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

Tentamen i. Databasteknik

Databasteknik för D1, SDU1 m fl

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

Lösningsförslag till Exempel tentamen

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

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

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

Databasteknik för D1, SDU1 m fl

Tentamen Databasteknik

Funktionella beroenden - teori

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

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

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen i Databasteknik

Lösningsförslag till Tentamen,

Inga hjälpmedel är tillåtna

Tentamen för DD1370 Databasteknik och informationssystem

Konceptuella datamodeller

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

Tentamen DATABASTEKNIK - 1DL116

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

Lösningar till tentamen i EDAF75

Exempel-Tentamen III

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

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

Databaser. Vad du ska lära dig: Ordlista

Tentamen för DD1370 Databasteknik och informationssystem

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

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

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

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

Uppgift 1. (a) Ange tre orsaker hur felaktigheter i en databas kan uppsta. Till varje av dem, ange en lamplig metod som anvands som atgard mot dessa.

NORMALISERING. Mahmud Al Hakim

Universitetet: ER-diagram

Fiktiv tentamen för DD1370 Databasteknik och informationssystem

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

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

Databaser design och programmering Säkerhetsproblem Databashanteraren SQL-injektion

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen. Databasmetodik Lördag 27 september 2014 kl

Karlstads Universitet, Datavetenskap 1

Tentamen för DD1370 Databasteknik och informationssystem

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

Karlstads Universitet, Datavetenskap 1

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

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

Logisk databasdesign

Tentamen för DD1370 Databasteknik och informationssystem

Databaser Design och programmering

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

Databaser design och programmering. Design processen ER- modellering

Tentamen EDAA05 Datorer i system

Tentamen 2I1033, IT i Organisationer och Databasteknik lördag 17/4 2004, kl LÖSNINGSFÖRSLAG

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

Tentamen Databasmetodik DB:DSK/FK/DVK/ATD/SP/EIT mfl. äldre kurstillfällen Lördag 8 juni kl

Tentamen DATABASTEKNIK - 1DL116, 1MB025

Relationsdatabasdesign

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

Pga att (Nummer och Typ) tillsammans bestämmer övriga attribut funktionellt väljer vi (Nummer, Typ) till primärnyckel:

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

Databaser design och programmering. Transaktionshantering och säkerhet säkerhetsproblem fleranvändarproblem transaktioner låsning

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

2NF Hästnamn, KursId, StartDatum, SlutDatum KursId NY!, där RIDKURS.KursId = KURS.KursId 3NF Hästnamn, Art, NY! NY! NY! NY!

Mitthögskolan ITM Telefon Access. Laborationskompendium för grunderna i databasen Microsoft Access. Detta exemplar tillhör:

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Försättsblad till skriftlig tentamen vid Linköpings Universitet

Fillagring och indexering

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

Transkript:

LiTH, Linköpings tekniska högskola 1(6) IDA, Institutionen för datavetenskap Juha Takkinen 2008-05-22 Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik 2008-05-24 kl. 14 18 Lokal KÅRA, T1 och T2. 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 dels Juha Takkinen, tel. 0731-500 393, som besöker tentamenslokalen kl. 15, och dels Lena Strömbäck, tel. 0709-396 776, som besöker salen kl. 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å en fråga. Du kan svara på svenska eller engelska. Läs även instruktionerna på tentamensomslaget. Lycka till!

2(6) Del 1: Praktik 1. EER-modellering (6 p. totalt): Företaget IT.nu har specialiserat sig på att leverera IT-kurser som håller en avancerad, forskningsnära utbildningsnivå. Företaget har 30 lärare, alla med doktorstitel, och kan hantera upp till och med 100 deltagare per utbildningsperiod. Man har fem avancerade kurser i IT-teknik, som var och en hålls av ett lärarlag bestående av två eller flera lärare. Varje lärare kan vara med i max två lärarlag åt gången. Uttagningen av lärarlagen före varje utbildningsperiod baseras på respektive lärares specialkunskaper. När en lärare inte undervisar så håller han eller hon på med forskning på företaget. Varje kursdeltagare kan gå max en avancerad kurs per utbildningsperiod. Skapa en EER-modell som håller reda på det som företaget IT.nu sysslar med enligt ovanstående beskrivning. Var noga med att motivera dina val av entiter och relationstyper samt attribut. Skriv ned alla antaganden som du gör om företagets data. Ange alla kardinaliteter. 2. Översättning till relationer (4 p. totalt): Se EER-diagrammet överst på nästa sida till relationer. Diagrammet föreställer en minivärld med hyresobjekt (strandtomt eller bergstomt), hyrestagare och avtal. a. Översätt EER-diagrammet till relationer. (3 p.) b. Föreslå en constraint som förhindrar att man hyr samma hyresobjekt två gånger under en och samma tidsperiod. (1 p.) För full poäng måste du motivera varför du har valt att översätta diagrammet på det sätt som du har gjort samt redovisa alla antaganden om bland annat constraints. Markera primärnycklar med heldragen understrykning och främmande nycklar med streckad understrykning i schemat, med en pekare från den främmande nyckeln till det/de attribut som den främmande nyckeln refererar till.

3(6) (0, N) (0,N) (1, 1)) (1, 1) 3. SQL (6 p. totalt): Företaget Sjung.nu säljer nedladdningsbar musik ( enheter ) och har implementerat följande relationer i sin databas. Primärnycklar är dubbelheldraget understrukna medan främmande nycklar är enkelheldraget understrukna. 1 KUND(Kundnr, Namn, Epost, Operativsystem, DefaultFilformat 2 ) KUNDORDER(Ordernr, Kundnr, Orderdatum, Ordertid, KolladAvAnstalldId, ForlagId, FilNedladdad 3, NedladdadDatum, NedladdadKlockslag) FORLAG(ForlagId, Namn, Pris) ANSTALLDA(AnstalldId, Namn, BorjatAr 4, SlutatAr 5, NarmasteChef 6 ) ORDERENHET(Ordernr, Enhetnr, Antal) ENHET(Enhetnr, Namn, Pris, Storlek 7 ) Formulera SQL-frågor för följande fall: 1. Relationen mellan främmande nycklar och primärnycklar anses här självförklarande, där inget är angivet. Fråga annars jourhavande lärare! 2. mp3, wma m.fl. 3. Boolesk ja/nej 4. Startår för anställd 5. Sista anställningsår 6. Närmaste chef är också anställd 7. Storlek i antal byte

4(6) a. Skapa tabellen ANSTALLDA (1 p.) b. Inför constraint i KUND att Operativsystem endast får vara Linux, WinXP, Vista eller MacOS. (1 p.) c. Antag att tabellen ORDERENHET finns i databasen men saknar informationen att Enhetnr ska vara främmande nyckel till Enhetnr i ENHET. Ange SQL-rad som inför detta. (1 p.) d. Lista namnet på varje musikfil som har sålts, tillsammans med antalet nedladdningar och intäkter för respektive fil. (3 p.) 4. Normalisering (4 p. totalt): För att vidareutbilda professionella golfspelare, som ju reser mycket och inte kan gå på ett universitet på normalt sätt, har Linköpings universitet för dessa personer börjat erbjuda distansundervisning. Golfspelarna kommer att kunna läsa flera olika inriktningar samtidigt. Nedan syns ett utdrag ur relationen i databasen som man kommer att använda. Namn Inriktning Lärare Lee Janzen Datalogi Donald Knuth Bobby Jones Datorsystem John von Neumann Horace Rawlins Datalogi Alan Turing Payne Stewart Kognitionsvetenskap George Boole Jack Nicklaus Datalogi Donald Knuth Payne Stewart Systemvetenskap Herbert Simon a. Ange primärnyckeln för relationen. (1 p.) b. Identifiera alla funktionella beroenden. OBS! Alla namn är unika i relationen. (1 p.) c. Är relationen i 3NF? Motivera ditt svar. Om inte, konvertera den till 3NF. (1 p.) d. Är relationen i BCNF? Motivera ditt svar. Om inte, konvertera den till BCNF. (1 p.)

5(6) Del 2: Teori 5. Relationsmodellen (4 p. totalt): Ange om respektive påstående nedan är sant eller falskt. Motivera gärna. Du får +1 p. för varje korrekt svar och 1 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. SQL-frågan SELECT * FROM R; ger samma tupler i svaret som SELECT * FROM R ORDER BY a; antaget att a finns i R. b. antag att relationen R(A, B, C, D, E) har de funktionella beroendena AB-->C, C-->B och D-->E. Då är en av supernycklarna ABD. c. SQL-frågan SELECT a, c FROM T WHERE b=c; motsvaras av uttrycket π b, c (σ a=c (T)) i relationsalgebra. d. SELECT * FROM R NATURAL JOIN S; ger samma resultat som SELECT * FROM R LEFT NATURAL JOIN S; antaget att R(a, b) och S(b, c) gäller. 6. Transaktioner (4 p. totalt): a. Vad menas med en serialiserbar transaktionsplan (eng. serializable transaction schedule)? Exemplifiera. (2 p.) b. I nedanstående transaktionsplan, lägg in läs- och skrivlås på sådant sätt att schemat följer ett tvåfaslåsningsprotokoll. Redogör också steg-för-steg vad som händer när schemat exekveras. Rita gärna. Notation: r1 = transaktion 1 läser, w1 = transaktion 1 skriver o.s.v. (2 p.) r1(c), r2(b), r3(a), w1(b), w2(a), w3(d) 7. Index (8 p. totalt): Ett företags kunddatabas innehåller 400 000 kunder (d.v.s. antal poster i kundtabellen). Varje kundpost är 1000 byte och nyckelfältet är personnumret. Blockstorleken är 4096 byte, filen lagras nonspanning. a. Vad blir blockfaktorn och hur många block behövs för att lagra filen? (2 p.) b. Hur många blockaccesser behövs för att hitta data om en kund givet att du har personnumret om filen är osorterad? (1 p.) c. Hur många blockaccesser krävs för att hitta en kund givet att du har personnumret om filen är sorterad på personnumret? (1 p.) Man vill förbättra prestandan genom att skapa ett index på fältet personnummer för tabellen. En indexpost har storleken 100 byte. Vilken typ av index kan användas och hur många blockesser krävs för att hitta en post om: d. Kunddatafilen är sorterad? (2 p.) e. Kunddatafilen är osorterad? (2 p.)

6(6) 8. Databasåterställning (4 p. totalt): Ett företag har råkat ut för en databaskrasch och måste återställa sin databas. Företaget använder omedelbar uppdatering där transaktionerna kan skriva till databasen före commit (variant 2). Följande loggfil finns sparad efter kraschen som beskriver allt som hänt sedan senaste backup av databasen: start_transaction A write A x 3 7 write A y 4 10 commit A checkpoint start_transaction B write B z 3 5 commit B start_transaction C write C x 3 8 crash Beskriv processen för återställning i följande fall. För full poäng måste du tala om vad som händer med varje transaktion i loggfilen: a. Hårddisken är intakt och all data som fanns på den finns kvar. (2 p.) b. All data från databasen som fanns på hårddisken, förutom loggfilen, är förstörd (2 p.)