Eksamensoppgåve i TDT4145 Datamodellering og databasesystem

Like dokumenter
Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer

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

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgåve i TDT4145 Datamodellering og databasesystem

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

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

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øsningsskisse til eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgåve i TDT4145 Datamodellering og databasesystem

Løsning til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsforslag for Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

Oppgave 1 Datamodellering 25 %

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

Oppgave 1 Datamodellering 22 %

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Oppgave 1 ER- og relasjonsmodell 10 %

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgåve i TDT4145 Datamodellering og databasesystem

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgåve i LGU53004 Naturfag , Emne 1 Biologi

Eksamensoppgåve i TMA4240 Statistikk

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

Eksamensoppgåve i Løsningsskisse TMA4245 Statistikk

INF3100 V2018 Obligatorisk oppgave nr. 2

Normalisering. ER-modell

Repetisjonsforelesning, SQL og utover

Eksamensoppgåve i TMA4250 Romleg Statistikk

UNIVERSITETET I OSLO

Eksamensoppgåve i ST0103 Brukarkurs i statistikk

Eksamensoppgåve i ST1201/ST6201 Statistiske metoder

Normalisering. Hva er normalisering?

Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder Kontinuasjonseksamen

TDT4145 Datamodellering og databasesystemer

Normalisering. Hva er normalisering?

Eksamensoppgåve i ST0103 Brukarkurs i statistikk

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

Eksamensoppgave i SOS1016 Sosiologi og samfunn

Eksamensoppgåve i KJ1041 Kjemisk binding, spektroskopi og kinetikk

ARK H - Digital arkivdanning I Mappebeskrivelse. OBS Eksamen består av fire delar!

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Eksamensoppgave i NORD1108 Nordisk litteraturhistorie, 7.5 sp.

UNIVERSITETET I OSLO

Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder

Løsningsforslag for Eksamensoppgave i TDT4190 Distribuerte systemer

Eksamensoppgave i MA0301 Elementær diskret matematikk løsningsforslag

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

Eksamensoppgåve i TMA4255 Anvendt statistikk

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

Eksamensoppgåve i TMA4245 Statistikk

S1-eksamen hausten 2017

S1-eksamen hausten 2017

Eksamensoppgave i SOS1000 Innføring i sosiologi

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

Andre sett obligatoriske oppgaver i INF3100 V2013

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

Eksamensoppgave i TTK4175 Instrumenteringssystemer

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

Eksamensoppgave i SOS1000 Innføring i sosiologi

TDT4145 Datamodellering og databasesystemer - kontinuasjonseksamen

Eksamensoppgave i MA0301 Elementær diskret matematikk løsningsforslag

Eksamensoppgåve i ST1201/ST6201 Statistiske metoder

Matematikk 1, 4MX25-10

Eksamensoppgave i AVS2235 Tekstanalyse og tekstutvikling

ARK H - Digital arkivdanning og -bevaring I Mappebeskrivelse. Eksamen består av fire delar. Den engelske versjonen bør sjåast som

Eksamensoppgåve i TMA4240 / TMA4245 Statistikk

UNIVERSITETET I OSLO

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

Normalisering. Hva er normalisering?

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

Eksamensoppgave i NORD1102, (utsatt prøve) Nordisk språk moderne, 15 sp.

UNIVERSITETET I OSLO

Andre sett obligatoriske oppgaver i INF3100 V2012

MATEMATIKK 1 for 1R, 4MX130SR09-E

Eksamensoppgåve i TMA4295 Statistisk inferens

Eksamen. 15. november MAT1006 Matematikk 1T-Y. Yrkesfaglege utdanningsprogram Yrkesfaglige utdanningsprogram

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamen våren Fag: MAT1001 Matematikk 1P-Y. Eksamensdato: Tysdag 13. mai Kunnskapsløftet. Vidaregåande trinn 1. Yrkesfag.

Eksamensoppgave i SØK1011 Markeder og markedssvikt

Eksamensoppgave i TMA4140 Diskret matematikk

Eksamen MAT1008 Matematikk 2T. Nynorsk/Bokmål

MFG2003 Bransje, fag og miljø

Eksamensoppgave i POL1003 Miljøpolitikk, energipolitikk og ressursforvaltning

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

UNIVERSITETET I OSLO

Eksamensoppgave i SØK3515 / SØK8615 Mikro- og paneldataøkonometri

Øving 5: Transaksjonshåndtering, logging og normalisering

Transkript:

Institutt for datateknikk og informasjonsvitskap Eksamensoppgåve i TDT4145 Datamodellering og databasesystem Fagleg kontakt under eksamen: Roger Midtstraum: 995 72 420 Svein Erik Bratsberg: 995 39 963 Eksamensdato: 17. august 2016 Eksamenstid (frå-til): 15:00-19:00 Hjelpemiddelkode/Tillatne hjelpemiddel: D Ingen trykte eller handskrivne hjelpemiddel tillatne. Bestemt, enkel kalkulator tillate. Annan informasjon: Målform/språk: Norsk nynorsk Sidetal: 7 Sidetal vedlegg: 0 Kontrollert av: Svein-Olaf Hvasshovd (sign.) Dato Sign. Merk! Studentane finn sensur i Studentweb. Har du spørsmål om sensuren må du kontakte instituttet ditt. Eksamenskontoret vil ikkje kunne svare på slike spørsmål.

Oppgåve 1 Datamodellar (18 %) Lag ein ER-modell (du kan bruke alle modellelement som er med i pensum) for denne situasjonen: Ein skal lage ein applikasjon for å halde oversikt over vegar, vegstandard, fartsgrenser og ulykker. Vegnettet er organisert som illustrert i figuren under. Vi har endepunkt (vist med bokstavar i figuren) som har ein kjent posisjon (x-koordinat, y-koordinat og høgde). Mellom to endepunkt kan det vere eit vegsegment som har eit startpunkt, eit endepunkt og ei lengde (vist med tall i figuren). Ein veg består av eit eller fleire vegsegment, nummerert slik at vi får ein samanhengande veg frå start- til endepunkt. Eit vegsegment kan ikkje vere med i fleire vegar og det kan vere vegsegment som ikkje er del av nokon veg. Vi har nokon førehandsdefinerte fartsgrenser. Alle vegsegment har ei fartsgrense. Om ein ønskjer å differensiere fartsgrensa innan eit vegsegment, må dette vegsegmentet splittas opp i fleire vegsegment, slik at kvart vegsegment får ei og same fartsgrense. Tilsvarande har vi nokon førehandsdefinerte vegstandardar, kvar med ein forklarande tekst. Alle vegsegment har ein vegstandard og splittas om nødvendig opp i fleire vegsegment for at det skal vere slik. Ein veg har eit eintydig vegnummer, eit vegnamn og ei samla veglengde. Ulykker blir registert med tid, dag, månad og år, samt ein tekst som omtalar ulykka. Ulykker klassifiserast etter kor alvorlege dei var, basert på eit førehandsdefinert klassifikasjonssystem. På den eine sida registrerast ulykka si menneskelege konsekvens ( dødsulykke, alvorlig personskade, mindre personskade, liten eller ingen personskade ) og på den andre sida registrerast ulykka si materiell konsekvens ( omfattande materielle skada, mindre materielle skada, liten eller ingen materiell skade ). Knytt til kvart nivå finst det ein tekst som gjer klart kriteria for å klassifisere ulykka på dette nivået. For ei ulykke skal ein kunne registrere kor mange køyretøy som var med og om ulykka var årsaka av trafikkregelbrot eller ikkje. For å posisjonere ei ulykke skal den plasserast i aktuelt vegsegment, med ei lengde (offset) som viser kor langt frå vegsegmentet sitt startpunkt ulykka skjedde. Forklar kort eventuelle føresetnader du finn det nødvendig å gjere. Side 2 av 7

Oppgåve 2 Relasjonsdatabaser, ER-modellar, relasjonsalgebra og SQL (18 %) Gitt eit relasjonsdatabase-skjema for ein smakstest-database for brus. Primærnøklar er understreka. SoftDrink(SDID, ProductName, Taste) TestPerson(TPID, Name, Sex, Age) Ranking(RID, Description) TasteTest(TTID, TPID, SDID, RID, TTYear, TTMonth, TTDay) TPID er framandnøkkel mot TestPerson-tabellen. Kan ikkje ha NULL-verdi. SDID er framandnøkkel mot SoftDrink-tabellen. Kan ikkje ha NULL-verdi. RID er framandnøkkel mot Ranking-tabellen. Kan ikkje ha NULL-verdi. Relasjonsalgebra kan formulerast som tekst eller grafar. Om du kan begge notasjonane føretrekk vi at du svarer med grafar, men du blir ikkje trekt for å svare med tekst. a) I figuren under har vi vist to alternative ER-modellar for denne databasen. Kva for eit alternativ samsvarar best med relasjonsskjemaet? Du må grunngje svaret ditt. NB! Oppgavesettet fortsetter på neste side. Side 3 av 7

b) Lag ei spørjing i relasjonsalgebra som finn namn, kjønn og alder for alle som har testa brus (eng: soft drink) med pineapple-smak. Resultatet skal ikkje innehalde duplikat (like rader). c) Ein ønskjer at alle testpersonar skal gjere smaksvurdering av alle brusar. Lag ei spørjing i relasjonsalgebra som finn TPID og SDID for kombinasjonar av testperson og brus som manglar i databasen. d) Skriv ei spørjing i SQL som finn gjennomsnittsalder for testpersonar som har gitt brus med pineapple-smak rangering med definisjonen (eng: description) awesome. e) Skriv ei spørjing i SQL som for kvar rangering finn ut kor mange smakstestar som har gitt denne karakteren. Resultatet skal innehalde RID, Description og talet på smakstestar, og skal vere sortert på RID (i stigande rekkefølgje). f) Skriv ei spørjing i SQL som finn alle brusar med orange-smak som har fått fleire enn 5 awesome vurderingar frå kvinnelege testpersonar. Resultatet skal innehalde SDID, ProductName og talet på awesome vurderingar. Oppgåve 3 Datamodellering og relasjonsdatabasar (7 %) a) Kva vil det seie at ei spesialisering (eng: specialization) av ein entitetsklasse er disjunkt? b) Kva vil det seie at ei spesialisering av ein entitetsklasse er total? c) Kva vil det seie at tabellar (relasjonar) i relasjonsdatabasar har referanseintegritet (eng: referential integrity)? Oppgåve 4 Normaliseringsteori (5 %) Under er vist ein tabellførekomst for tabellen R. Finn alle funksjonelle avhengnadar (eng: functional dependencies) som ikkje kan gjelde for tabellen om denne tabellførekomsten er gyldig. Side 4 av 7

Oppgåve 5 Normaliseringsteori (12 %) a) (2 %) Gitt tabellen R(A,B,C,D) og F={A->C, B->D}. Anta at tabellen oppfyller første normalform. Forklar kvifor dette er den høgste normalforma som oppfyllast av tabellen. b) (5 %) Gitt tabellen R(A,B,C,D) og F={A->C, B->D}. Anta at tabellen oppfyller første normalform. Finn ei dekomponering der alle komponenttabellar er på Boyce-Codd normalform (BCNF) og som oppfyller alle andre eigenskaper som ein normalt ønskjer. Forklar kvifor det er slik. c) (5 %) Gitt tabellen R(A,B,C,D) og F={A->C}. Ei dekomponering i R1(A,B) og R2(B,C,D) har ikkje tapsløst-join eigenskapen. Lag eit konkret eksempel (med tabellførekomstar) som viser at det er slik. Oppgåve 6 B+-trær (10 %) Sett inn følgjande nøklar i eit B+-tre: 23, 11, 12, 16, 30, 17, 6, 4, 7, 13. Føresett at det er plass til tre nøklar per blokk, både på lauvnivå og lengre opp i treet (men 4 peikare til nivået under). Vi tilstanden til B+-treet kvar gang du skal til å splitte ei blokk, og vis treet til slutt. Side 5 av 7

Oppgåve 7 Queries og join (10 %) a) Vi har ein tabell Staff (staffno, fname, lname, depno, position, salary) Det er to typar SQL-setninger som er vanlige i databasen: 1) SELECT fname, lname, salary FROM Staff WHERE salary = (SELECT MAX(salary) FROM Staff); 2) UPDATE Staff SET Salary = Salary + 0.01*Salary WHERE staffno=123456; Korleis burde denne tabellen lagrast og indekserast for at dei to typane av queries skal kunne utførast effektivt. Gi ei forklaring for ditt svar. b) I tillegg til tabellen i a) har vi tabellen Department (depno, dname, managerno, location) Vi skal utføre ein nested loop-join mellom dei to tabellane. Staff er her lagra i ei heapfil med 1000 blokker, mens Department er lagra i ei heapfil med 30 blokker. Vi har eit buffer tilgjengeleg med 7 blokker. Kor mykje I/O får vi ved ein nested loop-join? Gi svaret i talet på blokker du må lese inn frå disk. Du treng ikkje rekne med skriveoperasjonar her. Oppgåve 8 Historie og tofaselåsing (2PL) (10 %) Gitt følgjande historie: H1: r1(x); r2(y); r1(y); r3(x); r3(y); w1(x); c1; w3(y); c3; r2(x); w2(z); c2; a) Tekn opp presedensgrafen og avgjør om historien er konfliktserialiserbar. b) Innfør tofaselåsing (2PL, rigorous) med lese- og skrivelåsar i H1. Skriv om historien H1 slik at han gjør bruk av låsar og vis korleis han da utførast. Når ein transaksjon må vente på ein lås, stopper denne transaksjonen, men andre transaksjonar kan fortsette. Den stoppede transaksjonen kan fortsette når dei blokkerande låsane slippast. Låsoppgradering er mogleg. Side 6 av 7

Oppgåve 9 Recovery (10 %) a) Ved bruk av ARIES-recovery har vi tre forskjellige testar som vi kan gjøre slik at vi veit at ein loggpost ikkje treng REDO. Kva for tester er det? b) Kva skjer med logg- og databuffer i ARIES når ein transaksjon committer? Side 7 av 7