Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer

Like dokumenter
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

Eksamensoppgåve i TDT4145 Datamodellering og databasesystem

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

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Oppgave 1 Datamodellering 25 %

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

Oppgave 1 Datamodellering 22 %

Eksamensoppgåve i TDT4145 Datamodellering og databasesystem

Løsningsforslag for 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

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

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

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

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgåve i TMA4240 Statistikk

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

EKSAMEN 6102 / 6102N DATABASER

Eksamensoppgåve i LGU53004 Naturfag , Emne 1 Biologi

Eksamensoppgåve i ST0103 Brukarkurs i statistikk

EKSAMEN 6102 / 6102N DATABASER

Eksamensoppgåve i ST1201/ST6201 Statistiske metoder

EKSAMEN DATABASER

Eksamensoppgåve i TMA4295 Statistisk inferens

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

Repetisjon: Normalformer og SQL

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

EKSAMEN DATABASER

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

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

Eksamensoppgave i TTK4175 Instrumenteringssystemer

Eksamensoppgåve i ST0103 Brukarkurs i statistikk

Eksamensoppgåve i TMA4240 / TMA4245 Statistikk

Eksamensoppgåve i TDT4145 Datamodellering og databasesystem

Eksamensoppgåve i TMA4245 Statistikk

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

DBS18 - Strategier for Query-prosessering

Eksamensoppgåve i ST1201/ST6201 Statistiske metoder

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

Eksamensoppgåve i KJ1041 Kjemisk binding, spektroskopi og kinetikk

Eksamensoppgave i PED3544 Matematikkproblemer

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

UNIVERSITETET I OSLO

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

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

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

UNIVERSITETET I OSLO

Eksamensoppgave i POL1003 Miljøpolitikk, energipolitikk og ressursforvaltning

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgåve i TMA4267 Lineære statistiske modellar

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

Eksamensoppgave i SOS1016 Sosiologi og samfunn

Eksamensoppgave i AVS2235 Tekstanalyse og tekstutvikling

Eksamensoppgave i SOS1000 Innføring i sosiologi

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

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

Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder Kontinuasjonseksamen

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

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

Eksamensoppgave i SØK1004 Statistikk for økonomer

Eksamensoppgave i NORD1108 Nordisk litteraturhistorie, 7.5 sp.

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

UNIVERSITETET I OSLO

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

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

Eksamensoppgave i TMA4240 Statistikk

Datamodellering og databaser SQL, del 2

Løsningsforslag for Eksamensoppgave i TDT4190 Distribuerte systemer

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

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i MA1202/MA6202 Lineær algebra med anvendelser

Eksamensoppgave i TTK4175 Instrumenteringssystemer

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

Eksamensoppgave i SANT2100 Etnografisk metode

Eksamensoppgåve i Løsningsskisse TMA4245 Statistikk

Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder

Eksamensoppgave i MA0301 Elementær diskret matematikk løsningsforslag

Eksamensoppgåve i TMA4255 Anvendt statistikk

Oppgaver INF3100. Oversikt over innholdet

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

HØGSKOLEN I SØR-TRØNDELAG

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Transkript:

Institutt for datateknikk og informasjonsvitskap Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer Fagleg kontakt under eksamen: Svein Erik Bratsberg: 73550382 Eksamensdato: 12. august 2013 Eksamenstid (frå-til): 15:00 19:00 Hjelpemiddelkode/Tillatne hjelpemiddel: D Ingen trykte eller handskrivne hjelpemiddel tilletne. Bestemt, enkel kalkulator tillate. Annan informasjon: Målform/språk: Norsk nynorsk Sidetal: 5 Sidetal vedlegg: 0 Kontrollert av: 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 (20 %) Lag ein ER-modell (du kan bruke alle virkemiddel som er med i pensum) for følgjande situasjon: I hopprenn er det to omgangar. Det deltar hopparar som tildelast eit unikt startnummer for dette rennet. I første omgang starter hopparane i startnummer-rekkefølgje. I andre omgang deltar bare dei 30 beste hopparane etter første omgang. Disse hopparane starter i poengrekkefølgje, slik at hopparen som leder etter første omgang, hopper heilt til slutt. For kvar hoppar har vi eit unikt utøvarnummer, fornamn, etternamn, fødselsår og nasjonalitet. Eit hopp får ein poengsum som er summen av lengdepoeng og stilpoeng. Lengdepoenga reknast ut frå hoppets lengd og ein mengde parameter for den aktuelle bakken konstruksjonspunkt og meterverdi. Stilpoenga tildelast av 5 dommarar som kvar gir frå 0 til 20 poeng. Den lågaste og den høgaste poengsummen strykast. Summen av dei tre gjenståande dommarpoenga utgjør hoppets stilpoeng. Resultatlista for eit hopprenn ordnast på samla poengsum etter to hopp, slik at hopparen med høgast samla poengsum vinner. Eit hopprenn har 5 oppnemnte dommarar som har eit unikt dommarnummer, fornamn, etternamn og nasjonalitet. For å kunne gjøre statistiske analysar på dommarprestasjonar, skal alle dommarpoengsummer lagrast. I tillegg til hopplengd og stilpoeng tildelast kvart hopp ein status som kan ta verdiane ståande, fall, DNS (Did Not Start) og DSQ (DiSQualified). Eit hopprenn arrangerast i ein bestemt hoppbakke som har ein unik FIS-bakke-ID, namn, by, land, bakkestørrelse (HS Hill Size), konstruksjonspunkt (K-punkt), meterverdi og bakketype. Den lengste hopplengda som er oppnådd i bakken registrerast som bakkerekord. I samband med bakkerekord registrerast alle hopparar som har oppnådd denne lengda, og dato det skjedde for kvar hoppar. Hoppbakkar delast inn i bakketypar etter bakkestørrelse: Liten bakke (HS under 50 meter) Mellombakke (HS 50-84 meter) Normalbakke (HS 85-109 meter) Stor bakke (HS 110-184 meter) Skiflygingsbakke (HS over 184 meter) Lengdepoenga reknast ut ved at bakkens K-punkt brukast som tabellpunkt. Ei hopplengd tilsvarande K-punktet gir 60 poeng. Forskjellen mellom hoppets målte lengd og K-punkt-lengda multipliserast med bakkens meterverdi og trekkast frå/leggast til dei 60 poenga. Gjør kort greie for eventuelle føresetnader som du finner det nødvendig å gjøre. Side 2 av 5

Oppgåve 2 Relasjonsalgebra og SQL (20 %) Ta utgangspunkt i følgjande relasjonsdatabase (primærnøklar er understreka) for ein enkel bedriftsdatabase: Person(PID, Name, BirthYear, DepartmentID, RoomNo, DeskNo) DepartmentID er framandnøkkel mot Department-tabellen. Attributtet kan ikkje ha NULL-verdi. RoomNo, DeskNo er framandnøkkel mot Desk-tabellen. Begge attributta kan ha NULL-verdi. Department(DID, Name, LeaderID) LeaderID er framandnøkkel mot Person-tabellen. Attributtet kan ikkje ha NULL-verdi. Room(RoomNo, Type, Area, DepartmentID) DepartmentID er framandnøkkel mot Department-tabellen. Attributtet kan ikkje ha NULL-verdi Desk(No, RoomNo, PhoneNo) RoomNo er framandnøkkel mot Room-tabellen. Attributtet kan ikkje ha NULL-verdi. PhoneNo er framandnøkkel mot Phone-tabellen. Attributtet kan ha NULL-verdi. Phone(PhoneNo, RoomNo) RoomNo er framandnøkkel mot Room-tabellen. Attributtet kan ha NULL-verdi. Relasjonsalgebra kan formulerast som tekst eller grafar. Viss du beherskar begge notasjonane liker vi betre at du svarer med grafar, men du blir ikkje trekt for å svare med tekst. a) (4 %) Lag eit ER-diagram som i størst mulig grad samsvarer med relasjonsskjemaet. Gjør greie for eventuelle føresetnader du finner det nødvendig å gjøre. b) (4 %) Lag ei spørjing i relasjonsalgebra som finner PID og Name for alle personer som har arbeidsplass på rom som disponerast av avdelinga (department) som heter Økonomi. c) (4 %) Skriv ei SQL-setning som oppdaterer leiaren for økonomiavdelinga til Ole Hansen som har PID = 100. Du kan føresetje at denne personen finnast i Person-tabellen. d) (4 %) Skriv ei SQL-setning som lager eit view med alle tilsette i økonomiavdelinga. I dette viewet skal du ta med PID, Name og RoomNo. e) (4 %) Lag ei spørjing i SQL som finner alle rom der meir enn 4 personar har sin arbeidsplass. Du skal ta med RoomNo og talet på personar i resultatet. Resultatet skal være sortert etter talet på personar i fallande rekkefølgje. Side 3 av 5

Oppgåve 3 Teori (20 %) a) (5 %) Ta utgangspunkt i tabellen Athlete(ID, Name, BirthYear, Sex, Club, Region, StreetAddress, PostalCode, City) der F = { ID Name, BirthYear, Sex, Club, StreetAddress, PostalCode; Club Region; PostalCode City } er dei funksjonelle avhengigheitene som gjelder. Føresett at tabellen oppfyller krava til første normalform (1NF). Bestem den høgaste normalforma som oppfyllast av tabellen. Du må grunngi svaret. b) (7,5 %) Føresett tabellen Athlete og funksjonelle avhengigheiter som forklara i oppgåve a. Dekomponer denne tabellen slik at du får ein dekomponering med komponent-tabellar på så høg normalform som mulig. Vurder kvaliteten til den dekomponeringa du kommer fram til. c) (7,5 %) Føresett at F = { A B, CD A }. Fyll inn verdiar i alle dei tomme rutene i tabellen under. Dersom ei rute kan ha ein verdi som ikkje er eintydig bestemt, kan du bruke b ij (i = radnummer og j = kolonnenummer) som symbol for denne verdien. Oppgåve 4 Lagring, indeksar, queryutføyring (20 %) Vi har ein tabell for å lagre øvingsgodkjenning: Exercise (studno, exerno, status) For kvar av SQL-setningane nedanfor, foreslå korleis du vil lagre og indeksere tabellen (heapfiler, B+-trær, hashing). Føresett for kvar SQL-setning at denne typen setning er mest brukt. Viss du gjør bruk av ein indeks, fortell kva søkenøkkelen for indeksen er. a) INSERT INTO Exercise VALUES (123456, 5,'OK'); b) SELECT studno FROM Exercise WHERE status='ok'; c) SELECT studno FROM Exercise WHERE exerno=4 AND status='ok'; d) SELECT count(*) FROM Exercise WHERE studno=123456 AND status='ok'; Side 4 av 5

e) SELECT studno FROM Exercise GROUP BY studno HAVING count(*) > (SELECT count(*) FROM Exercise WHERE studno=123456 AND status='ok'); Forklar kvart svar og forklar kva for føresetnadar du evt. gjør. Oppgåve 5 Transaksjonar (10 %) a) Vis to motiverande eksempel for at vi innfører transaksjonar. b) SQL har 4 isolasjonsnivå for transaksjonar. Forklar eigenskapane til dei forskjellige nivåa. Oppgåve 6 Join (10 %) Føresett følgjande to tabellar: Fakultet(faknavn,faknr,dekanus) Student(studno,snavn,faknr) Føresett følgjande SQL query: SELECT snavn FROM Fakultet f, Student s WHERE f.faknr=s.fakr AND f.faknavn='ime'; Føresett Fakultet har 500 postar lagra i 10 diskblokkar og at Student har 80000 postar lagra i 2000 blokkar. Føresett vidare at du har plass til 8 blokkar samstundes i bufferet. Rekn ut talet av I/Oar for queriet ved bruk av følgjande joinmetodar: a) Nested loop join. b) Sort-merge join. Side 5 av 5