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



Like dokumenter
Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Oppgave 1 Datamodellering 25 %

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

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Oppgave 1 Datamodellering 22 %

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

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

Oppgave 1 ER- og relasjonsmodell 10 %

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsskisse til eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsskisse til eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Normalisering. ER-modell

Eksamensoppgåve 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

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

EKSAMENSOPPGÅVE I TDT4145 DATAMODELLERING OG DATABASESYSTEMER

Løsning til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsskisse 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

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer

Andre sett obligatoriske oppgaver i INF3100 V2013

Eksamensoppgåve i TDT4145 Datamodellering og databasesystem

UNIVERSITETET I OSLO

Minikompendium TDT4145 databasemod og dbsys

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

UNIVERSITETET I OSLO

Eksamensoppgåve i TDT4145 Datamodellering og databasesystem

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

Repetisjon: Normalformer og SQL

TDT4145 Datamodellering og databasesystemer

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

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

INFO122 Innføring i databaser. Oblig 2. av Frode H. Pedersen, Kjartan B. Michalsen og Kristin Breivik

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

Andre sett obligatoriske oppgaver i INF3100 V2012

Databasemodellering og DBMS. Oppsummering

Øving 5: Transaksjonshåndtering, logging og normalisering

Andre sett obligatoriske oppgaver iinf3100v2011

HØGSKOLEN I SØR-TRØNDELAG

Eksamensoppgåve i TDT4145 Datamodellering og databasesystem

Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder Kontinuasjonseksamen

EKSAMEN 6102 / 6102N DATABASER

Repetisjonsforelesning, SQL og utover

Datamodellering og databaser SQL, del 2

UNIVERSITETET I OSLO

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

EKSAMEN DATABASER

DBS18 - Strategier for Query-prosessering

TDT4225 Lagring og behandling av store datamengder

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

1. SQL datadefinisjon og manipulering

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

Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder

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

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

UNIVERSITETET I OSLO

Relasjonsdatabasedesign

Faglig kontakt under eksamen: Orestis Gkorgkas

TDT4145 Datamodellering og databasesystemer - kontinuasjonseksamen

Metaspråket for å beskrive grammatikk

HØGSKOLEN I SØR-TRØNDELAG

DBS22 Databasegjenopprettingsteknikker

En liten rekap. Spørrespråk. I dag SELECT

EKSAMENSOPPGAVE I FAG TDT4117 INFORMASJONSGJENFINNING (SENSURVEILEDNING)

Databaser (TDT4146) Innhold. Frederik M.J.V MTDT 8. mai 2009

Løsningsforslag Eksamen i TDT4190 Distribuerte systemer

Introduksjon til fagfeltet

1. Normalisering Kommentarer til læreboka

Løsningsforslag for Eksamensoppgave i TDT4190 Distribuerte systemer

ITGK - H2010, Matlab. Dagens tema : Teori - Databaser

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

UNIVERSITETET I OSLO

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

Transaksjonsmodell. Samtidighet (1) ACID-transaksjoner. Samtidighet (2) Systemkræsj (1) Kapittel 17, Coping With System Failure

Spørsmålskompilering del 1

EKSAMENSOPPGAVE I FAG TDT4186 OPERATIVSYSTEMER. Faglig kontakt under eksamen: Svein Erik Bratsberg og Arvid Staupe

Datamodellering og databaser SQL, del 2

Oppgaver INF3100. Oversikt over innholdet

Spørsmålskompilering del 1

1. SQL spørringer mot flere tabeller

Datamodellering og databaser SQL, del 2

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

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

Relasjonsalgebra. Hva?

SELECT DISTINCT Fornavn, Etternavn, Programtittel FROM Program P, Medvirkende M, Deltagelse D. SELECT Tilgjengelighet FROM Program

UNIVERSITETET I OSLO

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

9-14. Tid: Målform: Sidetall: Hjelpemidler: Ingen. Merknader: Vedlegg: en lapp og. Avdeling

Fakultet for informasjonsteknologi,

Transkript:

Side 1 av 6 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap LØSNINGSFORSLAG TIL EKSAMENSOPPGAVE I FAG TDT4145 DATAMODELLERING OG DATABASESYSTEMER, ver 18.mai 2011 Faglig kontakt under eksamen: Svein Erik Bratsberg Tlf.: 50382 Eksamensdato: 26. mai 2009 Eksamenstid: 09.00-13.00 Tillatte hjelpemiddel: D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt. Språkform: Bokmål Sensurdato: 16. juni 2009

Side 2 av 6 Oppgave 1 Datamodellering 20 % Det kan gjøres en del antagelser og forenklinger her. For eksempel antar vi at en rolle innehas kun av en skuespiller. Det kan legges på flere eksistensavhengigheter her, for eksempel at et selskap ikke er et selskap uten å ha gitt ut noen film og lignende. En annen løsning er å forenkle hierarkiene, slik at vi har Person, Film, Rolle, Kategori, Serie og Selskap som entitetsklasser, og har mange relasjoner mellom disse.

Side 3 av 6 Oppgave 2 Relasjonsalgebra og SQL 25 % NB. Det er ikke spurt om SQL i a) og b), kun algebra. a) PROJECT_fagnavn (SELECT_(studnavn='Ole Brum')Student JOIN Oving JOIN Fag) FROM Fag, Oving, Student WHERE Student.studnavn='Ole Brum' AND Student.studnr=Oving.studnr AND Oving.fagnr=Fag.fagnr; b) PROJECT_fagnavn (FAG) - PROJECT_fagnavn (SELECT_(studnavn='Ole Brum')Student JOIN Oving JOIN Fag) FROM Fag

Side 4 av 6 EXCEPT FROM Fag, Oving, Student WHERE Student.studnavn='Ole Brum' AND Student.studnr=Oving.studnr AND Oving.fagnr=Fag.fagnr; c) d) e) f) SELECT epost FROM Oving, Student WHERE Student.studnr=Oving.studnr AND Oving.fagnr='TDT4145'; CREATE VIEW Svarteliste AS SELECT Student.studnr, Student.studnavn FROM Student, Oving WHERE Student.studnr=Oving.studnr AND Oving.fagnr='TDT4145' AND Oving.godkjent='Ja' GROUP BY Student.studnr, Student.studnavn HAVING count(*)<5; SELECT studnavn, COUNT(*) FROM Student, Oving WHERE Student.studnr=Oving.studnr AND Oving.godkjent='Ja' GROUP BY studnavn ORDER BY COUNT(*) DESC; FROM Fag, Oving WHERE Fag.fagnr=Oving.fagnr AND Oving.godkjent='Nei' GROUP BY Fag.fagnavn HAVING count(*)>= ALL (SELECT count(*) FROM Fag, Oving WHERE Fag.fagnr=Oving.fagnr AND Oving.godkjent='Nei' GROUP BY Fag.fagnavn); Oppgave 3 Lagring og indekser 25 % a) Variabellengdeposter er beskrevet i 9.7.2 med to forskjellige formater, enten med feltpekere eller med feltseparasjonstegn. Blokkformater er beskrevet i læreboka i 9.6. Blokker med variabellengdeposter kan ha postene lagret unpacked fra starten av blokka, mens slutten har et slot directory med pekere til postene og antall pekere.

Side 5 av 6 b) Antar at det ikke er slettet noen poster i databasen. i. Heapfil: 200 blokker med 120 poster hver i gjennomsnitt. ii. Clustered B-tre-indeks: Løvnivå: 200/0.67 = 300 blokker. 1.indeks: 300 poster * 12 byte = 3600 byte, dvs en blokk. Svar 301, evt. 300 eller 299 (avhengig av avrunding for løvnivå). iii. iv. Clustered hash-indeks: 200/0.8 = 250 blokker. Unclustered B-tre-index med heapfil: 200 (heapfil) + 24000*12/(8192*0.67) gir 53 (Btre løvnivå) + 1 (B-tre nivå 1) = 254. b) Av de måtene som er nevnt ovenfor, bestem hvilke/hvilken som er de/den mest hensiktsmessige måten å lagre tabellen gitt at de følgende SQL-setningene er dominerende. Begrunn svarene: i. Clustered hashindex. Suveren på direkteaksess på hashnøkkel. ii. iii. iv. Heapfil. Billig å sette inn. Unclustered B-tre. Bruk kun indeksen, ikke heapfil. Trenger bare å lese 54 blokker. Clustered B-tre, slipper sortering. Evt heapfil med intern sortering i minne. Oppgave 5 Transaksjoner 15 % i) ii) T 1 T 2 T 1 T 2 T 3 T 3 iii) T 1 T 2 T 3 (1) T3 -> T1, T3 -> T2, T1 ->T2, T2->T3: sykel, ikke konliktserialiserbar (2) T3 -> T1, T1->T2, T3->T2, konliktserialiserbar r 3 (X); r 3 (Y); w 3 (Y);r 1 (X); r 1 (Z); w 1 (X); r 2 (Z); r 2 (Y);w 2 (Z);w 2 (Y) (3) T3-> T1, T1->T2, T1->T3, T2->T3, T3 ->T2. Sykler, ikke konliktserialiserbar. b) ARIES bruker Dirty Page Table (DPT) og reclsn som sier hvilke datablokker som var skitne (dirty) ved et sjekkpunkt og den første loggposten (reclsn) som gjorde datablokka skitten siden den sist var skrevet til disk. Dette er informasjon som er skrevet i sjekkpunktloggposten. Dette gjør at ARIES slipper å lese inn en del datablokker ved REDO recovery. Når redo ser på en loggpost (med referanse til ei datablokk): Hvis datablokka ikke er DPT, trenger redo ikke å lese den inn. Hvis datablokka er i DPT, men har en reclsn som er større enn LSNen til loggposten, da trenger ikke redo lese datablokka inn. Oppgave 6 Normalisering 15% Gitt følgende tabell som registrerer en fast ukeplan for forelesninger ved NTNU: Forelesning(auditorium,bygning,faglærer,antallSittepl,ukedag,tid,fagnr)

Side 6 av 6 a) Foreslå hvilke funksjonelle avhengigheter som gjelder for denne tabellen. Tanken her var å modellere NTNU. Auditorium -> bygning, antallsitteplasser Auditorium, ukedag, tid -> fagnr Fagnr -> faglærer Antar her at det ikke er flere faglærere for et fag og at auditorium har unike navn. Hvis det er flere faglærere for et fag, blir avhengighetene: Ukedag,tid,fagnr->faglærer,auditorium Auditorium->bygning,antallSitteplasser Ukedag,tid,auditorium->fagnr,faglærer b) Finn alle kandidatnøkler for tabellen Tillukningen {auditorium,ukedag,tid}+ = alle attributtene i tabellen Dette er en supernøkkel og den er minimal. Altså, en nøkkel for tabellen. {fagnr,ukedag,tid} vil også være en kandidatnøkkel hvis det er flere faglærere per fag som antas. c) Vis hvordan tabellen bør normaliseres slik at alle de resulterende tabellene oppfyller kravene til Boyce-Codd normalform (BCNF). Tar tak i funksjonelle avhengigheter som bryter med BCNF. Dekomponerer til tre tabeller R1(audiorium,bygning,antallsittepl) R2( fagnr,faglærer) R3(auditorium,ukedag,tid,fagnr) Tabellene kan omdøpes til: Auditorium(auditorium,bygning,antallSittepl) Fag(fagnr,faglærer) Forlesning(auditorium,ukedag,tid,fagnr) Med den ekstra antagelsen får vi følgende oppdeling: Forelesning(ukedag,tid,fagnr,auditorium,faglærer) Auditorium(auditorium,bygning,antallSitteplasser) Ukedag,tid,auditorium er også kandidatnøkkel for Forlesning.