TDDB48 Databasteknik

Relevanta dokument
Blueprint Den här planeringen skapades med Blueprints gratisversion - vänligen uppgradera nu. Engelska, La06 - Kursöversikt, 2015/2016.

Materialplanering och styrning på grundnivå. 7,5 högskolepoäng

TDDB 48 Database technology

Isolda Purchase - EDI

Preschool Kindergarten


1. Compute the following matrix: (2 p) 2. Compute the determinant of the following matrix: (2 p)

Information technology Open Document Format for Office Applications (OpenDocument) v1.0 (ISO/IEC 26300:2006, IDT) SWEDISH STANDARDS INSTITUTE

Adding active and blended learning to an introductory mechanics course

LUNDS TEKNISKA HÖGSKOLA Institutionen för Elektro- och Informationsteknik

FÖRBERED UNDERLAG FÖR BEDÖMNING SÅ HÄR

Om oss DET PERFEKTA KOMPLEMENTET THE PERFECT COMPLETION 04 EN BINZ ÄR PRECIS SÅ BRA SOM DU FÖRVÄNTAR DIG A BINZ IS JUST AS GOOD AS YOU THINK 05

1. Varje bevissteg ska motiveras formellt (informella bevis ger 0 poang)

Webbregistrering pa kurs och termin

denna del en poäng. 1. (Dugga 1.1) och v = (a) Beräkna u (2u 2u v) om u = . (1p) och som är parallell

Workplan Food. Spring term 2016 Year 7. Name:

Idag. Hur vet vi att vår databas är tillräckligt bra?

Tentamen DATABASTEKNIK - 1DL116, 1MB025

08/11/13. Databasteknik och informationssystem DD1370 F3. Ett urval ur databasen bestäms av en SQL-fråga. Påminnelse: Deadline på tisdag

EXTERNAL ASSESSMENT SAMPLE TASKS SWEDISH BREAKTHROUGH LSPSWEB/0Y09

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

TENTAMEN TDDD12 Databasteknik 7 januari 2010, kl 14-18

Module 6: Integrals and applications

Styrteknik: Binära tal, talsystem och koder D3:1

Discovering!!!!! Swedish ÅÄÖ. EPISODE 6 Norrlänningar and numbers Misi.se

8 < x 1 + x 2 x 3 = 1, x 1 +2x 2 + x 4 = 0, x 1 +2x 3 + x 4 = 2. x 1 2x 12 1A är inverterbar, och bestäm i så fall dess invers.

Immigration Studying. Studying - University. Stating that you want to enroll. Stating that you want to apply for a course.

Problem som kan uppkomma vid registrering av ansökan

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

Unit course plan English class 8C

Examensarbete Introduk)on - Slutsatser Anne Håkansson annehak@kth.se Studierektor Examensarbeten ICT-skolan, KTH

DVG C01 TENTAMEN I PROGRAMSPRÅK PROGRAMMING LANGUAGES EXAMINATION :15-13: 15

TDDB 38 Database technology

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

SVENSK STANDARD SS :2010

Protokoll Föreningsutskottet

Surfaces for sports areas Determination of vertical deformation. Golvmaterial Sportbeläggningar Bestämning av vertikal deformation

Writing with context. Att skriva med sammanhang

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

Beijer Electronics AB 2000, MA00336A,

CHANGE WITH THE BRAIN IN MIND. Frukostseminarium 11 oktober 2018

Make a speech. How to make the perfect speech. söndag 6 oktober 13

Module 1: Functions, Limits, Continuity

S 1 11, S 2 9 and S 1 + 2S 2 32 E S 1 11, S 2 9 and 33 S 1 + 2S 2 41 D S 1 11, S 2 9 and 42 S 1 + 2S 2 51 C 52 S 1 + 2S 2 60 B 61 S 1 + 2S 2 A

Chapter 1 : Who do you think you are?

Swedish adaptation of ISO TC 211 Quality principles. Erik Stenborg

Webbreg öppen: 26/ /

TDDI 60 Tekniska databaser

Grafisk teknik IMCDP IMCDP IMCDP. IMCDP(filter) Sasan Gooran (HT 2006) Assumptions:

This exam consists of four problems. The maximum sum of points is 20. The marks 3, 4 and 5 require a minimum

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

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

TDDI60 Tekniska databaser

Technique and expression 3: weave. 3.5 hp. Ladokcode: AX1 TE1 The exam is given to: Exchange Textile Design and Textile design 2.

LUNDS TEKNISKA HÖGSKOLA Inst. for Elektro- och Informationsteknik. SIGNALBEHANDLING I MULTIMEDIA, ETI265 Inlämningsuppgift 1 (av 2), Task 1 (out of 2)

CUSTOMER READERSHIP HARRODS MAGAZINE CUSTOMER OVERVIEW. 63% of Harrods Magazine readers are mostly interested in reading about beauty

Tentamen Databasteknik

Kvalitetsarbete I Landstinget i Kalmar län. 24 oktober 2007 Eva Arvidsson

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

Isometries of the plane

Kurskod: TAMS28 MATEMATISK STATISTIK Provkod: TEN1 05 June 2017, 14:00-18:00. English Version

Byggdokument Angivning av status. Construction documents Indication of status SWEDISH STANDARDS INSTITUTE

SVENSK STANDARD SS-ISO 8779:2010/Amd 1:2014

Support Manual HoistLocatel Electronic Locks

Arctic. Design by Rolf Fransson

SVENSK STANDARD SS-EN ISO 19108:2005/AC:2015

TENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 08:15 13:15

LARS. Ett e-bokningssystem för skoldatorer.

Kurskod: TAMS11 Provkod: TENB 28 August 2014, 08:00-12:00. English Version

Custom-made software solutions for increased transport quality and creation of cargo specific lashing protocols.

Lösningar till tentamen i EDAF75

FANNY AHLFORS AUTHORIZED ACCOUNTING CONSULTANT,

Stiftelsen Allmänna Barnhuset KARLSTADS UNIVERSITET

State Examinations Commission

Health café. Self help groups. Learning café. Focus on support to people with chronic diseases and their families

2.1 Installation of driver using Internet Installation of driver from disk... 3

Grafisk teknik IMCDP. Sasan Gooran (HT 2006) Assumptions:

Pre-Test 1: M0030M - Linear Algebra.

Analys och bedömning av företag och förvaltning. Omtentamen. Ladokkod: SAN023. Tentamen ges för: Namn: (Ifylles av student.

Två konstiga klockor

Questionnaire for visa applicants Appendix A

12.6 Heat equation, Wave equation

Idag. Hur skapar vi och underhåller en databas? Index? Vad är det och varför behövs de? Behöver jag bry mig om index?

Immigration Studera. Studera - Universitet. Ange att du vill anmäla dig. Ange att du vill anmäla dig till en kurs. Kurs.

Immigration Studera. Studera - Universitet. Ange att du vill anmäla dig. Ange att du vill anmäla dig till en kurs. Kurs. Typ av kurs.

Exempel på uppgifter från 2010, 2011 och 2012 års ämnesprov i matematik för årskurs 3. Engelsk version

Immigration Bank. Bank - General. Bank - Opening a bank account. Can I withdraw money in [country] without paying fees?

Särskild avgift enligt lagen (2012:735) med kompletterande bestämmelser till EU:s blankningsförordning

UTLYSNING AV UTBYTESPLATSER VT12 inom universitetsövergripande avtal

Särskild avgift enligt lagen (2000:1087) om anmälningsskyldighet för vissa innehav av finansiella instrument

Tentamen. TDDB38 - Databasteknik

and u = och x + y z 2w = 3 (a) Finn alla lösningar till ekvationssystemet

Byggritningar Ritsätt Fästelement. Construction drawings Representation of fasteners SWEDISH STANDARDS INSTITUTE

Collaborative Product Development:

Grafisk teknik. Sasan Gooran (HT 2006)

Särskild avgift enligt lagen (1991:980) om handel med finansiella

Kursutvärderare: IT-kansliet/Christina Waller. General opinions: 1. What is your general feeling about the course? Antal svar: 17 Medelvärde: 2.

Särskild avgift enligt lagen (2012:735) med kompletterande bestämmelser till EU:s blankningsförordning

Transkript:

Lena Strömbäck, ankn 2324 2003-05-06 Skriftlig tentamen i kursen TDDB48 Databasteknik Datum: 2003-05-06 Tid: 14-18 Lokal: GARN Hjälpmedel: Inga hjälpmedel tillåtna Poängränser: Tentamen består av två delar Den praktiska delen kräver 13 poäng för godkänt Den teoretiska delen kräver 13 poäng för godkänt För betyg 4 krävs ungefär 35 poäng För betyg 5 krävs ungefär 45 poäng Resultat annonseras inom två veckor. Jourhavande lärare: Lena Strömbäck, 0709-39 6776, 013-16 46 99, 013-28 23 24 Henrik André-Jönsson, 070-3547403, 28 29 58 En engelsk version av frågorna finns på baskidan av varje blad. Använd ett papper för varje fråga även om du bara skriver en rad på det. Skriv namn och personnummer på varje blad. Ge relevanta svar på frågorna. Poängavdrag kan ges för svar som inte är direkta svar på frågan.

Del 1: Praktisk Observera! Uppgift 1 till 3 på den här tentamen beskriver ett gemensamt problem. Det är här viktigt att ni utgår från svaret på föregående uppgift när ni löser nästa uppgift. Om ni av någon anledning inte har kunnat svara på den tidigare uppgiften så är det viktigt att ni noterar vilket ER-diagram vilka tabeller ni utgår från när ni löser de följande uppgifterna. 1. ER/EER modellering 7p Bok klubben Tegelstenen vill ha hjälp med att designa en databas. Nedan följer deras önskemål om vad systemet ska klara av. Skapa ett ER/EER diagram som uppfyller deras krav och motivera ditt design förslag så bra som möjligt. Följande information ska finnas med: Böcker som finns på lager: Författare, Utgivningsår, ISBN, Titel, Abstract, Antal exemplar som finns hemma. Böcker som inte finns på lager men som kan beställas: Författare, Utgivningsår, ISBN, Titel Böcker som inte finns på lager och som utgått: Författare, Utgivningsår, ISBN, Titel Många böcker ingår dessutom i serier, så för varje bok ska man kunna se om den ingår i en serie eller ej, och om den gör det så ska man kunna se vad serien heter och vilken del i serien boken är. Vidare vill man ha koll på sina kunder. Följande information måste lagras om varje kund: Kundnummer, Namn, Adress, Telefonnummer, inköpshistorik och beställda böcker. Varje gång en kund beställer ett antal böcker ska ordern registreras i systemet. För varje order är det viktigt att man noterar när ordern togs emot, vilka böcker som ingår i ordern, vem som beställt och när böckerna skickades till kunden. Notera att uppgiften kommer att bedömmas utifrån två perspektiv. Dels om ni har lärt er rätt syntax och dels om ni har gjort en bra lösning. Det är viktigt att ni skriver ner era antaganden och motiverar er lösning. 2. ER/EER till Relationer (7p) a. Gör om ER/EER-diagrammet ovan till relationer. Om du väljer att inte följa standardreglerna ska dina översättningar motiveras. Markera primär- och främmande nycklar i din lösning. (4p) b. Det finns fyra sätt att översätta arv. Vilka? Om du har arv i det diagram som du gjort motivera varför du valt den översättning du gjort, om inte så beskriv i vilka fall de olika översättningarna är bäst. (3p)

Part 1: Practical Note! The first three exercises on this exam contains a common problem. It is important that you use the answer of the preceding exercise while solving the following one. If you, for some reason do not do this, for instance if you have not been able to solve the preceeding exercise, it is important that you describe the ER-diagrams and tables you use for solving the exercises. 1. ER/EER modelling 7p A book club The Brick needs help to design a database. Their requirements on the system is described below. Create a ER/EER diagram that fulfills their requirements and motivate your suggestions. The following information have to be present in the database: Books in store: Author, Year of publication, ISBN, Title, Abstract, Number of books in store. Books in not in store but which can be ordered: Author, Year of publication, ISBN, Title Books not in store that are out of print: Author, Year of publication, ISBN, Title Many books are part of a series, for each book it should be possible to decide if it is part of a series. If the book is part of a series we need to store the name of the series and which number in the series the book is. The book club also need to store information about their customers. The following information need to be stored for each customer: Customernumber, Name, Address, Phone, History of purchases, List of ordered books. Each time a customer orders some books the order should be registered in the system. For each order it is important to note when the order was received, the books that are part of the order, who has ordered and when the books were sent to the customer. The exercise will be corrected both according to correct ER/EER syntax and if you have made a good design of your diagram. It is important that you write your assumptions and motivate your solution. 2. ER/EER to relations (7p) a. Transform the ER/EER diagram from exercise 1 to relations. If you choose to not follow the standard rules your translations should be motivated. Mark primary and foreign keys in your solution. (4p) b. There are four possibilities for translating inheritance. Which? If you have inheritance in your diagram motivate why you have translated it the way you have, if nocribe when each of the translations should be used. (3p)

3. SQL 6p Utgå från dina relationer i uppgift 2 och skriv SQL-uttryck för följande: a. Lägg in följande data: (2p) Böcker på lager: Författare Titel Utgivningsår ISBN Abstract Antal ex Serie/(del i ringen de två tornen konungens återkomst serien) 1945 1122 Ingen 23 Härskarringen/(1) 1946 1123 Ingen 21 Härskarringen/(2) 1947 1124 Ingen 18 Härskarringen/(3) Böcker som inte finns på lager: Författare Titel Utgivningsår ISBN Abstract Serie/(del i serien) J.K. De vises 1998 2211 Ingen Harry Potter/(1) Rowlings sten Böcker som utgått: Författare Titel Utgivningsår ISBN Abstract Serie/(del i serien) Gilles Bonde från Ham 1934 0321 Ingen - Följande kund: Peter, Storgatan 2, 111 22 Linköping, 013-98242 Följande order: Peter har beställt alla böckerna i härskarringen. b. Vilka böcker finns klara för omgående leverans? (1p) c. Vilken kund har handlat för näst mest pengar? (3p)

3. SQL 6p Use your relations from exercise 2 and write SQL statements for the following tasks: a. Add the following data to your relations: (2p) Books: Author Title Publ. Yaer ISBN Abstract Number of copies Series/part of the series ringen 1945 1122 Ingen 23 Härskarringen/(1) de två tornen konungens återkomst 1946 1123 Ingen 21 Härskarringen/(2) 1947 1124 Ingen 18 Härskarringen/(3) Books not in store: Author Title Publ. Year ISBN Abstract Series/part of the J.K. Rowlings De vises sten series 1998 2211 Ingen Harry Potter/(1) Books out of print: Author Title Publ. Year ISBN Abstract Series/part of the Toliken Gilles Bonde från Ham series 1934 0321 Ingen - The following customer: Peter, Storgatan 2, 111 22 Linköping, 013-98242 The following order: Peter has ordered all the books in Härskarringen. b. What books are available for immediate delivery? (1p) c. Who is the second best customer? (I.e. has purchased books for second most money.) (3p)

4. Normalisering (5p) Följande tabell beskriver en bussresearrangörs kundregister med bokade bussresor. BokNr Namn AvrDatum PersNr Resmål Längd Reskod 1234 Per 20030607 112233- Toscana 2 veckor TOSCVIN Persson 4455 1234 Stina 20030607 334455- Toscana 2 veckor TOSCVIN Persson 6677 5678 Pia 20030705 222222- Paris 5 dagar DISNEY5DGR Karlsson 3333 5678 Filip 20030705 111111- Paris 5 dagar DISNEY5DGR Karlsson 2222 5432 Karl Bonde 20030607 554433-2211 Toscana 2 veckor TOSCVIN Bokningsnumret (BokNr) är unikt för ett antal personer som bokat en resa tillsammans. Varje person har ett namn och ett personnummer (PersNr). Avresedatum (AvrDatum) talar om när resan ska påbörjas. Varje typ av resa har en reskod som unikt bestämmer resmål och längd på resan. (Dock kan samma reskod referera till flera likadana resor med olika avresedatum.) Normalisera tabellen ovan till BCNF. Det är viktigt att du redovisar antaganden och fullständiga funktionella beroenden samt motiverar varje steg i normaliseringsprocessen.

4. Normalisation (5p) The table below contains a bus travel agencys list of booked travels. BookNr Name Date PersNr Destin. Length Code 1234 Per 20030607 112233- Toscana 2 weeks TOSCVIN Persson 4455 1234 Stina 20030607 334455- Toscana 2 weeks TOSCVIN Persson 6677 5678 Pia 20030705 222222- Paris 5 days DISNEY5DGR Karlsson 3333 5678 Filip 20030705 111111- Paris 5 days DISNEY5DGR Karlsson 2222 5432 Karl Bonde 20030607 554433-2211 Toscana 2 weeks TOSCVIN The Booking number (BokNr) is unique for a group of persons that have booked their trip together. Each person has a name and a personal number (PersNr). Date is the date when the trip will begin. Each kind of trip has its own code that determines the destination (Destin.) and length of the trip. (The same code can refer to several trips with different startdates.) Normalise the table to BCNF. It is important that you describe your assumptions and full functional dependencies as well as all steps in the normalisation process.

Del 2: Teoretisk 5. Relationsmodellen (8p) Vad är relationen mellan följande begrepp. Beskriv och exemplifiera. a. Supernyckel och kandidatnyckel (bara nyckel enligt Riccardi) b. Kandidatnyckel och primärnyckel c. Kandidatnyckel och primära attribut d. Referensintegritet och främmande nycklar 6. Relationsalgebra (3p) Antag att vi har tabellerna R(a, b, c,) bestående av n rader och S(d, e, f, g) bestående av m rader. a. Skriv uttrycket i relationsalgebra för att göra join på R och S över R.a = S.f. (1p) b. Vad är det minimala och maximala antalet rader som detta uttryck producerar? När produceras minimalt och maximalt antal rader? (2p) 7. Optimering (5p) a. Hur fungerar en heuristisk frågeoptimerare? Beskriv den heuristiska frågeoptimeringsalgoritmen. (Optimization of complex expressions i Riccardi) (3p) b. Vad är syftet med den heuristiska frågeoptimeringen? (2p) 8. Datastrukturer (6p) Givet följande data: Non-spanning data block, en block storlek på 10 bytes, en pekarstorlek på 2 bytes och följande tupel storlek: Pnum 2 bytes, Name 4 bytes, Jobcode 1 byte. Databasen innehåller 1000 element. a. Hur ser ett primärindex (index by primary key enligt Riccardi) på Pnum ut? (1p) b. Visa hur många blockaccesser behövs för att hitta en person givet ett Pnum. (2p) c. Hur ser ett sekundärindex på Jobcode ut? (1p) d. Visa hur många blockaccesser behövs för att hitta alla personer som har Jobcode = 4 om man använder ditt index från uppgift c. (2p) 9. Recovery (3p) a. Förklara vad som händer vid en kontrollpunkt (checkpoint) (1p) b. Vad innebär det att en transaktion är återställningsbar (recoverable)? Ge exempel på en transaktion som inte är återställningsbar och förklara varför den inte är det. (2p)

Part 2: Theoretical 5. Relational model (8p) How are the following terms related. Describe and give examples. a. Super key and candidate key b. Candidate key (only key in Riccardi) and primary key c. Candidate key and primary attributes d. Referential integrity and foreign keys 6. Relational algebra (3p) Suppose we have the tables R(a, b, c,) consisting of n rows and S(d, e, f, g) consisting of m rows. a. Write the relational algebra expresssion for the join of R and S on R.a = S.f. (1p) b. What are the minimum and maximum number of rows the expression produces. In what circumstances does it produce that number of rows. (2p) 7. Optimisation (5p) a. How does heuristic query optimisation work? Describe the algorithm for heuristic query optimisation. (Optimization of complex expressions in Riccardi) (3p) b. What is the purpose of heuristic query optimisation? (2p) 8. Data structures (6p) Assume the following data: Non-spanning data block, block size 10 bytes, pointer size 2 bytes, the following tuple: Pnum 2 bytes, Name 4 bytes, Jobcode 1 byte. The database contains 1000 elements. a. What would a primary index (index by primary key in Riccardi) on Pnum look like? (1p) b. Show how many block accesses are needed to find a person given a Pnum. (2p) c. What would a secondary index on Jobcode look like? (1p) d. Show how many block accesses are needed to find all persons with Jobcode=4 using your index from c. (2p) 9. Recovery (3p) a. Explain the actions taken at a checkpoint (1p) b. What does it mean that a transaction is recoverable? Give an example of a transaction that is not recoverable and explain why it is not. (2p)