Løsningsskisse til eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Oppgave 1 ER- og relasjonsmodell 10 %

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsforslag for Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Oppgave 1 Datamodellering 22 %

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Oppgave 1 Datamodellering 25 %

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

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

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. Faglig kontakt under eksamen: Svein Erik Bratsberg og Roger Midtstraum

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

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

EKSAMENSOPPGÅVE I TDT4145 DATAMODELLERING OG DATABASESYSTEMER

Repetisjon: Normalformer og SQL

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

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

EKSAMEN DATABASER

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

Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder

DBS18 - Strategier for Query-prosessering

Eksamensoppgåve i TDT4145 Datamodellering og databasesystem

Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder Kontinuasjonseksamen

Normalisering. ER-modell

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

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

EKSAMEN 6102 / 6102N DATABASER

Øving 5: Transaksjonshåndtering, logging og normalisering

Minikompendium TDT4145 databasemod og dbsys

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

Løsningsforslag for Eksamensoppgave i TDT4190 Distribuerte systemer

Normalformer or Normalisering 1NF, 2NF, 3NF, BCNF

HØGSKOLEN I SØR-TRØNDELAG

Eksamensoppgave i MA1202/MA6202 Lineær algebra med anvendelser

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

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

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

Normalisering. Hva er normalisering?

Plenum: Nøkler, normalformer og funksjonelle avhengigheter

Normalisering. Hva er normalisering?

UNIVERSITETET I OSLO

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

Eksamensoppgave i PED3544 Matematikkproblemer

DBMS Database Management System (repetisjon) Programmeringsgrensesnitt. Serialiserbarhet

Transaksjoner og flerbrukerproblematikk. Transaksjoner

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

Eksamensoppgave i MA0301 Elementær diskret matematikk løsningsforslag

1. Normalisering Kommentarer til læreboka

Isolasjon i postgres og mysql

Databasemodellering og DBMS. Oppsummering

Relasjonsdatabasedesign

TDT4145 Datamodellering og databasesystemer

Oppdateringsanomalier Normalformer

IN2090 Databaser og datamodellering. Databasedesign og normalformer

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

Eksamensoppgave i MA1201 Lineær algebra og geometri

Eksamensoppgave i TDT4186 Operativsystemer

TDT4225 Lagring og behandling av store datamengder

Skisse til løsning for eksamensoppgave i TDT4186 Operativsystemer

INF3100 V2018 Obligatorisk oppgave nr. 2

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

Løsningsforslag maskindatabasen på Ifi SQL og normalisering

EKSAMEN 6102 / 6102N DATABASER

Innhold Forord Innledning Kapittel 1 Introduksjon til databaser og databasesystem

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

UNIVERSITETET. Relasjonsdatabasedesign

Eksamensoppgave i PED3582 Mediedanning og mediepedagogikk

Dagens tema: Oppdateringsanomalier Normalformer

UNIVERSITETET I OSLO

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

Løsningsforslag til Eksamensoppgave i TDT4190 Distribuerte systemer

Eksamensoppgave i MA0002 Brukerkurs i matematikk B - LØSNING

UNIVERSITETET I OSLO

Relasjonsdatabasedesign

Eksamensoppgave i TMA4150 Algebra

Eksamensoppgave i TMA4320 Introduksjon til vitenskapelige beregninger

INF1300 Introduksjon til databaser

Eksamensoppgave i SOS1000 Innføring i sosiologi

Integritetsregler i SQL. Primærnøkler

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

UNIVERSITETET I OSLO

Eksamensoppgave i MA0301 Elementær diskret matematikk løsningsforslag

Eksamensoppgave i ST0103 Brukerkurs i statistikk

Transkript:

Institutt for datateknikk og informasjonsvitenskap Løsningsskisse til eksamensoppgave i TDT4145 Datamodellering og databasesystemer Eksamensdato: 12. august 2013 Eksamenstid (fra-til): 15:00-19:00 Hjelpemiddelkode/Tillatte hjelpemidler: D Ingen trykte eller håndskrevne hjelpemidler tillatt. Bestemt, enkel kalkulator tillatt. Annen informasjon: 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 %) Side 2 av 6

Oppgave 2 Relasjonsalgebra og SQL (20 %) a) Vi gjør følgende forutsetninger: En person kan være leder for flere avdelinger, men trenger ikke å være leder. En avdeling har minst en ansatt. En avdeling trenger ikke å ha noe rom. Et rom trenger ikke å ha noen arbeidsplass, men kan ha flere. Et rom trenger ikke å ha en telefon, men kan ha flere. Et telefonnummer trenger ikke å være tilknyttet en arbeidsplass, men kan være tilknyttet flere. En arbeidsplass trenger ikke å ha en tilknyttet person, men kan ha flere. b) Relasjonsalgebra: Side 3 av 6

c) SQL: UPDATE Department SET LeaderID = 100 WHERE Name = Økonomi ; d) SQL: CREATE VIEW Okonomi AS SELECT PID, P.Name, RoomNo FROM Person AS P, Department AD D WHERE DepartmentID = DID AND D.Name = Økonomi ; e) SQL: SELECT RoomNo, count(pid) FROM Person GROUP BY RoomNo HAVING count(pid) > 4 ORDER BY count(pid) DESC; Oppgave 3 Teori (20 %) a) ID er den eneste kandidatnøkkelen for tabellen. Siden vi ikke har en sammensatt nøkkel, kan vi ikke ha delvise avhengigheter av nøkkelen. Tabellen vil derfor være på andre normalform (2NF). Vi har to avhengigheter, Club Region og PostalCode City, der venstresideattributtene ikke er en supernøkkel og høyresideattributtene ikke er nøkkelattributter. Tabellen er derfor ikke på tredje normalform (3NF). b) Clubs(Club, Region), PostalCodes(PostalCode, City) og Athletes(ID, Name, BirthYear, Sex, Club, PostalCode). Komponent-tabellene er på BCNF siden alle funksjonelle avhengigheter har venstresider som er supernøkkel aktuell tabell. Dekomponeringen har attributtbevaring siden alle attributter i utgangspunktet er med i minst en tabell. Alle avhengighetene i F er ivaretatt i minst en komponent-tabell. Dette sikrer bevaring av funksjonelle avhengigheter. Athletes joiner tapsløst med Clubs siden det felles attributtet (Club) er supernøkkel i Clubs. Resultatet av denne foreningen joiner tapsløst med PostalCodes siden det felles attributtet (PostalCode) er supernøkkel i PostalCodes. Resultatet av denne foreningen er lik Athlete-tabellen som vi startet med. Dekomponeringen med andre ord tapsløst join egenskapen. Dekomponeringen har god kvalitet siden den oppfyller alle de fire kravene som bør oppfylles ved dekomponering av en tabell. Side 4 av 6

c) Utfylt tabell, nye verdier er markert med grønn bakgrunnsfarge: I tillegg vil det være slik at b55 ikke kan være lik 5 eller 6. Kombinasjonen av b33 og b34 kan ikke ha verdien (4,6) eller (4, b55). Oppgave 4 Lagring, indekser og queryutføring (20 %) a) Hvis du bare setter inn, er heapfil veldig greit da du ikke trenger å søke. b) Her vil de fleste poster sannsynligvis kvalifisere og en heapfil er da grei nok da alle postene må insisperes. c) Her kan et B+-tre organisert på søkenøkkel (exerno, studno) være en god løsning. Da er postene clustret omkring exerno. Ellers er en heapfil et mulig svar her også. d) Her kan et B+-tre med søkenøkkel (studno, exerno) være en god løsning. e) Her kan et B+-tre med søkenøkkel (studno, exerno) igjen være en god løsning. Oppgave 5 Transaksjoner (10 %) a) Det ene eksempelet bør være om flerbrukerproblematikk. Det andre eksempelet bør være om abortering og halvgjorte transaksjoner. b) De fire isolasjonsnivåene i SQL forklares som regel ved den følgende tabellen: Level Dirty read Unrepeatable read Phantom READ UNCOMMITTED Maybe Maybe Maybe READ COMMITTED No Maybe Maybe REPEATBLE READ No No Maybe SERIALIZABLE No No No Side 5 av 6

Oppgave 6 Join (10 %) a) Nested loop join. For bruk av buffer kan vi ha ei blokk til resultat og ei blokk til den ene tabellen og 6 til den andre. Vi må da lese inn Fakultet i to runder (antar 5 i hver) og for hver runde må hele Student leses: 2 * (5 + 2000) = 4010 I/Oer. b) Sort-merge join. Bruker notasjonen fra læreboka Elmasri/Navathe. Sorterer Fakultet. b = 10. n B = 8. n r = Ceiling (10/8) = 2 sorterte delfiler. Merge: d M = n B -1 = 7. Ceiling (log 7 (2)) = 1 pass. 2 * 10 + 2*10*1 = 40 I/Oer. Sorter Student. b = 2000, n B = 8. n r = ceiling(2000/8) = 250 sorterte delfiler. Merge: d M = n B -1 = 7. Ceiling(log 7 (250)) = 3 pass. 2 * 2000 + 2*2000*3 = 16000 I/Oer. Join av sorterte delfiler: 10 + 2000 = 2010 I/Oer, Totalt: 40+16000 + 2010 = 18050 I/Oer. Side 6 av 6