Eksamensoppgave i TDT4145 Datamodellering og databasesystemer



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

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

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

Løsningsskisse til eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsskisse til eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsning til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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.

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Oppgave 1 ER- og relasjonsmodell 10 %

Eksamensoppgåve i TDT4145 Datamodellering og databasesystem

Oppgave 1 Datamodellering 22 %

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 TDT4145 DATAMODELLERING OG DATABASESYSTEMER

Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer

Oppgave 1 Datamodellering 25 %

EKSAMEN DATABASER

Miniverden og ER- modell

EKSAMEN 6102 / 6102N DATABASER

UNIVERSITETET I OSLO

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

Datamodellering og databaser SQL, del 2

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

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

Eksamensoppgåve i TDT4145 Datamodellering og databasesystem

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.

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

Eksamensoppgave i MA0301 Elementær diskret matematikk løsningsforslag

Repetisjon: Normalformer og SQL

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Løsningsforslag for Eksamensoppgave i TDT4190 Distribuerte systemer

Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder Kontinuasjonseksamen

HØGSKOLEN I SØR-TRØNDELAG

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

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i MA1201 Lineær algebra og geometri

UNIVERSITETET I OSLO

Oppgaver INF3100. Oversikt over innholdet

UNIVERSITETET I OSLO

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Datamodellering og databaser SQL, del 2

SLUTTPRØVE 5602 DATABASER I (inkludert vedlegg og denne forsida) Vedlegg: A: Eksempeldata og B: Svarark til oppgave 4

Datamodellering og databaser SQL, del 2

Eksamensoppgave i PSY3100 Forskningsmetode - Kvantitativ

1. SQL datadefinisjon og manipulering

UNIVERSITETET I OSLO

Databaser: Relasjonsmodellen, del I

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Oppgaver Oppgave a: Sett opp mulige relasjoner

Eksamensoppgave i MA1202/MA6202 Lineær algebra med anvendelser

Integritetsregler i SQL. Primærnøkler

SQL 3: Opprette tabeller, datainnsetting og utsnitt

Oppgaver INF3100. Oversikt over innholdet

TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TMA4150 Algebra

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

1. Innføring i bruk av MySQL Query Browser

INF3100 V2018 Obligatorisk oppgave nr. 2

Løsningsforslag til Eksamensoppgave i TDT4190 Distribuerte systemer

Integritetsregler i SQL

1. Datamodellering Kommentarer til læreboka

Kunnskapsorganisasjon og gjenfinning sider (inklusive forside og vedlegg)

Normalisering. Hva er normalisering?

Normalisering. Hva er normalisering?

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

En lett innføring i foreninger (JOINs) i SQL

EKSAMEN 6102 / 6102N DATABASER

HØGSKOLEN I SØR-TRØNDELAG

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

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

SQL Structured Query Language. Definere tabeller Skranker Fylle tabeller med data

Løsningsforslag Eksamen i TDT4190 Distribuerte systemer

Eksamensoppgave i TMA4140 Diskret matematikk

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

Utvikling fra kjernen og ut

UNIVERSITETET I OSLO

Eksamensoppgave i TMA4320 Introduksjon til vitenskapelige beregninger

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

Eksamensoppgave i MA0301 Elementær diskret matematikk løsningsforslag

SQL og Mengdelære. Oracle, MySQL, Access, bruker forskjellige syntaks.

Innhold Forord Innledning Kapittel 1 Introduksjon til databaser og databasesystem

Eksamensoppgave i PSY2016/PSYPRO4316 Personlighetspsykologi II

Eksamensoppgave i PSY3100 Forskningsmetode - Kvantitativ

HØGSKOLEN I SØR-TRØNDELAG

Transkript:

Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Faglig kontakt under eksamen: Svein Erik Bratsberg: 99539963 Roger Midtstraum: 99572420 Eksamensdato: 6. august 2014 Eksamenstid (fra-til): 09:00-13:00 Hjelpemiddelkode/Tillatte hjelpemidler: D Ingen trykte eller håndskrevne hjelpemidler tillatt. Bestemt, enkel kalkulator tillatt. Annen informasjon: Målform/språk: Norsk bokmål Antall sider: 5 Antall sider vedlegg: 0 Kontrollert av: Dato Sign. 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 %) a) (3 %) I ER-modeller kan vi uttrykke kardinalitets-restriksjoner som vist i figuren under. Forklar hvilke restriksjoner (eng: constraints) som kan uttrykkes ved hjelp av x, y, s og t. b) (5 %) I ER-diagrammet under har vi vist en ER-modell med bruk av kategori (eng: category). Vis hvordan dette ER-diagrammet kan oversettes til et relasjonsskjema som i størst mulig grad samsvarer med ER-modellen. c) (12 %) Lag en ER-modell (du kan bruke alle virkemidler som er med i pensum) for følgende situasjon: I Nice er det mulig å leie bysykler. Rundt om i byen finnes en del sykkelstasjoner der det er låseterminaler med plass til et antall bysykler. For å kunne leie sykler registrerer man seg med mobiltelefonnummer, navn og et betalingskort. Når man ønsker å leie en sykkel bruker man den registrerte mobiltelefonen og ringer et telefonnummer som er oppgitt for den låseterminalen der sykkelen er låst. Dersom alt er i orden, blir sykkelen frigjort og så betaler man for tiden frem til man igjen låser sykkelen fast i en låseterminal. Alle sykler har en unik RFID-kode som gjenkjennes av låseterminalen når sykkelen leveres inn. Sykkel-leien avsluttes automatisk når låseprosedyren er fullført. De som driver sykkelutleien ønsker å holde oversikt over hvor syklene er låst fast, hvilke sykler som er i bruk, registrerte brukere, hvem som har en sykkel til låns og hvilke utlån som er fullført. Databasen må inneholde nok informasjon til å dokumentere kundenes bruk av syklene. Det finnes ulike typer sykler og man holder rede på når en sykkel settes i drift i systemet. Gjør kort rede for eventuelle forutsetninger som du finner det nødvendig å gjøre. Side 2 av 5

Oppgave 2 Relasjonsalgebra og SQL (20 %) Ta utgangspunkt i følgende relasjonsdatabase (primærnøkler er understreket) for en enkel student-emne-eksamen-database: Student(StudentNo, Name, Email) Subject(SubjectNo, Name) Exam(ExamNo, SubjectNo, Year, Month, Date) SubjectNo er fremmednøkkel mot Subject-tabellen. SubjectNo kan ikke ha NULL-verdi. ExamRegistration(StudentNo, ExamNo, Grade) StudentNo er fremmednøkkel mot Student-tabellen. StudentNo kan ikke ha NULL-verdi. ExamNo er fremmednøkkel mot Exam-tabellen. ExamNo kan ikke ha NULL-verdi. Data legges inn ved oppmelding til eksamen. Grade settes til NULL inntil sensuren er klar. Relasjonsalgebra kan formuleres som tekst eller grafer. Hvis du behersker begge notasjonene foretrekker vi at du svarer med grafer, men du blir ikke trukket for å svare med tekst. a) (4 %) Lag et ER-diagram (du kan bruke alle virkemidler som er med i pensum) som i størst mulig grad samsvarer med relasjonsskjemaet. Gjør rede for eventuelle antagelser du finner det nødvendig å gjøre. b) (3 %) Lag en spørring i relasjonsalgebra som finner StudentNo, Name og Email for alle studenter som var oppmeldt til en av de eksamenene som ble arrangert 26. mai 2014. c) (3 %) Lag en spørring i relasjonsalgebra som finner alle studenter som ikke er oppmeldt til noen eksamen i 2014. I resultatet skal du ta med StudentNo, Name og Email. d) (3%) Lag en spørring i SQL som finner alle emner som er registrert med minst en eksamen i 2014. Resultatet skal bestå av SubjectNo og Name, det skal ikke være duplikater i resultatet, og resultattabellen skal være sortert etter SubjectNo i stigende rekkefølge. e) (3 %) Lag en spørring i SQL som finner antall ganger karakteren A har vært gitt siden emnet ble opprettet, i hvert emne som har hatt en eller flere eksamener i løpet av 2014. Resultattabellen skal ha kolonnene SubjectNo, Name og Number of A. Resultatet skal sorteres etter Number of A i synkende rekkefølge. f) (4 %) Anta at alle fremmednøklene er definert med restriksjonen ON DELETE RESTRICT eller ON DELETE NO ACTION (disse er likeverdige). Vi ønsker å slette studenten som har StudentNo 100. Vis hvordan du vil gjøre dette i SQL. Side 3 av 5

Oppgave 3 Teori (20 %) a) (4 %) Gitt R = {A, B, C, D, E} og F = {AB->C, C->E, AE->B}. Tillukningen AB + = ABCE. Forklar hva dette betyr. Finn alle kandidatnøkler (eng: candidate key) for tabellen R. Svaret må begrunnes. b) (6 %) Tabellen R = {A, B, C D} dekomponeres i R1 = {A, C} og R2 = {B, C, D}. Finn en mengde funksjonelle avhengigheter (eng: functional dependencies), F, som gjør at denne dekomponeringen har tapsløs-join-egenskapen (eng: lossless join property). Med utgangspunkt i din F, skal du finne alle kandidatnøkler og høyeste normalform for tabellene R, R1 og R2. Alle svarene må begrunnes. c) (4 %) Gitt R = {A, B, C, D, E} og F = {A -> B, B ->C, C->D, D->E}. Gå ut fra at R oppfyller 1. normalform. Bestem den høyeste normalformen som oppfylles av R. Svaret må begrunnes. d) (6 %) Gitt R = {A, B, C, D, E} og F = {A -> B, B ->C, C->D, D->E}. Gå ut fra at R oppfyller 1. normalform. R skal om nødvendig dekomponeres slik at alle komponenter er på Boyce- Codd normalform (BCNF). Dekomponeringen skal ha tapsløs-join-egenskapen, attributtbevaring og bevaring av funksjonelle avhengigheter. Du må forklare hvordan din løsning oppfyller alle kravene. Oppgave 4 Extendible hashing (10 %) Vi skal sette inn følgende nøkler i en hashfil med extendible hashing i den gitte rekkefølgen: 1, 2, 3, 4, 5, 6, 7, 8, 9 og 10. Det er plass til maksimalt to nøkler i hver blokk. Vis tilstanden til hashfila til slutt. Anta det er 4 blokker i hashfila når du starter med innsettingen og at hashfunksjonen er h(k) = K MOD 16. Husk å ta med "global depth" og "local depth". Oppgave 5 Lagring og queryutføring (15 %) Anta følgende tabell: CREATE TABLE Employee (empno INT, lastname CHAR(30), firstname CHAR(30), email CHAR(30), startyear INT); Vi har følgende typer lagring og indekser 1. Heapfil 2. Clustered B+-tre 3. Unclustered B+-tre og heapfil 4. Clustered hashfil 5. Unclustered hashfil og heapfil For hvert av SQL-queryene under foreslå hvilken lagring/indekstype som er best. Hvis du gjør bruk av en indeks, fortell hvilket attributt som er indeksert. Begrunn svarene. Side 4 av 5

i) INSERT INTO Employee VALUES (12123,'Hansen','Hans','hans@email.org',2013); ii) SELECT lastname, firstname, email, startyear FROM Employee WHERE startyear=2012; iii) SELECT * FROM Employee; iv) SELECT DISTINCT lastname FROM Employee ORDER BY lastname; v) UPDATE Employee SET startyear = 2012 WHERE empno=12123; Oppgave 6 Transaksjoner - SERIALIZABLE (5 %) Forklar hvilke samtidighetsproblemer vi unngår ved å bruke SQLs isolasjonsnivå SERIALIZABLE. Oppgave 7 Transaksjoner historie og låser (10 %) a) Se på sekvensen av operasjoner fra to transaksjoner, T1 og T2, beskrevet i tabellen under. Hva er det som er galt med denne sekvensen av operasjoner? T1 Read(X); X := X N; Write(X); Read(Y); Y := Y N; Write(Y); T2 Read(X); X := X+M; Write(X); b) Ved å innføre konservativ 2PL (tofaselåsing), vis hvordan sekvensen av operasjoner blir. Side 5 av 5