Oppgave 1 Datamodellering 22 %

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

EKSAMENSOPPGÅVE I TDT4145 DATAMODELLERING OG DATABASESYSTEMER

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

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

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Oppgave 1 Datamodellering 25 %

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsskisse til eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsning til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

Løsningsforslag for Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgåve i TDT4145 Datamodellering og databasesystem

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

DBS18 - Strategier for Query-prosessering

Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer

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

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

Andre sett obligatoriske oppgaver i INF3100 V2013

Faglig kontakt under eksamen: Orestis Gkorgkas

Eksamensoppgåve i TDT4145 Datamodellering og databasesystem

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgåve i TDT4145 Datamodellering og databasesystem

HØGSKOLEN I SØR-TRØNDELAG

Databaser. Relasjonsmodellen 2 Læreboka: Kap. 2 Relasjonsmodellen

Integritetsregler i SQL. Primærnøkler

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

Repetisjon: Normalformer og SQL

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

Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder

Repetisjonsforelesning, SQL og utover

Integritetsregler i SQL

Andre sett obligatoriske oppgaver i INF3100 V2012

Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder Kontinuasjonseksamen

Løsningsforslag for Eksamensoppgave i TDT4190 Distribuerte systemer

EKSAMEN 6102 / 6102N DATABASER

SQL SELECT-FROM-WHERE. Skjemadefinisjon og datainnsetting i SQL. Semantikk bak ein-relasjons-spørring

TDT4225 Lagring og behandling av store datamengder

Databaser. Relasjonsmodellen 1 Læreboka: Kap. 2 Relasjonsmodellen Faglærere: Tore Mallaug, Kjell Toft Hansen

Integritetsregler i SQL

Sensorveiledning for IN2090 og INF desember :30 18:30 (4 timer)

Andre sett obligatoriske oppgaver iinf3100v2011

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

Relasjonsdatabasedesign

UNIVERSITETET I OSLO

Databaser: Relasjonsmodellen, del I

UNIVERSITETET I OSLO. Relasjonsmodellen. Relasjoner og funksjonelle avhengigheter. Institutt for Informatikk. INF Ellen Munthe-Kaas 1

Datamodellering og databaser SQL, del 2

Normalisering. Hva er normalisering?

INF212 - Databaseteori. Kursinnhold

Indre select-setninger Nestede select-setninger

TDT4145 Datamodellering og databasesystemer - kontinuasjonseksamen

Datamodellering og databaser SQL, del 2

INF1300 Relasjonsalgebra. Et matematisk fundament for å forstå SQL-setninger

INF3100 Databasesystemer

Join. Intuitivt: Skjøte sammen to relasjoner. Intuitivt: 1. Beregn R S 2. Velg ut de tuplene som tilfredsstiller joinbetingelsen C

EKSAMEN DATABASER

Alle attributter har NULL som mulig verdi. mulige verdier for integer: NULL, 0, 1, 2, 3...

IN2090 Introduksjon til databaser

Minikompendium TDT4145 databasemod og dbsys

Eksamensoppgave i TMA4140 Diskret matematikk

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

Normalisering. ER-modell

Normalisering. Hva er normalisering?

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

UNIVERSITETET I OSLO. Indeksering. Hvordan finne et element raskt? Institutt for Informatikk. INF Ellen Munthe-Kaas

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

Relasjonsdatabasedesign

Notater: INF1300. Veronika Heimsbakk 8. januar 2013

Oppgave 1 1. Spørring: Resultattabell: 2. Spørring: Resultattabell: 3. Spørring:

UNIVERSITETET I OSLO

UNIVERSITETET. Indeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Hashliknende strukturer.

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

UNIVERSITETET I OSLO SQL. Structured Query Language. (The intergalactic dataspeak) INF Ellen Munthe-Kaas 1. Institutt for Informatikk

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

INF1300 Introduksjon til databaser

UNIVERSITETET I OSLO SQL. Structured Query Language. (The intergalactic dataspeak) Institutt for Informatikk. INF Ragnar Normann 1

Relasjoner terminologi. Kopi av lysark fra forelesningen 13. oktober. Legges ut inntil notatet som samler alt om SQL kommer...

INF3100 Databasesystemer

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

Eksamensoppgåve i TDT4145 Datamodellering og databasesystem

UNIVERSITETET I OSLO

Datamodellering og databaser SQL, del 2

1. SQL datadefinisjon og manipulering

Innhold Forord Innledning Kapittel 1 Introduksjon til databaser og databasesystem

INF1300 Relasjonsalgebra og SQL, mengder og bager. Lysark for forelesning v. 2.1

UNIVERSITETET I OSLO SQL. Structured Query Language. (The intergalactic dataspeak) Institutt for Informatikk. INF Ellen Munthe-Kaas 1

UNIVERSITETET. Indeksering. Hvordan finne et element raskt? Vera Goebel, Ellen Munthe-Kaas

Transkript:

Side 1 av 8 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap LØSNINGSFORSLAG TIL EKSAMENSOPPGAVE I FAG TDT4145 DATAMODELLERING OG DATABASESYSTEMER Eksamensdato: 4. juni 2012 Eksamenstid: 15.00-19.00 Tillatte hjelpemiddel: D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt. Oppgave 1 Datamodellering 22 % ER-diagram med nøkkelattributter og attributter på relasjonsklassene: I forhold til den tekstlige beskrivelsen har vi her lagt til attributtene VindusPlass og Kjøpetidspunkt, det er ikke nødvendig å gjøre dette for å få full uttelling. Det kan finnes andre løsninger som er like gode eller bedre.

Side 2 av 8 Oppgave 2 Relasjonsalgebra og SQL 20 % a) Relasjonsalgebra: Oppgaven kan løses på andre måter som er like gode, for eksempel ved å bruke anti-joinoperatoren. b) Relasjonsalgebra: Oppgaven kan løses på andre måter som er like gode, for eksempel ved å bruke naturlig-joinoperatoren. c) SQL: select DISTINCT SL.SID, Navn, Nasjonalitet from SkøyteLøper as SL, Resultat as R, SkøyteLøp as L where SL.SID = R.SID and R.LID = L.LID and L.Distanse = 5000 and not exists (select * from Passeringer as P where P.LID = L.LID and P.SID = SL.SID and P.RundeTid >= 30) Oppgaven kan løses på andre måter som er like gode, for eksempel kan foreningen gjøres i from-delen av setningen. d) SQL:

Side 3 av 8 select LID, count(*) from Resultat group by LID having count(*) > 20 order by count(*) desc Oppgave 3 Teori 15 % a) Tillukningen, X +, til en mengde attributter, X, er mengden attributter som er funksjonelt avhengig av attributtene i X. ab + = abcde. b) En forening av R 1 og R 2 vil gjøre at alle b-verdier som er assosiert med en a-verdi, blir kombinert med alle (cdef)-verdier som er assosiert med samme a-verdi. For at dette skal være tapsløst må vi ha multi-verdi avhengighetene (mvd): a ->> b og a ->> cdef. c) Referanseintegritet vil si at alle fremmednøkler enten referer til et tuppel som finnes eller har null-verdi (ikke referer til noe). Oppgave 4 Mapping 5 % Et relasjonsskjema vil ha en tabell for entitetsklassen A med alle attributter, og en tabell for entitetsklassen B med alle attributter. Relasjonsklassen R kan legges til i tabellen for entitetsklassen på mange-siden av relasjonen, altså som ekstra attributter i tabellen for A og med en fremmednøkkel mot B. En alternativ løsning er å lage en egen tabell for R, med attributtene til relasjonsklassen og fremmednøkler mot A- og B- tabellene. Dersom α = 1 vil alle A-entiteter delta i en R-relasjon. Det taler for den første løsningen. Når α = 0 trenger ikke A-entiteter å ha en R-relasjon. I slike tilfeller kan det være aktuelt å velge den andre løsningen. Tre forhold som kan diskuteres er mengden null-verdier, behovet for å forene (joine) tabeller og den fysiske størrelsen på A-tabellen. Oppgave 5 -- Lagring, indekser og queryutføring 25 % a) Statisk hashing. Vi lager 3 bits hashverdier som vi bruker i a) og b). 121 1 001 204 4 100 731 3 011 547 3 011 800 0 000 221 5 101 932 4 100 145 1 001 112 0 000

Side 4 av 8 721 1 001 412 4 100 I oppgave a) bruker vi bare de to siste bitene (MOD 4): Gjennomsnittlig antall blokker er (8*1 + 3*2) / 11 = 1.27 I læreboka har de brukt delte overløpsblokker med overløpspekere direkte til postene. Dette er også en OK løsning til dette spørsmålet som gir samme gjennomsnittlig antall blokker aksessert. b) Lineær hashing: Her starter vi med 4 blokker og MOD 4. I oppgaven var det ved en feil opplyst MOD 8, men dette ble det informert om på eksamen like etter start av eksamen. Vi fyller på med poster inntil den første overflytsblokka er laget. Nå utvider vi hashfila med ei blokk og må ta i bruk et bit mer av hashfunksjonen for n<1. Da flytter noen poster (204 og 932) seg fra 00 til 100. 000 01 800 112 121 221 145 10 11 100 731 547 204 932 Neste overflytsblokk er:

Side 5 av 8 Så blir sluttilstanden (det er spurt om): c) B+-trær: Her har vi vist to alternative versjoner av splittingen. Den første viser den klassiske versjonen av B+-trær, hvor minste element i høyreblokka blir splitteelement, mens versjon to viser Elmasri/Navathe-versjonen hvor det største elementet i den venstre blokka blir splitteelement. Ved en splitt lager vi først plass ved å splitte den eksisterende blokka uten å se på den nye nøkkelen, etterpå setter vi inn den nye nøkkelen der den hører hjemme. Generelt er det lurt å lage all plass man trenger før man forsøker å utføre selve operasjonen.

Side 6 av 8

Side 7 av 8 d) Join: Vi bruker 1 bufferplass til resultat. Vi må dele Department i to deler og bruker 6 plasser til Department og har da 3 plasser til Employee. Vi får: 12 (hele Department)+ 2*2000 (hele Employee) = 4012 blokker som må leses.

Side 8 av 8 Oppgave 6 Transaksjoner 20 % a) Rollback: BeforeImage blir satt inn igjen for B og D, slik at vi får A: 30, B: 20, C: 40, D: 25. b) REDO: 102: Trenger ikke REDO da reclsn = 104. Vi starter redoscannet på 104, da det er eldste loggpost som kanskje trenger REDO utifra tilstanden til DPT (eldste reclsn i DPT). 104: Trenger kanskje REDO da reclsn = 104, leser inn blokka og ser at pagelsn = 104. Trenger ikke REDO. 106: Trenger ikke REDO da reclsn = 107. 107: Trenger kanskje REDO da reclsn = 107. Leser blokka og ser at pagelsn = 106. Gjør da REDO: Skriver inn AfterImage (D=26) og oppdaterer pagelsn til 107.