TDDB 48 Database technology



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

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

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

TENTAMEN TDDD12 Databasteknik 7 januari 2010, kl 14-18

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

Beijer Electronics AB 2000, MA00336A,

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

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

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

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

TDDB 38 Database technology

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


SVENSK STANDARD SS :2010

Preschool Kindergarten

Webbregistrering pa kurs och termin

EVALUATION OF ADVANCED BIOSTATISTICS COURSE, part I

Workplan Food. Spring term 2016 Year 7. Name:

Isolda Purchase - EDI

Webbreg öppen: 26/ /

Support Manual HoistLocatel Electronic Locks

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

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

LARS. Ett e-bokningssystem för skoldatorer.

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

Writing with context. Att skriva med sammanhang

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

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

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

Questionnaire for visa applicants Appendix A

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

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

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

Kurskod: TAIU06 MATEMATISK STATISTIK Provkod: TENA 15 August 2016, 8:00-12:00. English Version

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.

Module 6: Integrals and applications

Adding active and blended learning to an introductory mechanics course

CHANGE WITH THE BRAIN IN MIND. Frukostseminarium 11 oktober 2018

Grammar exercises in workbook (grammatikövningar i workbook): WB p 121 ex 1-3 WB p 122 ex 1 WB p 123 ex 2

Viktig information för transmittrar med option /A1 Gold-Plated Diaphragm

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

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

EXTERNAL ASSESSMENT SAMPLE TASKS SWEDISH BREAKTHROUGH LSPSWEB/0Y09

Protokoll Föreningsutskottet

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

Calculate check digits according to the modulus-11 method

The Swedish National Patient Overview (NPO)

Isometries of the plane

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

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

Support for Artist Residencies

Tentamen i Matematik 2: M0030M.

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

Det finns en handledning till kortet på hemsidan. AVR STK500.

Studieteknik för universitetet 2. Books in English and annat på svenska

Enterprise App Store. Sammi Khayer. Igor Stevstedt. Konsultchef mobila lösningar. Teknisk Lead mobila lösningar

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

Kursplan. FÖ3032 Redovisning och styrning av internationellt verksamma företag. 15 högskolepoäng, Avancerad nivå 1

Application for exemption - Ansökan om dispens

Collaborative Product Development:

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

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

Teknisk rapport SIS-TR 18:2007 Publicerad/Published: Utgåva/Edition: 1 Språk/Language: svenska/swedish ICS: ;

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

UTLYSNING AV UTBYTESPLATSER VT12 inom universitetsövergripande avtal

Family appendix for applicants Appendix D

Användning av Erasmus+ deltagarrapporter för uppföljning

Skyddande av frågebanken

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

Module 1: Functions, Limits, Continuity

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

PORTSECURITY IN SÖLVESBORG

RUP är en omfattande process, ett processramverk. RUP bör införas stegvis. RUP måste anpassas. till organisationen till projektet

FANNY AHLFORS AUTHORIZED ACCOUNTING CONSULTANT,

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

Kursplan. AB1029 Introduktion till Professionell kommunikation - mer än bara samtal. 7,5 högskolepoäng, Grundnivå 1

1. Unpack content of zip-file to temporary folder and double click Setup

Vässa kraven och förbättra samarbetet med hjälp av Behaviour Driven Development Anna Fallqvist Eriksson

Problem som kan uppkomma vid registrering av ansökan

Taking Flight! Migrating to SAS 9.2!

EXPERT SURVEY OF THE NEWS MEDIA

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

District Application for Partnership

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

A metadata registry for Japanese construction field

Högskolan i Skövde (SK, JS) Svensk version Tentamen i matematik

Kurskod: TAIU06 MATEMATISK STATISTIK Provkod: TENA 31 May 2016, 8:00-12:00. English Version

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

Flervariabel Analys för Civilingenjörsutbildning i datateknik

Kursplan. MT1051 3D CAD Grundläggande. 7,5 högskolepoäng, Grundnivå 1. 3D-CAD Basic Course

Scalable Dynamic Analysis of Binary Code

TDDI60 Tekniska databaser

5. Gör det samma med böcker som du tror nyblivna föräldrar kan komma att låna.

(D1.1) 1. (3p) Bestäm ekvationer i ett xyz-koordinatsystem för planet som innehåller punkterna

Att stödja starka elever genom kreativ matte.

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

Transkript:

Lena Strömbäck, ankn 2324 2002-06-05 Written exam in the course TDDB 48 Database technology Date: 2002-08-29 Time: 14-18 Room: GARNISONEN Equippment: Two books are allowed 1. A language dictionary 2. A databse textbook, (notes in the book are allowed) No separate papers are permitted Limits for passing: The exam consists of two parts: Part one requires 13 points for pass Part two requires 13 points for pass Grade 4 requires approx. 35 points Grade 5 requires approx. 45 points Results: Will be available within two weeks Teacher in charge: Lena Strömbäck, 0709-39 6776, 013-16 46 99 Henrik André-Jönsson, 013-31 89 55, 070-354 74 03 A Swedish version of the questions is found at the back of each sheet. Use one sheet for each question. Write name and personal number on each sheet.

Part 1: Practical 1. ER- modelling (8 p) The IT department at a large company is starting to have problems. The company has grown very rapidly and they are starting to have problems with keeping track of the company computer hardware. You are hired as a contract worker to help them design a database that will help them to keep this kind of information. The following information is kept in a paper based system and has to be included in the new system: The IT department builds all their computers from components. Each computer consists of a number of components like graphic cards, network cards, mother boards, memory capsules, hard disks, etc. When a components is bought it is given an id number, and the component is marked with this id number so that it will be possible to track each individual component. Every computer consists of a computer box, a graphic card, one or more hard drives, etc. The finished computer is placed in a room, and gets a person responsible for that computer. If something brakes the IT department will be able to see who delivered the faulty component, when it was bought, what kind of warranty the component has and who to contact in need of service. Create a ER/EER diagram that the IT department can use as a base for implementing this system. 2. EER to relations (6p) Translate the following EER-schema to a relational schema. Explain and motivate how the mapping is done. PNum Name Person O Bonus Speciality Employee Manager n n 1 1 works at manages contr. n Adress m Project Id Id Office

Del1: Praktisk 1. ER1 (sv) 8 p IT avdelningen på Dåtidsfabriken har börjat få problem. Då företaget växt explosionsartat så börjar det bli svårt att hålla ordning på företagets datorpark. För att komma tillrätta med situationen så hyr man in dig som konsult för att designa en databas som ska hålla ordning på all information. Följande information lagras idag, och är sådan information som man vill få med i det nya systemet. IT avdelningen bygger ihop alla sina maskiner själva och man köper in ett stort antal lösa komponenter. Varje dator består alltså av ett antal komponenter som t.ex. grafikkort, nätverkskort, moderkort, minneskappslar, hårddiskar m.m. När en komponent köps in så får den ett nummer och den märks med detta nummer, dels för att man ska kunna hålla koll på att anställda inte tar hem komponenter och dels för att man ska kunna se så att anställda inte stoppar egna komponenter i företagets maskiner. Varje fysisk dator består sedan av en datorlåda, ett grafikkort, en eller flera hårddiskar osv. Den färdiga datorn placeras sedan i ett rum, och den får en ansvarig person som ska ansvara för den under drift. I den händelse att något går sönder vill IT avdelningen kunna se vem som har levererat den trasiga komponenten, när den införskaffades, hur lång garanti tid det är samt kontaktperson hos leverantören. Skapa ett ER/EER diagram som IT avdelningen kan använda som underlag för att implementera systemet. 2. EER till relationer 6 p Översätt följande EER schema till ett relationsschema. Förklara och motivera hur mappningen sker. PNum Name Person O Bonus Speciality Employee Manager n n 1 1 works at manages contr. n Adress m Project Id Id Office

3. Normalization (5p) Given the following relation: MYDATABASE(StudentID, CourseID, StudentName, CourseName, StudentEmail, StudentGradeList) Example of content in the relation : (<12, TDDB48, Karl Karlsson, Databasteknik, karka, [Labs: G, Ten1: 4]>, <12, TDDB55, Karl Karlsson, Medieteknik, karka, [Proj1: G, Proj2: G, Labs: G]>, <10, TDDB48, Nils, Nilsson, Databasteknik, nilni, [Labs: G]>) a. What normalform is this relation in? (1p) b. Transform the relation so that it will be in BCNF, show every step you make and explain why you do it. (4p) 4. SQL-queries (6p) Given the following relational schema: STUDENT(StudPNum, Name) STUDENTREULT(StudPNum, CourseID, Grade) a. List all courses that the student with PNumber 800101-1122 has a grade in. (2p) b. Create a query that returns the name of the students with a grade average higher than 4. (4p)

3. Normalisering (5p) Betrakta följande relation: MYDATABASE(StudentID, CourseID, StudentName, CourseName, StudentEmail, StudentGradeList) Exempel på innehåll i relationen: (<12, TDDB48, Karl Karlsson, Databasteknik, karka, [Labs: G, Ten1: 4]>, <12, TDDB55, Karl Karlsson, Medieteknik, karka,[proj1: G, Proj2: G, Labs: G]>, <10, TDDB48, Nils, Nilsson, Databasteknik, nilni, [Labs: G]>) a. Vilken normalform har denna relation? (1p) b. Gör om relationen så att den blir i BCNF, visa varje steg du gör och förklara varför du gör det. (4p) 4. SQL (6p) Givet följande relationsschema: STUDENT(StudPNum, Name) STUDENTCOURSE(StudPNum, CourseID, Grade) a. Lista alla kurser som studenten med personnummer 800101-1122 har betyg i. (2p) b. Skapa en fråga som returnerar namnet på de studenter som har medelbetyg högre än 4. (4p)

Part 2: Theoretical 5. Normalization (4p) a. What is a conceptual dependency and how is it related to normal forms? (2p) b. What does normalization mean and why is it used? (1p) c. Give an example of a reason why in some cases you choose not to have a high normalization form. (1p) 6. Data structures (5p) a. In a table with 10000 rows the following information is stored for each row: PERSONNAME (char(20)), PERSONNUMBER (char(10)) and JOBCODE (char(2)). PERSONNUMBER values are unique. Different persons can have the same JOBCODE value. On average 10 persons have the same JOBCODE values. Assume a block size of 4096 bytes and that we use unspanned records. Assume that the pointer size is 4 bytes. Show how you can create a secondary index for the table above. You can choose which field is the index field and whether and how the table is sorted. Describe this! (You cannot change the information about the table that was given above.) How many block accesses are needed on average and in worst case (using the index) to find a record with a given value for the index field? Show how you obtained your results. (3p) b. Explain the difference between primary- secondary- and clustering indexes. Also explain if and how these three indexes can be used together on the same file. (2 p) 7. Database recovery (5p) Suppose that we use the deferred update protocol for the example below. Show how the log would be different in the case of deferredupdate by removing the unnecessary log entries; then describe the recovery process, using your modified log. Assume that only REDO operations are applied and specify which operations in the log are redone and which are ignored. [start_transaction, T1] [read_item, T1, A] [read_item, T1, D] [write_item, T1, D, 20] [commit, T1] [checkpoint] [start_transaction, T2] [read_item, T2, B] [write_item, T2, B, 12] [start_transaction, T4] [read_item, T4, D] [write_item, T4, D, 15] [start_transaction, T3] [write_item, T3, C, 30] [read_item, T4, A] [write_item, T4, A, 20] [commit, T4] [read_item, T2, D] [write_item, T2, D, 25] (system crash)

Del 2: Teoretisk 5. Normalisering (4p) a. Vad innebär konceptuella beroenden och hur relaterar dessa till normalformer? (2p) b. Vad innebär normalisering och varför används det? (1p) c. Ge exempel på en orsak till att man i vissa fall väljer att inte ha så hög normaliseringsgrad på sina relationer. (1p) 6. Data structurer (5p) a. I en tabell med 10000 rader är följande information lagrad för varje rad: PERSONNAME (char(20)), PERSONNUMBER (char(10)) och JOBCODE (char(2)). PERSONNUMBER-värdena är unika. Olika personer kan ha samma JOBCODEvärde. I genomsnitt har 10 personer samma JOBCODE-värde. Antag en blockstorlek på 4096 bytes och obrutna (eng. unspanned) lagringsposter. Antag att en pekare är 4 bytes lång. Visa hur man kan skapa ett sådant index för tabellen ovan. Du får själv välja vilket fält som är indexfältet och om och hur tabellen är sorterad. Ange detta! (Du får dock inte ändra uppgifterna om tabellen ovan.) Hur många blockaccesser behövs i genomsnitt och i värsta fall (med användning av ditt index) för att hitta en post (eng. record) med givet värde för indexfältet? Visa hur du får fram ditt resultat. (3p) a. Förklara skillnderna mellan primary-, secondary och clustering- index. Förklara också om och hur dessa kan användas tillsammans för en fil. (2p) 7. Databasåterställning (recovery) (5p) Antag att vi använder protokollet för uppskjuten uppdatering (deferred update protocol) för exemplet nedan. Visa hur loggen skulle förändras om vi i istället använderuppskjuten uppdatering där vi tar bort onödiga log entries; beskriv sedan recovery processen utifrån din modifierade log. Antag att bara REDO operationer görs och visa vilka operationer i loggen som görs om och vilka som ignoreras. [start_transaction, T1] [read_item, T1, A] [read_item, T1, D] [write_item, T1, D, 20] [commit, T1] [checkpoint] [start_transaction, T2] [read_item, T2, B] [write_item, T2, B, 12] [start_transaction, T4] [read_item, T4, D] [write_item, T4, D, 15] [start_transaction, T3] [write_item, T3, C, 30] [read_item, T4, A] [write_item, T4, A, 20] [commit, T4] [read_item, T2, D] [write_item, T2, D, 25] (system crash)

8. SQL-queries and relational algebra (5p) a. Explain the different parts of a SELECT -statement and what they perform with respect to the operations in relational algebra. (3p) b. Illustrate your answer in a. by expressing a join query over two relations in SQL and relational algebra. The query must be your own example. (2p) 9. General database architecture (6p) a. Give an overview of the architecture of a database management system and give a brief description of how it supports data independence. (3p) b. Give an example from databases which illustrates why data independence is important and relate your example to the architecture in a. (1p) c. In some situations it is important to understand how the database is stored on the physical storage. Give an example of this and explain why it is important with this knowledge. (2p)

8. SQL och relationsalgebra (5p) a. Förklara de olika delarna i en SQL-fråga och visa hur de relaterar till operationerna i relationsalgebran. (3p) b. Illustrera ditt svar i a genom att uttrycka samma joinfråga i SQL och relationsalgebra. (2p) 9. Generell databsarkitektur (6p) a. Ge en översikt över arkitekuren för ett databashanteringssystem och förklara hur det understödjer dataoberoende. (3p) b. Ge ett konkret exempel på när dataoberoende är viktigt relatera ditt exempel till ditt svar i a. (1p) c. I vissa situationer är det viktigt att förstå hur data är lagrad på det fysiska mediet. Ge ett exempel på detta och förklara varför den fysiska lagringen påverkar databasens beteende. (2p)