Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer

Like dokumenter
Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsning til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgåve i TDT4145 Datamodellering og databasesystem

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 DATABASESYSTEMER

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Oppgave 1 Datamodellering 22 %

Løsningsforslag for Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer

Eksamensoppgåve i TDT4145 Datamodellering og databasesystem

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

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

Løsningsskisse til eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsskisse til eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

Eksamensoppgåve i TDT4145 Datamodellering og databasesystem

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Oppgave 1 Datamodellering 25 %

Oppgave 1 ER- og relasjonsmodell 10 %

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TTK4175 Instrumenteringssystemer

Eksamensoppgåve i LGU53004 Naturfag , Emne 1 Biologi

Eksamensoppgåve i ST0103 Brukarkurs i statistikk

Eksamensoppgåve i TMA4240 Statistikk

Eksamensoppgave i SOS1000 Innføring i sosiologi

Eksamensoppgave i TTK4175 Instrumenteringssystemer

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i MA1202/MA6202 Lineær algebra med anvendelser

Eksamensoppgåve i TDT4145 Datamodellering og databasesystem

Eksamensoppgåve i ST0103 Brukarkurs i statistikk

Eksamensoppgave i NORD1108 Nordisk litteraturhistorie, 7.5 sp.

Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder Kontinuasjonseksamen

Eksamensoppgave i TMA4240 Statistikk

Eksamensoppgave i PED3544 Matematikkproblemer

Eksamensoppgåve i ST1201/ST6201 Statistiske metoder

Eksamensoppgave i NORD1102 Nordisk språk moderne, 15 sp.

Eksamensoppgave i SOS1000 Innføring i sosiologi

Eksamensoppgåve i Løsningsskisse TMA4245 Statistikk

Eksamensoppgave i NORD1106 Nordisk språk historisk, 7.5 sp.

Eksamensoppgåve i TMA4250 Romleg Statistikk

Eksamensoppgave i SØK1001 Matematikk for økonomer

Eksamensoppgåve i TMA4295 Statistisk inferens

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Andre sett obligatoriske oppgaver i INF3100 V2012

Eksamensoppgave i TMA4320 Introduksjon til vitenskapelige beregninger

Andre sett obligatoriske oppgaver i INF3100 V2013

Eksamensoppgave i TMA4140 Diskret matematikk

Eksamensoppgave i TMA4140 Diskret matematikk

Oppgave 1a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet.

Eksamensoppgave i SØK1004 Statistikk for økonomer

Eksamensoppgåve i TMA4245 Statistikk

Eksamensoppgave i MA0301 Elementær diskret matematikk løsningsforslag

Eksamensoppgåve i KJ1041 Kjemisk binding, spektroskopi og kinetikk

Eksamensoppgave i SØK2103 Økonomiske perspektiver på politiske beslutninger

Øving 5: Transaksjonshåndtering, logging og normalisering

Eksamensoppgave i TMA4150 Algebra

Eksamensoppgave i PED3009 Fordypning i forskningsmetode

Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder

Høgskolen i Telemark EKSAMEN 6102 DATABASER 5602 DATABASER Tid: 9-13 (9-14 for konte-eksamen i 5602) Hjelpemidler:

Eksamensoppgave i SØK1002 Mikroøkonomisk analyse

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

EKSAMEN 6102 / 6102N DATABASER

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

UNIVERSITETET I OSLO

Eksamensoppgave i SØK1011 Markeder og markedssvikt

Eksamensoppgåve i TMA4255 Anvendt statistikk

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

EKSAMEN 6102 / 6102N DATABASER

Eksamensoppgave i NORD1102 Nordisk språk moderne, 15 sp.

Andre sett obligatoriske oppgaver iinf3100v2011

Eksamensoppgave i SØK1001 Matematikk for økonomer

Eksamensoppgåve i TMA4240 / TMA4245 Statistikk

Databasesystemer, oversikt

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

UNIVERSITETET I OSLO

Eksamensoppgave i TKT4124 Mekanikk 3

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i AVS2235 Tekstanalyse og tekstutvikling

Eksamensoppgave i SOS1016 Sosiologi og samfunn

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

Eksamensoppgave i NORD2241 Moderne språk I, 7.5 sp.

Eksamensoppgave i SØK1004 Statistikk for økonomer

Løsningsforslag for Eksamensoppgave i TDT4190 Distribuerte systemer

Eksamensoppgave i IFUD1025 Programmering i Java

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

Eksamensoppgave i SØK1000 Innføring i samfunnsøkonomi

Eksamensoppgave i SOS1000 Innføring i sosiologi

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i POL1003 Miljøpolitikk, energipolitikk og ressursforvaltning

Eksamensoppgåve i LGU51007 Naturfag 1 (5-10) emne 1

Transkript:

Institutt for datateknikk og informatikk Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer Fagleg kontakt under eksamen: Roger Midtstraum: 995 72 420 Svein Erik Bratsberg: 995 39 963 Eksamensdato: 7. august 2017 Eksamenstid (frå-til): 09:00-13:00 Hjelpemiddelkode/Tillatne hjelpemiddel: D Ingen trykte eller handskrivne hjelpemiddel tillatne. Bestemt, enkel kalkulator tillate. Annan informasjon: Målform/språk: Norsk nynorsk Sidetal: 6 Sidetal vedlegg: 0 Informasjon om trykking av eksamensoppgave Originalen er: 1-sidig 2-sidig X sort/hvit X farger skal ha flervalgskjema Dato Kontrollert av: 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.

Oppgåve 1 Datamodellar og relasjonsdatabasar (15 %) a) I figuren under har vi vist to ulike måtar å representere ein binær relasjon mellom entiteter i entitetsklassane A og B. Diskuter fordelar og ulemper ved dei to alternativa. b) I figuren under har vi vist ein ER-modell. Oversett denne til ein hensiktsmessig relasjonsdatabasemodell. Gjer kort greie for eventuelle føresetnader som du finn det nødvendig å gjere. Side 2 av 6

Oppgåve 2 Teori (10 %) a) Når vi designar relasjonsdatabaser kan vi velje om vi vil tillate redundans i datalagringa. Diskuter fordelar og ulemper ved å tillate redundans. b) I relasjonsdatabaser har vi ein spesiell NULL-verdi. Kva er hensikta med å ha ein slik spesiell verdi? Kunne vi klara oss utan? Oppgåve 3 Relasjonsdatabasar, ER-modellar, relasjonsalgebra og SQL (20 %) Gå ut frå følgjande relasjonsdatabase-skjema for ein database over verdsdelar, land og byar. Primærnøklar er understreka. Verdensdel(VID, VNavn) Land(LID, LNavn, Areal, Folketall, VDelID) VDelID er framandnøkkel mot Verdensdel-tabellen. Kan ikkje ha NULL-verdi. By(BID, BNavn, Folketall, LandID, HovedstadFraAAr) LandID er framandnøkkel mot Land-tabellen. Kan ikkje ha NULL-verdi. Om byen er hovudstad i landet, har den eit årstal som verdi for HovedstadFraAAr, som i andre høve har NULL-verdi. Relasjonsalgebra kan formulerast som tekst eller grafar. Om du kan begge notasjonane føretrekk vi at du svarar med grafar, men du blir ikkje trekt for å svare med tekst. a) Lag eit ER-diagram (du kan bruke alle verkemiddel som er med i pensum) som i størst mulig grad samsvarar med relasjonsskjemaet. Gjer kort greie for eventuelle føresetnader som du finn det nødvendig å gjere. b) Lag ei spørjing i relasjonsalgebra som finn namn på by, namn på land og byen sitt folketal for alle hovudstadar i Afrika. c) Lag ei spørjing i SQL som finn verdsdel-id, verdsdel-namn, kor mange land det er i verdsdelen, verdsdelen sitt areal og verdsdelen sitt folketal. d) Lag ei spørjing i SQL som finn by-namn, byen sitt folketall, land-namn og verdsdel-namn for alle byar som har fleire enn 5 millionar innbyggarar. Resultatet skal vere sortert etter folketal i minkande ordning, deretter på byen sitt namn i stigande rekkefølge. e) Lag eit SQL-skript som opprettar Land-tabellen. Vel hensiktsmessige datatypar for attributta (vi vektlegg ikkje detaljer). Gjer kort greie for eventuelle føresetnader som du finn det nødvendig å gjere. Side 3 av 6

Oppgåve 4 - Normaliseringsteori (15 %) a) Gå ut frå R = {A, B, C, D} og F = {A B; BC D}. Under er vist ein tabellførekomst for R. Kva for verdiar kan S, T, U, V og W ha for at tabellførekomsten skal vere gyldig. b) Gå ut frå R = {A, B, C, D, E} og F = {AC BD; EC BD; A E; E A}. R er minst på første normalform. Kva er den høgaste normalforma som er oppfylt av R? Du må underbyggje svaret ditt. c) Gå ut frå tabellen R = {A, B, C}. Attributta har same verdimengde: dom(a) = dom(b) = dom(c) = {1,2,3}. i) Gå ut frå F = F. Kva er det maksimale talet på rader som kan vere i ein tabellførekomst (r(r))? ii) Gå ut frå F = {A BC}. Kva er det maksimale talet på rader som kan vere i en tabellførekomst? d) Ein tabell, R, splittast i to (komponent-)tabellar, R1 og R2. Forklar kva det vil seie at dekomponeringa har tapsløst-join eigenskapen (eng: lossless join). Vurder om det er nødvendig å ha denne eigenskapen. Du må underbyggje svaret ditt. e) Gå ut frå R = {A, B, C} og F = {A B}. En vanleg feil er å tru at A B fører med seg at A fører til eller bestemmer B. Forklar kvifor dette ikkje er ei god forklaring på den funksjonelle avhengigheten. Side 4 av 6

Oppgåve 5 Statisk hashing (5 %) Vi skal setje inn følgjande nøklar i ein statisk hashing-struktur: 27, 18, 9, 7, 16, 13, 11. Vi har 4 blokker og ei overflytsblokk. Kvar blokk har plass til to nøklar. Se figuren under. Du kan bruke hashfunksjonen: h(k) = K MOD 4 Vis korleis strukturen ser ut til slutt når du har satt inn alle nøklane. 00 Overflow 01 10 11 Oppgåve 6 Lagring, indeksering og queries (10 %) Vi har ein database som lagrer webclicks i ein tabell: Click (clickid, user, url, time) Kvar post (record) i tabellen er 100 byte lang og kvar blokk er 8 KB (8192 bytes). Vi har registrert 300 000 klikk i databasen. a) Vi ønsker å lagre tabellen i eit clustered B+-tree med clickid (8 byte) som søkjenøkkel. Kor mange blokker er det på kvart nivå i B+-treet? Forklar evt. føresetnader du tar. b) Vi ønsker å utføre følgjande query: SELECT url, count(*) AS clickcount FROM Click GROUP BY url ORDER BY clickcount DESC; Korleis vil du indeksere tabellen for å kunne svare på queriet? Grunngi svaret ditt. Side 5 av 6

Oppgåve 7 Transaksjonar (15 %) a) Forklar dei fire omgrepa som forkortast ACID. b) Vi har ei historie: H 1: r 1(A); w 2(A); w 2(B); w 3(B); w 1(B); C 1; C 2; C 3; Vi innfører tofaselåsing (rigorous 2PL). Skriv om historia slik at ho bruker 2PL. Innfør operasjonane wl(x) write_lock(x) og rl(x) read_lock(x). c) For kvar klasse av samtidigheitsproblem gitt under, kva for slag ser du i historia H1 i b) og kvifor / kvifor ikkje? - Dirty read - Lost update - Unrepeatable read - Incorrect summary Oppgåve 8 Transaksjonar: Recovery ARIES (10 %) a) Beskriv og forklar kva som skjer i dei tre fasane av recovery etter krasj i ARIES. b) Kva er PageLSN og kvifor er det ein viktig oppfinning? Side 6 av 6