Basics of databases 20.5.2014



Samankaltaiset tiedostot
Basics of databases

Choose Finland-Helsinki Valitse Finland-Helsinki

Salasanan vaihto uuteen / How to change password

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Capacity Utilization

812336A C++ -kielen perusteet,

anna minun kertoa let me tell you

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

1. Liikkuvat määreet

Information on Finnish Language Courses Spring Semester 2018 Päivi Paukku & Jenni Laine Centre for Language and Communication Studies

The CCR Model and Production Correspondence

Information on Finnish Language Courses Spring Semester 2017 Jenni Laine

Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition)

Efficiency change over time

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

make and make and make ThinkMath 2017

MEETING PEOPLE COMMUNICATIVE QUESTIONS

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Tarua vai totta: sähkön vähittäismarkkina ei toimi? Satu Viljainen Professori, sähkömarkkinat

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

ECVETin soveltuvuus suomalaisiin tutkinnon perusteisiin. Case:Yrittäjyyskurssi matkailualan opiskelijoille englantilaisen opettajan toteuttamana

Information on Finnish Courses Autumn Semester 2017 Jenni Laine & Päivi Paukku Centre for Language and Communication Studies

Information on preparing Presentation

Käyttöliittymät II. Käyttöliittymät I Kertaus peruskurssilta. Keskeisin kälikurssilla opittu asia?

Data protection template

Network to Get Work. Tehtäviä opiskelijoille Assignments for students.

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

TIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo

Results on the new polydrug use questions in the Finnish TDI data

Relaatioista TIETOJENKÄSITTELYTIETEIDEN LAITOS, JUHA IISAKKA 11-14

IFAGG WORLD CUP I, CHALLENGE CUP I and GIRLS OPEN INTERNATIONAL COMPETITION 1 st 2 nd April 2011, Vantaa Finland

Returns to Scale II. S ysteemianalyysin. Laboratorio. Esitelmä 8 Timo Salminen. Teknillinen korkeakoulu

Business Opening. Arvoisa Herra Presidentti Very formal, recipient has a special title that must be used in place of their name

Counting quantities 1-3

S SÄHKÖTEKNIIKKA JA ELEKTRONIIKKA

Use of spatial data in the new production environment and in a data warehouse

Travel Getting Around

16. Allocation Models

1. SIT. The handler and dog stop with the dog sitting at heel. When the dog is sitting, the handler cues the dog to heel forward.

Tilausvahvistus. Anttolan Urheilijat HENNA-RIIKKA HAIKONEN KUMMANNIEMENTIE 5 B RAHULA. Anttolan Urheilijat

Rekisteröiminen - FAQ

Hotel Pikku-Syöte: accommodation options and booking

FinFamily Installation and importing data ( ) FinFamily Asennus / Installation

OP1. PreDP StudyPlan

You can check above like this: Start->Control Panel->Programs->find if Microsoft Lync or Microsoft Lync Attendeed is listed

ALOITUSKESKUSTELU / FIRST CONVERSATION

MISKA 1514 MISKA % WOOL 50% ACRYLIC 100% WOOL

AYYE 9/ HOUSING POLICY

Expression of interest

SELL Student Games kansainvälinen opiskelijaurheilutapahtuma

Uusia kokeellisia töitä opiskelijoiden tutkimustaitojen kehittämiseen

C++11 seminaari, kevät Johannes Koskinen

CSE-A1200 Tietokannat

VUOSI 2015 / YEAR 2015

Kvanttilaskenta - 1. tehtävät

Olet vastuussa osaamisestasi

Siirtymä maisteriohjelmiin tekniikan korkeakoulujen välillä Transfer to MSc programmes between engineering schools

Sisällysluettelo Table of contents

Curriculum. Gym card

Relaatiomalli ja -tietokanta

LANSEERAUS LÄHESTYY AIKATAULU OMINAISUUDET. Sähköinen jäsenkortti. Yksinkertainen tapa lähettää viestejä jäsenille

Rotarypiiri 1420 Piiriapurahoista myönnettävät stipendit

Suunnittelumallit (design patterns)

Uusi Ajatus Löytyy Luonnosta 3 (Finnish Edition)

VAASAN YLIOPISTO Humanististen tieteiden kandidaatin tutkinto / Filosofian maisterin tutkinto

Kirjoita jokaiseen erilliseen vastauspaperiin kurssin nimi, tenttipäivä, oma nimesi (selkeästi), opiskelijanumerosi ja nimikirjoituksesi

Guidebook for Multicultural TUT Users

Green Growth Sessio - Millaisilla kansainvälistymismalleilla kasvumarkkinoille?

WITNESS SUPPORT THE FINNISH EXPERIENCE

Greetings from the Cultural Sector

Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä

Matkustaminen Majoittuminen

LUONNOS RT EN AGREEMENT ON BUILDING WORKS 1 THE PARTIES. May (10)

Opiskelijat valtaan! TOPIC MASTER menetelmä lukion englannin opetuksessa. Tuija Kae, englannin kielen lehtori Sotungin lukio ja etälukio

Tietoa Joensuun Eliittikisoista

Hankkeen toiminnot työsuunnitelman laatiminen

Matkustaminen Majoittuminen

Jussi Klemola 3D- KEITTIÖSUUNNITTELUOHJELMAN KÄYTTÖÖNOTTO

Other approaches to restrict multipliers

Tietokantakurssit / TKTL

Social and Regional Economic Impacts of Use of Bioenergy and Energy Wood Harvesting in Suomussalmi

Security server v6 installation requirements

Miksi Suomi on Suomi (Finnish Edition)

Operatioanalyysi 2011, Harjoitus 4, viikko 40

Kysymys 5 Compared to the workload, the number of credits awarded was (1 credits equals 27 working hours): (4)

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

Security server v6 installation requirements

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

HELIA 1 (14) Outi Virkki Tiedonhallinta

Mat Seminar on Optimization. Data Envelopment Analysis. Economies of Scope S ysteemianalyysin. Laboratorio. Teknillinen korkeakoulu

Infrastruktuurin asemoituminen kansalliseen ja kansainväliseen kenttään Outi Ala-Honkola Tiedeasiantuntija

7. Product-line architectures

Tietorakenteet ja algoritmit

Denormalisointia turvallisesti. Ougf syysseminaari Pörssitalo Helsinki Timo Raitalaakso

MAA-C Kiinteistötekniikan perusteet TkT Juhana Hiironen

Operatioanalyysi 2011, Harjoitus 3, viikko 39

Bounds on non-surjective cellular automata

Hankkeiden vaikuttavuus: Työkaluja hankesuunnittelun tueksi

2017/S Contract notice. Supplies

Transkriptio:

Tietokantojen perusteet 20.5.14 Jokainen osakysymys 1-6 arvostellaan erikseen ja kurssisuoritus vaatii jokaisen osan hyväksyttyä osaamista. Osa on voitu suorittaa kurssin aikana tai se voidaan suorittaa tentissä. Kaikki osat pitää olla suoritettu syyskuuhun 2014 loppuun mennessä, muuten osasuoritukset kuoleutuvat. Jos siis saat tästä tentistä hylätyn, olet silti voinut olla hyväksytysti suorittanut esimerkiksi osat 1 ja 3. Tällöin sinun riittää yrittää seuraavassa tentissä vain osia 2,4,5 ja 6. Englanninkielisen ja suomenkielisen tentin kysymykset ovat erit. Vastaa vain toiseen tenttiin. Merkitse opiskelijanumerosi tenttipaperiin - ei henkilötunnusta. Basics of databases 20.5.2014 The course has six parts. Parts will be evaluated separately and you must pass every part. You must pass every part before October. After evaluation of this exam you will be informed, if you pass any single part (assuming that you have enrolled to the exam in Oodi). English and Finnish exams differ. English questions in the end. Osa 1: Määrittele (Max 1p/kohta) : 1. Relaatio 2 Relaation (perus)avaimen eheysvaatimus. (Ns. entiteetin eheys, entity constraint) 3. Relaation viiteavain 4. Avainehdokas (ehdokasavain, kandidaattiavain) 5. Koosteattribuutti 6. Luettele henkilörekisterilain mukaiset arkaluonteisen tiedon tyypit: (Max 5p)

OSA 2. Englanninkielisten kysymysten lopussa on EER-kaavio. Revi se pois, kirjoita siihen nimesi ja palauta se vastauskonseptisi välissä. Tee siihen seuraavat korjaukset ja lisäykset. a) Sama henkilö ei voi olla sekä asunnonomistaja että asunnon vuokraaja. b) Samalla asunnolla voi olla useita vuokraajia. c) Tiedämme päivämäärän, milloin vuokralaisesta on viimeksi tarkistettu mahdolliset luottohäiriömerkinnät. d) Tiedämme, milloin kukin asunnon omistaja on kunkin asunnon ostanut, ja milloin omistaja on asunnosta luopunut. e) Me muistamme myös aikaisemmat omistajat. f) Vuokrattavana on sekä omakotitaloja (joista kiinnostaa: huoneiden lukumäärä, saunan olemassaolo, onko tontti oma ja osoite) sekä osakkeita (joista kiinnostaa huoneiden lukumäärä, saunan olemassaolo, osoite ja kiinteistöyhtiö). Yleistä tarpeellisilta osin. g) Kiinteistöyhtiöistä kiinnostaa nimi (tunniste), osoite ja puhelinnumero. h) Omakotitaloja vuokrataan vain pariskunnille. (Meillä pitää olla tieto avioliitoista) OSA 3. Alkuperäinen taulu on Tenttitulos TENTTITULOS(kurssin_nimi, Kurssin_koodi, Tentti_PVM, Tenttaattorin_nimi, Järjestävä_laitos, OP, Opiskelijan_nimi, Arvosana, Opiskelijan_hetu, Opiskelija#, Opiskelijan_laitos, Opiskelijan_osoite) On normalisoitu tauluiksi: KURSSI(nimi, koodi, laitos, OP) OPISKELIJA(nimi, hetu, opiskelija#, laitos, osoite) SUORITUS(kurssikoodi, opiskelija#, tentti_pvm, tenttaattorin_nimi, arvosana)

Minkä kokoiset taulut ovat? Oliko normalisointi kannattavaa tilan käytön kannalta? kurssin_nimi 30 merkkiä Kurssin_koodi 10 merkkiä Tentti_PVM 8 merkkiä Tenttaattorin_nimi 30 merkkiä Järjestävä_laitos 20 merkkiä OV 2 merkkiä Opiskelijan_nimi 30 merkkiä Arvosana 1 merkki Opiskelijan_hetu 11 merkkiä Opiskelija# 5 meerkkiä Opiskelijan_laitos 20 merkkiä Opiskelijan_osoite 40 merkkiä Yhteensä: 207 merkkiä Yliopistossa on 10 000 opiskelijaa ja se järjestää 1000 kurssia. Keskimääräinen opiskelija on tehnyt 30 tenttisuoritusta. OSA 4. 1. Mitä tarkoittaa transaktionin vahvistaminen (commit) (Max 1p) 2. Force buffer ja no force buffer -periaate. (Max 3p) 3. Nälkiintyminen (starvation) (max 1p) 4. Vyöryyntymätön ajoitusjärjestys (cascadeless schedule, Max 1p) 5. Transaktion ACID-ominaisuudet (Max 1p/kohta) OSA 6 Koskien EER-kaaviota Picture 1 (modifioitu Silberschatz et al). a) Kirjoita Olio-SQL-lauseet, joilla voit toteuttaa kaavion relaatiotauluina. (Max 8p) b) Tee laatimiin tauluihn SQL-kysely, joka palauttaa kaikkien 12.12.1976 syntyneiden tiedot. (Max 2p)

OSA5. CUSTOMER CID NAME STREETADDRESS ZIP P_OFFICE DESCRIPTION EMPLOYEE EID NAME STREETADDRESS ZIP P_OFFICE PROVISION ORDER ORDERNUMBER CUSTOMERID EMPLOYEEID DATE CUSTOMERID viittaa -> CUSTOMER(CID) EMPLOYEEID viittaa-> EMPLOYEE(EID) PRODUCT NAME PRICE PID DESC ORDER_ROW ORDERNUMBER ROWNUMBER PRODUCT QUANTITY ORDERNUMBER viittaa -> ORDER(ORDERNUMBER) PRODUCT viittaa -> PRODUCT(PID) Laadi seuraavat tietokantakyselyt SQL-kielellä yo. kantaan. a). Luettele niiden asiakkaiden nimi ja osoite, jotka eivät ole kuusamolaisia eivätkä porilaisia. b) Luettele niiden työntekijöiden nimet, jotka eivät ole koskaan myyneet mitään. c) Luettele niiden työntekijöiden numerot, jotka ovat myyneet joskus kumin (rubber). d) Luette niiden asiakkaiden nimet, jotka ovat tehneet ainakin kaksi eri tilausta. e) Luettele niiden asiakkaiden nimet, jotka eivät ole koskaan ostaneet kumia (rubber), mutta ovat ostaneet kynän (pen).

PICTURE 1

ENGLISH QUESTIONS PART 1: Question 1) The Data Protection Directive (officially Directive 95/46/EC on the protection of individuals with regard to the processing of personal data and on the free movement of such data) is a European Union directive which regulates the processing of personal data within the European Union. The seven principles governing the OECD s recommendations for protection of personal data were: 1) Notice 2) Purpose 3) Consent 4) Security 5) Disclosure 6) Access 7) Accountability Describe four of this recommendations, what they mean. Question 2) (Relational model) Define: 1) Primary key 2) Foreign key 3) Domain of attribute

PART 2. In the end there is an EER-picture. Take it off, write your name on it and return inside your answer paper. Make following modifications to that EER-picture: a) The same person must not be both a tenant and a landlord. b) Group of persons can rent an appartment. c) We know the date when we have last checked credit rating of a tenant. d) We know the date when the landlord has bought the appartment and when he has sold it. e) We remember previous landlords of the appartment f) We rent both houses and condominiums. (Houses) number of rooms, area and address. (Condominiums) number of rooms, address and property company. g) Property company we know name (unique), and contact person s name and phone h) Only married couples can rent houses. (We must know marriages) PART 3. Consider the relation R, which has attributes that hold schedules of courses and sections at a university; R = {CourseNo, SecNo, OfferingDept, CreditHours, CourseLevel, InstructorSSN, Semester, Year, Days_Hours, RoomNo, NoOfStudents}. Suppose that the following functional dependencies hold on R: {CourseNo} -> {OfferingDept, CreditHours, CourseLevel} {CourseNo, SecNo, Semester, Year} -> {Days_Hours, RoomNo, NoOfStudents, InstructorSSN} {RoomNo, Days_Hours, Semester, Year} -> {InstructorSSN, CourseNo, SecNo} Try to determine which sets of attributes form keys of R. How would you normalize this relation? ( Elmasri & Navathe)

PART 4. TRANSACTIONS 1. Determine serial schedules that are conflict equivalant with following serializable schedules. S1: w 11 (X); r 22 (X); r 11 (X); r 11 (Y); w 22 (X); w 11 (Y); S2: r 1 (X); r 2 (Y); r 1 (Z); w 3 (X); w 3 (Z); w 1 (Y); r 3 (Y); S3: r 1 (X); r 2 (Z); w 1 (X); w 1 (Z); w 3 (Z); r 3 (Z); r 3 (X) S4: r1(x); r2(z); r3(x); r1(z); r3(y); w1(x); w2(z); w3(y); w2(y); S5: w 21 (X); w 21 (Z); w 25 (Y); r 21 (Y); r 39 (X); w 39 (Z) 2. Define: a) force buffer management b) a dead lock of transactions c) transaction abort d) no steal policy e) Checkpoint for recovery PART 6 Check Picture 1. (Between Finnish and English questions) (modified from Silberschatz et al). a) Give Object-SQL-commands to create proper tables. (8p) b) To created tables, give an SQL-query to find data of all people born 12.12.1976 (2p)

PART 5 PART 1. CUSTOMER CID NAME STREETADDRESS ZIP P_OFFICE DESCRIPTION EMPLOYEE EID NAME STREETADDRESS ZIP P_OFFICE PROVISION ORDER ORDERNUMBER CUSTOMERID EMPLOYEEID DATE CUSTOMERID references -> CUSTOMER(CID) EMPLOYEEID references -> EMPLOYEE(EID) PRODUCT NAME PRICE PID DESC ORDER_ROW ORDERNUMBER ROWNUMBER PRODUCT QUANTITY ORDERNUMBER references -> ORDER(ORDERNUMBER) PRODUCT references -> PRODUCT(PID) Define following queries by SQL to database above. a). List names and adresses of the customers who are not from Kuusamo nor Pori. b) List the names of the employees who has never sold anything. c) List the numbers of the employees who has sold a rubber. d) List the names of the customers who has done at least two separate orders. e) List the names of the customers who has never bought a rubber but who has bought a pen.