Tentamen DATABASTEKNIK - 1DL116, 1MB025

Relevanta dokument
Tentamen DATABASTEKNIK - 1DL116

Tentamen DATABASTEKNIK - 1DL116, 1MB025, 1DL124

Svar till tentamen DATABASTEKNIK - 1DL poäng

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

Konceptuella datamodeller

Tentamen. TDDB38 - Databasteknik

Tentamen DATABASE TECHNOLOGY - 1MB025

Tentamen DATABASTEKNIK - 1DL116, 1MB025

NORMALISERING. Mahmud Al Hakim

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

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

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

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

Tentamen DATABASTEKNIK - 1DL116, 1MB025

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

Databaser och Datamodellering Foreläsning IV

Design och underhåll av databaser

Tentamen i Databasteknik

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

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik kl

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen i Databasteknik

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

Tentamen för DD1370 Databasteknik och informationssystem

Database course summary

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

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

Databasteknik för D1, SDU1 m fl

Structured query language (SQL)

Tentamen för DD1370 Databasteknik och informationssystem

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

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

TENTAMEN TDDD12 Databasteknik 7 januari 2010, kl 14-18

Tentamen för DD1370 Databasteknik och informationssystem

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

Exempel-Tentamen III

Lösningsförslag till Exempel tentamen

Databasföreläsning. Del 2 lagrade procedurer, vyer och transaktioner

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

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

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

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

Webbprogrammering, grundkurs 725G54

Final Exam DATABASE TECHNOLOGY - 1DL300

Tentamen för DD1370 Databasteknik och informationssystem

Normalisering. Christer Stuxberg Institutionen för Informatik och Media

Karlstads Universitet, Datavetenskap 1

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

Vad är en databas? Exempel på databaser: Databas = Organiserad samling och lagring av information.

Databasteknik för D1, SDU1 m fl

Databaser - Design och programmering. Kursöversikt. Exempel: telefonbok. Varför databaser?

Karlstads Universitet, Datavetenskap 1

TDDI 60 Tekniska databaser

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

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

Sample exam questions. Database exam TIG058

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

TDDI60 Tekniska databaser

Tentamen plus lösningsförslag

Lösningar till tentamen i EDAF75

Lösningsförslag, tentamen i Databaser

Tentamen DATABASTEKNIK - 1DL116

08/12/14. Databasteknik och informationssystem DD1370. Behövs Föreläsning 8? Kursens (återstående) mål Dagens föreläsning

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

Rättningsmall tenta den 25e oktober Uppgift 1. Uppgift 2. se slides

Logisk databasdesign

3. Dynamiska webbplatser, 20 Yhp (4 v)

Karlstads Universitet, Datavetenskap 1

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik)

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

Uppstart Inloggning SSMS Skapa Databas Skapa Tabell Skapa Diagram, Fk, RI Hantering av Index, Pk, Fk, Ix Constraints Beräknande fält Några funktioner

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen i. Databasteknik

Varför ska man lära sig sånt? Välkomna. Vad är databaser bra till? Kursansvarig. till kursen. Databasteknik och informationssystem

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

Fiktiv tentamen för DD1370 Databasteknik och informationssystem

Varför ska man lära sig sånt? Välkomna. Vad är databaser bra till? Kursansvarig. till kursen. Databasteknik och informationssystem

Starta MySQL Query Browser

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

Tentamen. Databasmetodik Lördag 27 september 2014 kl

Mål med lektionen! Veta kursmålen. Ha kännedom om några av de grundläggande begreppen.

Introduktion till databaskursen. Välkomna. till kursen. Databasteknik och informationssystem. DD1370 (kursomgång dbtinf12)

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

Föreläsning 6: Normalisering & funktionella beroenden

Disposition. 1. Kopplingen mellan Processanalys (DFDdiagram) 2. Treskikts Client-Server arkitektur (Fig 1.8) 3. Data layer

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

Grunderna för relationsmodellen!

Introduktion till frågespråket SQL (v0.91)

Lösningsförslag till fiktiv tentamen för DD1370 Databasteknik och informationssystem

Databaser - Design och programmering

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

Labb LIVE. Exempelkod från föreläsningen. Plushögskolan Frågeutveckling inom MSSQL - SU14

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

Transkript:

Uppsala universitet Institutionen för informationsteknologi Kjell Orsborn, Tore Risch Tentamen 2004-08-16 DATABASTEKNIK - 1DL116, 1MB025 Datum...Måndagen den 16 Augusti, 2004 Tid...14:00-19:00 Jourhavande lärare...kjell Orsborn, tel. 471 11 54 eller 070 425 06 91 Hjälpmedel...miniräknare Anvisningar: Läs igenom hela skrivningen och notera eventuella oklarheter innan du börjar lösa uppgifterna. Förutom anvisningarna på skrivningsomslaget så gäller följande: Skriv tydligt och klart. Lösningar som inte går att läsa kan naturligtvis inte ge några poäng och oklara formuleringar kan dessutom misstolkas. Antaganden utöver de som står i uppgiften måste anges. Gjorda antaganden får förstås inte förändra den givna uppgiften. Skriv endast på en sida av papperet och använd ett nytt papper för varje uppgift för att underlätta rättning och minska risken för missförstånd. För godkänt krävs det cirka 50% av maxpoäng. 1

1. Databasterminologi: 2p Förklara följande begrepp i ett databassammanhang. (a) meta-data Meta data, or the database schema, include data about data, i.e. a description of the database stored in the system catalog. Meta-data consist of information about structure of files, type and storage format of each data item, various constraints on the data and other types of information about data such as authorization privileges and access statistics. For the relational model this include descriptions of the relation names, attribute names, data types, primary keys, secondary keys, foreign keys, other constraints, views, storage structures and indexes, and security and authorization information. (b) normalisering (eng. normalization) Normalisering är en formell metod för att analysera relationscheman som baseras på nycklar och funktionella beroendedn mellan attribut. Relationsscheman kan genom en serie tester normaliseras till någon av de normalformer som existerar (1nf, 2nf, 3nf, bcnf, etc.). Om ett schema ej uppfyller kraven för en viss nf så skapas nya delscheman genom att dela upp attributen i originalschemat så att dessa nya delschema kan uppfylla villkoren. Avsikten är bland annat att undvika partiell eller transitiva funktionella beroenden som kan orsaka olika uppdateringsproblem inkluderande: insättnings-, borttagnings-, och modifieringsproblem. Fördelar med normalisering är att man kan undvika uppdateringsproblem, redundans, och nullvärden. En nackdel med normalisering är att man får flera relationer att hålla reda på som kan försämra effektiviteten för vissa frågor då fler join-operationer kan behövas. 2. Datamodeller: 4p Hur representeras ER-modellens begrepp entitetstyp och attribut (eng. entity type och attribute) i följande datamodeller? (a) relations-datamodell (2p) I relationsmodellen representeras en entitetstyp som en relation (tabell) och entitetstypens attribut som attribut i relationen (en kolumn i tabellen). (b) objekt-orienterad datamodell (2p) I en objekt-orienterad datamodell representeras en entitetstyp som en klass (eller typ) och attribut som attribut hos klassen. 3. SQL: 4p Antag att vi i en databas har tre relationer (tabeller) med följande relationsscheman: PRODUKT(PID,NAMN,PRIS) DETALJ(DID,NAMN,TYP,VIKT) OMFATTAR(PID,DID,ANTAL), där xid betecknar nycklar. Det finns alltså flera olika produkter med olika pris som består av ett antal detaljer av olika typ och med olika vikt. OMFATTAR är här en flera-till-flera relation. 2

(a) Skapa en vy i SQL som omfattar all information från de 3 tabellerna. (2p) CREATE VIEW TOTPRODUKT AS SELECT P.PID, P.NAMN, P.PRIS, D.DID, D.NAMN,D.TYP,D.VIKT,O.ANTAL FROM PRODUKT P, DETALJ D DETALJ, OMFATTAR O WHERE P.PID = O.PID AND D.DID = O.DID; (b) Formulera följande fråga i SQL: Vad är totala vikten på varje produkt? (om den anses bestå av de ingående detaljernas sammanlagda vikt). (2p) SELECT P.PID, P.NAMN, SUM(D.VIKT * D.ANTAL) FROM PRODUKT P, DETALJ D, OMFATTAR O WHERE P.PID = O.PID AND D.DID = O.DID GROUP BY P.PID; SELECT PID, NAMN, SUM(VIKT * ANTAL) FROM TOTPRODUKT GROUP BY PID; 4. Join-operationer: 2p (a) Vad är en equijoin (1p) En equi-join är en är en sammansättning (join), alltså en sammansättning av två relationer till en ny relation i beaktande av ett sammansättningsvillkor, där sammansättningsvillkoret består av ett likhetsvillkor. (b) Vad är skillnaden mellan en equijoin och en naturlig join? (1p) Skillnaden mellan en equijoin och en naturlig join är att vid naturlig join så elimineras det andra av de redundanta attributen som ingår i join-villkoret. I en equi-join gärs ingen eliminering. 5. Transaktioner och samtidighetskontroll (eng. concurrency control): 4p (a) Vilken egenskap garanteras för transaktionerna i ett transaktionsschema som följer ett två-fas låsningsprotokoll (eng. two-phase locking protocol)? (endast namnet på egenskapen är ej tillräckligt för full poäng) (2p) serialiserbarhet (eng. serializable) (b) Vilken egenskap kan normalt ej garanteras för ett transaktionsschema som följer ett två-fas låsningsprotokoll? (endast namnet på egenskapen är ej tillräckligt för full poäng) (2p) frihet från dödlig låsning (eng. dead-lock) 6. Frågeoptimering: 5p 3

(a) Vad är ett oklustrat index (unclustered index)? (1 p) (b) Vad är kostnadsbaserad optimering?(1 p) (c) Vilka är de tre vanligaste join-metoderna? (3 p) 6a: Ett oklustrat index är ett index vars nycklar har annan sorteringsorning än raderna i tabellen. 6b: Kostnadsbaserad optimering optimerar databasfrågor genom att uppskatta kostnaden att utföra olika möjliga frågeexekveringsplaner. Den exekveringsplan med lägst uppskattad kostnad väljs för att utföra frågan. Kostnadsuppskattningarna baseras på statistik om databasen. Kostnadsbaserad optimering används av relationsdatabasoptimerare. 6c: Nested loop join Sort merge join Hash join 7. XML-databaser: 4p (a) Vad skiljer DTD från XMLSchema? (2 p) (b) Vilka är de två viktigaste frågespråken för XML? (2 p) 7a: Både DTD och XMSchema beskriver innehåll i XML-filer. XMLSchema är betydligt mer semantiskt rikt genom att man har understöd för många olika datatyper, arv och relationer mellan entiteter. DTDn har bara datatypen sträng och är mer likt en grammatik där man beskriver layout av tillåtna dokument. DTDn uttrycks i annat språk än XML, medan XMLSchema uttrycks i XML. 7b: XQuery och Xpath 8. Multimedia-databaser: 4p (a) Vilka fördelar har objekt-relationella databaser för att lagra multi-media data? (2 p) (b) Vad är en BLOB och vad används den till? (1 p) (c) Varför är RAID bra för att lagra multi-media data i databaser? (1 p) 8a: Man kan lagra komplexa objekt mot vars struktur man kan ställa effektiva optimerade databasfrågor. Man kan indexera innehållet i objekten. Komplexa objekt kan t.ex. vara filmer kan vara representerade som objekt bestående av scener bestående av bilder innehållande aktörer. 8b: BLOB = Binary Large Object är en datatyp för att lagra stora bitsträngar i relationsdatabaser utan att veta något om själva innehållet i BLOBen (t.ex. foton). Man kan således inte ställa frågor som filtrerar baserat på innehållet i en BLOB. 8c: RAID = Redundant Array of Inexpensive Discs tillåter att filer ligger lagrade i bitar spridda över flera diskar så att man snabbt kan läsa dem parallellt. överföringstiden av t.ex. bilder blir då snabbare än om allt ligger på en disk. 9. Databas APIn: 3p 4

(a) Beskriv skillnaden mellan JDBC och ODBC. (1 p) (b) Beskriv arkitekturen av ODBC. Illustrera med bild. (2 p) 9a: JDBC = Java DataBase Connectivity är ett gränsnitt mellan programmeringsspråket Java och SQL-baserade relationella databaser. ODBC = Open DataBase Connectivity är ett programmeringsspråksoberoende gränssnitt SQLgränssnitt. 9b: Se kompendium on-line. Lycka till! / Kjell och Tore 5