Eksamensoppgave i TDT4145 Datamodellering og databasesystemer



Like dokumenter
Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

Løsningsforslag for Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

EKSAMENSOPPGAVE I TDT4145 DATAMODELLERING OG DATABASESYSTEMER. Faglig kontakt under eksamen: Svein Erik Bratsberg og Roger Midtstraum

Løsningsskisse til eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer

Oppgave 1 Datamodellering 25 %

Eksamensoppgåve i TDT4145 Datamodellering og databasesystem

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsskisse til eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer

Eksamensoppgåve i TDT4145 Datamodellering og databasesystem

Eksamensoppgåve i TDT4145 Datamodellering og databasesystem

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

Løsning til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Oppgave 1 Datamodellering 22 %

Skisse til løsning av eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgåve i TDT4145 Datamodellering og databasesystem

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

EKSAMENSOPPGÅVE I TDT4145 DATAMODELLERING OG DATABASESYSTEMER

Miniverden og ER- modell

Andre sett obligatoriske oppgaver i INF3100 V2013

UNIVERSITETET I OSLO

Løsningsforslag Eksamen i TDT4190 Distribuerte systemer

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TIØ4120 Operasjonsanalyse, gk.

HØGSKOLEN I SØR-TRØNDELAG

EKSAMEN. Emne: Webprogrammering med PHP (kont.) Webprogrammering 1 (kont.) Eksamenstid:

Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder Kontinuasjonseksamen

Oppgave 1 ER- og relasjonsmodell 10 %

1. SQL datadefinisjon og manipulering

Høgskolen i Telemark EKSAMEN 6102 DATABASER Tid: Hjelpemidler: Vedlegg: Eksempeldata til oppgave 1

Institutt for datateknikk. Fag TDT4145 Datamodellering og databasesystemer Løsningsforslag til øving 3: Algebra og SQL

UNIVERSITETET I OSLO

HØGSKOLEN I SØR-TRØNDELAG

Eksamensoppgave i MA0301 Elementær diskret matematikk løsningsforslag

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

Løsningsforslag for Eksamensoppgave i TDT4190 Distribuerte systemer

UNIVERSITETET I OSLO

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Løsningsforslag til eksamen i IN2090 Databaser og datamodellering og INF1300 Introduksjon til databaser 6. desember :30 18:30 (4 timer)

Eksamensoppgave i PSY3100 Forskningsmetode - Kvantitativ

INF3100 V2015 Obligatorisk oppgave nr. 1

Eksamensoppgave i SØK1010 Matematikk og mikroøkonomi

Eksamensoppgave i MA1202/MA6202 Lineær algebra med anvendelser

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

SQL 3: Opprette tabeller, datainnsetting og utsnitt

EKSAMEN. Emne: Webprogrammering med PHP (kont.) Webprogrammering 1 (kont.) Eksamenstid:

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

INF3100 V2016 Obligatorisk oppgave nr. 1

UNIVERSITETET I OSLO

TDT4145 Datamodellering og databasesystemer

KANDIDATEN MÅ SELV KONTROLLERE AT OPPGAVESETTET ER FULLSTENDIG

Objektorientering i ER-modeller EER-modeller Enhanced Entity Relationship Models

Datamodellering og databaser SQL, del 2

Eksamensoppgave i SØK1010 Matematikk og mikroøkonomi

Fakultet for informasjonsteknologi,

Repetisjon: Normalformer og SQL

Eksamensoppgave i TMA4245 Statistikk

EKSAMEN 6102 / 6102N DATABASER

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

Eksamen i Internetteknologi Fagkode: IVA1379

Det matematisk-naturvitenskapelige fakultet. Kontroller at oppgavesettet er komplett før du begynner å besvare det.

HØGSKOLEN I SØR-TRØNDELAG

Eksamensoppgave i PED3544 Matematikkproblemer

Fakultet for samfunnsfag Bibliotek- og informasjonsvitenskap Kunnskapsorganisasjon og gjenfinning 1.2

Eksamensoppgave i PSY3100 Forskningsmetode - Kvantitativ

Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder

5602 DATABASER Bokmål/nynorsk. 17 (inkludert denne forsiden) Eksamensresultatene blir offentliggjort på Studentweb.

Eksamensoppgave i SØK3006 Valuta, olje og makroøkonomisk politikk

Eksamensoppgave i TMA4240 Statistikk

Fag TDT4145 Datamodellering og databasesystemer Løsningsforslag til øving 3: Algebra og SQL

Eksamensoppgave i TMA4320 Introduksjon til vitenskapelige beregninger

Eksamen i IBE102 Webutvikling Våren 2017.

Eksamensoppgave i SØK Statistikk for økonomer

Andre sett obligatoriske oppgaver i INF3100 V2012

Eksamensoppgave i PSY2016/PSYPRO4316 Personlighetspsykologi II

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

Eksamensoppgave i SOS1016 Sosiologi og samfunn

Eksamensoppgave i PSY1015/PSYPRO4115 Utviklingspsykologi I

INNHOLD. Side Eksempeleksamen 2T - Hele oppgavesettet 1. Oppgave 1 Eksempeleksamen 10

UNIVERSITETET I OSLO

1. Datamodellering Kommentarer til læreboka

Øving 5: Transaksjonshåndtering, logging og normalisering

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

TDT4225 Lagring og behandling av store datamengder

Fag TDT4145 Datamodellering og databasesystemer Øving 3: Relasjonsalgebra og SQL

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

INF3100 V2018 Obligatorisk oppgave nr. 2

Transkript:

Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Faglig kontakt under eksamen: Svein Erik Bratsberg: 995 39 963 Roger Midtstraum: 995 72 420 Eksamensdato: 26. mai 2014 Eksamenstid (fra-til): 09:00-13:00 Hjelpemiddelkode/Tillatte hjelpemidler: D Ingen trykte eller håndskrevne hjelpemidler tillatt. Bestemt, enkel kalkulator tillatt. Annen informasjon: Målform/språk: Norsk bokmål Antall sider: 6 Antall sider vedlegg: 0 Kontrollert av: Svein-Olaf Hvasshovd (sign.) Dato Sign. Merk! Studenter finner sensur i Studentweb. Har du spørsmål om din sensur må du kontakte instituttet ditt. Eksamenskontoret vil ikke kunne svare på slike spørsmål.

Oppgave 1 Datamodeller (20 %) a) (5 %) Restriksjoner på tertiære relasjonsklasser kan for eksempel være som i ERdiagrammet under. Forklar hvilke praktiske restriksjoner dette gir for entitetene i entitetsklassene som deltar i relasjonsklassen R. b) (15 %) Lag en ER-modell (du kan bruke alle virkemidler som er med i pensum) for følgende situasjon: Det skal lages en database for å registrere fugleobservasjoner. Fugleartene er delt inn i et antall fuglegrupper, som trostefugler eller skarver, og alle fuglearter er med i en bestemt fuglegruppe. Fuglegrupper har et entydig gruppenummer, et norsk navn og et latinsk navn. Fuglearter, som Rødstrupe eller Storskarv, har et norsk navn, et latinsk navn, en tekstlig beskrivelse, en forekomstkode (standfugl, trekkfugl osv.) og en antallsangivelse (1-7) som forteller hvor vanlig fuglen er i Norge. Observasjoner av en fugleart blir registrert med dato og tid, en kode for kjønn som er observert (hunn, hann eller begge), et anslag på antall individer og observatørens sikkerhet i forhold til observasjonen (usikker, sannsynlig, sikker). Det registreres alltid et bestemt observasjonssted som ligger i en kommune, det kan for eksempel være en bydel eller en kjent fuglelokalitet. Databaseeier vedlikeholder en oversikt over observasjonssteder, og observatører må velge blant de forhåndsregistrerte stedene. Alle observasjoner knyttes til en person som må være registrert med navn, adresse, telefonnummer og e-postadresse. Personer som er registrert i databasen, kan være medlem i en eller flere fugletitter-foreninger. Fugletitterforeningene klassifiserer sine medlemmer i kategoriene nybegynner, erfaren og ekspert. En person kan ha ulik status i forskjellige foreninger. Enkelte foreninger har også en ordning der medlemmer får status som artsekspert for en eller flere fuglearter. Klassifiseringen av observatører er viktig for å kunne vurdere kvaliteten og troverdigheten til de observasjonene som er registrert i databasen. Gjør kort rede for eventuelle forutsetninger som du finner det nødvendig å gjøre. Side 2 av 6

Oppgave 2 Relasjonsalgebra og SQL (20 %) Ta utgangspunkt i følgende relasjonsdatabase (primærnøkler er understreket) for en enkel mobiltelefon-database: Subscriber(ID, Name, Address, PostalCode, City) PhoneNumber(PNumber, SubscriberID) SubscriberID er fremmednøkkel mot Subscriber-tabellen. SubscriberID kan ikke ha NULLverdi. PhoneCall(CallID, FromNo, ToNo, CYear, CMonth, CDate, StartTime, Duration) FromNo og ToNo er fremmednøkkel mot PhoneNumber-tabellen. FromNo og ToNo kan ikke ha NULL-verdi. Relasjonsalgebra kan formuleres som tekst eller grafer. Hvis du behersker begge notasjonene foretrekker vi at du svarer med grafer, men du blir ikke trukket for å svare med tekst. a) (4 %) Lag et ER-diagram (du kan bruke alle virkemidler som er med i pensum) som i størst mulig grad samsvarer med relasjonsskjemaet. Gjør rede for eventuelle antagelser du finner det nødvendig å gjøre. b) (3 %) Lag en spørring i relasjonsalgebra som finner ID, Name og Address for abonnenter som har ringt nummeret 11223344 i 2014 (samtalen startet i 2014). c) (3 %) Lag en spørring i SQL som finner alle telefonnumre (PNumber) som er registrert på abonnenter (eng: subscribers) som bor i gaten Buckhaugen i Trondheim ( Buckhaugen 1, Buckhaugen 2, osv.). d) (3%) Lag en spørring i SQL som finner antall abonnenter i hver by som er registrert med en eller flere abonnenter. Resultatet (city, antall abonnenter) skal sorteres etter synkende antall abonnenter. e) (3 %) Abonnenten med ID 100 flytter til Buckhaugen 99 som har postnummer (eng: PostalCode) 7046 og ligger i Trondheim. Skriv en SQL-setning som registrerer denne endringen i databasen. f) (4 %) Lag en SQL-spørring som finner PNumber og abonnentens ID, Name og Address for telefonnummer som ikke har hatt noen utgående samtaler i 2014 (samtalen startet i 2014). Resultatet skal sorteres på abonnentens ID i stigende rekkefølge. Dersom samme abonnent har flere ubrukte telefonnummer, skal disse sorteres i stigende rekkefølge. Side 3 av 6

Oppgave 3 Teori (20 %) a) (3 %) Hvilke krav må være oppfylt for at en mengde attributter skal være en kandidatnøkkel (eng: candidate key) for en tabell? b) (4 %) Gitt R = {A, B, C, D} og F = {A -> B, C ->D, D->C}. Finn alle kandidatnøkler i R. c) (3 %) Gitt R = {A, B, C, D} og F = {A -> B, C ->D, D->C}. Gå ut fra at R oppfyller 1. normalform. Bestem den høyeste normalformen som oppfylles av R. Svaret må begrunnes. d) (4 %) Gitt R = {A, B, C, D} og F = {A -> B, C ->D, D->C}. R skal om nødvendig dekomponeres slik at alle komponenter er på Boyce-Codd normalform (BCNF). Vurder om dekomponeringen du kommer fram til er en god løsning. e) (3 %) Over er det vist en tabellforekomst for en tabell med attributtene A, B og C. Gå ut fra at MVD-en A ->> B gjelder, hva må da være verdiene til X, Y og Z? f) (3 %) Over er det vist en tabellforekomst for en tabell med attributtene A, B og C. Gi et eksempel på verdier for X, Y og Z som gjør at MVD-en A ->> C ikke kan gjelde for tabellen. NB! Oppgavesettet fortsetter på neste side. Side 4 av 6

Oppgave 4 B+-trær (10 %) Vi skal sette inn følgende nøkler i et B+-tre i den gitte rekkefølgen: 1, 2, 3, 4, 5, 6, 7, 8, 9 og 10. Det er plass til maksimalt tre nøkler i hver blokk. Vis tilstanden til B+-treet hver gang du skal til å splitte en blokk. Vis også hvordan B+-treet ser ut til slutt. Oppgave 5 Lagring og queryutføring (15 %) Anta følgende tabell: CREATE TABLE Student (studno INT, lastname CHAR(30), firstname CHAR(30), email CHAR(30), startyear INT); Anta tabellen er lagret i en heapfil med 1000 blokker hvor hver blokk får plass til 20 studentposter. Videre er det laget en unclustered B+-tre-indeks på 'lastname'. Vi antar B+-treet har 500 blokker på løvnivå og har høyde 3. a) (10 %) Gjør et estimat på hvor mange blokker som aksesseres (leses) ved de følgende SQL-setningene: i) INSERT INTO Student VALUES (12123,'Hansen','Hans','hans@email.org',2013); ii) SELECT lastname, firstname, email, startyear FROM Student WHERE lastname='hansen'; iii) SELECT * FROM Student; iv) SELECT DISTINCT lastname FROM Student ORDER BY lastname; Gi en begrunnelse/forklaring for hvert svar. b) (5 %) Hvis den samme tabellen hadde fått kravet om at 'studno' skal være PRIMARY KEY, hvordan ville du ha lagret tabellen? Begrunn svaret. Oppgave 6 Transaksjoner - vranglåser (5 %) Når vi bruker låser av dataelementer kan transaksjoner oppleve vranglåser. Hvordan løses vranglåser mellom transaksjoner? NB! Oppgavesettet fortsetter på neste side. Side 5 av 6

Oppgave 7 Transaksjoner - recovery (10 %) Anta at vi bruker ARIES-recovery og la A,B,C og D være dataelementer med angitte startverdier (30, 15, 40, 20). Etter en krasj ble følgende logg funnet med loggposter på formatet: [LSN,Operation,Transaction,DataItem,BeforeImage,AfterImage] [101,start_trans,T3] [102,write,T3,A,30,33] 33 [103,write,T3,B,15,12] 12 [104,start_trans,T2] [105,commit,T3] [106,write,T2,B,12,18] 18 [107,start_trans,T1] [108,start_checkpoint] [109,end_checkpoint] A B C D 30 15 40 20 [110,write,T1,C,40,45] 45 [111,write,T2,D,20,26] 26 [112,commit,T2] a) Anta T1, T2 og T3 er alle transaksjonene som finnes. Hvordan ser transaksjonstabellen ut etter analysefasen av recovery? b) Hva er verdiene til A, B, C og D etter at recovery (alle faser) er ferdig? Side 6 av 6