Eksamensoppgåve i TDT4145 Datamodellering og databasesystem

Like dokumenter
Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsforslag for Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer

Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer

Eksamensoppgåve i TDT4145 Datamodellering og databasesystem

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

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

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

Løsning til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Oppgave 1 Datamodellering 25 %

Oppgave 1 ER- og relasjonsmodell 10 %

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

Oppgave 1 Datamodellering 22 %

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

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Miniverden og ER- modell

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

1. SQL datadefinisjon og manipulering

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

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Datamodellering og databaser SQL, del 2

SQL 3: Opprette tabeller, datainnsetting og utsnitt

Andre sett obligatoriske oppgaver i INF3100 V2013

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

UNIVERSITETET I OSLO

EKSAMEN 6102 / 6102N DATABASER

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

Metaspråket for å beskrive grammatikk

EKSAMEN 6102 / 6102N DATABASER

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

Datamodellering og databaser SQL, del 2

Databaser. Relasjonsmodellen 2 Læreboka: Kap. 2 Relasjonsmodellen

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

Løsningsforslag Eksamen i TDT4190 Distribuerte systemer

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

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

Eksamensoppgåve i LGU53004 Naturfag , Emne 1 Biologi

Datamodellering og databaser SQL, del 2

UNIVERSITETET I OSLO

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

Øving 5: Transaksjonshåndtering, logging og normalisering

Utvikling fra kjernen og ut

Integritetsregler i SQL. Primærnøkler

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

Systemutvikling fra kjernen og ut, fra skallet og inn

HØGSKOLEN I SØR-TRØNDELAG

Oppgave 1 (Opprett en database og en tabell)

Eksamensoppgåve i TMA4240 Statistikk

EKSAMEN. Algoritmer og datastrukturer. Eksamensoppgaven: Oppgavesettet består av 11 sider inklusiv vedlegg og denne forsiden.

Tilkobling og Triggere

Minikompendium TDT4145 databasemod og dbsys

Integritetsregler i SQL

Eksamensoppgåve i Løsningsskisse TMA4245 Statistikk

Eksamensoppgåve i ST0103 Brukarkurs i statistikk

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

Eksamen REA3026 Matematikk S1. Nynorsk/Bokmål

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

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

EKSAMEN. Emne: Webprogrammering med PHP (kont.) Webprogrammering 1 (kont.) Eksamenstid:

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgåve i TMA4240 Statistikk

Databaser: Relasjonsmodellen, del I

Emnenavn: Ny/utsatt eksamen. Eksamenstid: Faglærer: Edgar Bostrøm. Erik Åsberg. Davide Roverso

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Relasjonsdatabasedesign

Eksamensoppgave i SANT2010 Mennesket og natur: Politisk økologi

INF3100 V2018 Obligatorisk oppgave nr. 2

Normalisering. Partielle avhengigheter Transitive avhengigheter Normalformer: 1NF, 2NF, 3NF, BCNF Normaliseringsstegene Denormalisering

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

EKSAMEN DATABASER

Matematikk 1, 4MX1 1-7E1

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

Eksamensoppgåve i KJ1041 Kjemisk binding, spektroskopi og kinetikk

Eksamensoppgåve i ST0103 Brukarkurs i statistikk

HØGSKOLEN I SØR-TRØNDELAG

Eksamensoppgave i SØK1010 Matematikk og mikroøkonomi

SQL SELECT-FROM-WHERE. Skjemadefinisjon og datainnsetting i SQL. Semantikk bak ein-relasjons-spørring

1. Innføring i bruk av MySQL Query Browser

Eksamensoppgave i SØK1010 Matematikk og mikroøkonomi

Normalisering. Hva er normalisering?

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

ORDINÆR/UTSATT EKSAMEN Sensur faller innen

Transkript:

Institutt for datateknikk og informasjonsvitskap Eksamensoppgåve i TDT4145 Datamodellering og databasesystem Fagleg kontakt under eksamen: Svein Erik Bratsberg: 99539963 Roger Midtstraum: 99572420 Eksamensdato: 6. august 2014 Eksamenstid (frå-til): 09:00 13: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 %) a) (3 %) I ER-modellar kan vi uttrykke kardinalitets-restriksjonar som vist i figuren under. Forklar kva for restriksjonar (eng: constraints) ein kan uttrykke med x, y, s og t. b) (5 %) I ER-diagrammet under har vi vist ein ER-modell med bruk av kategori (eng: category). Vis korleis dette ER-diagrammet kan omsetjas til eit relasjonsskjema som samsvarar med ER-modellen så godt som råd er. c) (12 %) Lag ein ER-modell (du kan bruke alle modellelement som er med i pensum) for denne situasjonen: I Nice er det mulig å leie bysyklar. Rundt om i byen finnast ein del sykkelstasjonar der det er låseterminalar med plass til eit tal bysyklar. For å kunne leie syklar registrerer ein seg med mobiltelefonnummer, namn og eit betalingskort. Når ein ønskjer å leie ein sykkel bruker ein den registrerte mobiltelefonen og ringer eit telefonnummer som er oppgitt for den aktuelle låseterminalen. Om alt er i orden, blir sykkelen frigjort og så betaler ein for tida fram til ein igjen låser sykkelen fast i ein sykkelstasjon. Alle syklar har ein unik RFID-kode som låseterminalen registrerer når sykkelen blir levert inn. Sykkel-leia blir avslutta automatisk når låseprosedyren er fullført. Dei som driver sykkelutleia ønskjer å holde oversikt over kor syklane er låst fast, kva for syklar som er i bruk, registrerte brukarar, kven som har ein sykkel til låns og kva for utlån som er fullført. Databasen må ha nok informasjon til å dokumentere kundane sin bruk av syklane. Det finnes ulike typar syklar og ein registrerar når ein sykkel settas i drift i systemet. Forklar kort eventuelle føresetnader du finn det nødvendig å gjere. Side 2 av 5

Oppgåve 2 Relasjonsalgebra og SQL (20 %) Ta utgangspunkt i denne relasjonsdatabasen (primærnøklar er understreka) for ein enkel student-emne-eksamen-database: Student(StudentNo, Name, Email) Subject(SubjectNo, Name) Exam(ExamNo, SubjectNo, Year, Month, Date) SubjectNo er framandnøkkel mot Subject-tabellen. SubjectNo kan ikkje ha NULL-verdi. ExamRegistration(StudentNo, ExamNo, Grade) StudentNo er framandnøkkel mot Student-tabellen. StudentNo kan ikkje ha NULL-verdi. ExamNo er framandnøkkel mot Exam-tabellen. ExamNo kan ikkje ha NULL-verdi. Data blir lagt inn ved oppmelding til eksamen. Grade setjas til NULL inntil sensuren er klar. Relasjonsalgebra kan formulerast som tekst eller grafar. Om du beherskar begge notasjonene føretrekk vi at du svarar med grafar, men du blir ikkje trekt for å svare med tekst. a) (4 %) Lag eit ER-diagram (du kan bruke alle verkemiddel som er med i pensum) som samsvarar med relasjonsskjemaet så godt som råd er. Forklar kort eventuelle føresetnader du finn det nødvendig å gjere. b) (3 %) Lag ei spørjing i relasjonsalgebra som finn StudentNo, Name og Email for alle studentar som var oppmeldt til ein av dei eksamenane som ble arrangert 26. mai 2014. c) (3 %) Lag ei spørjing i relasjonsalgebra som finn alle studentar som ikkje er oppmeldt til noen eksamen i 2014. I resultatet skal du ta med StudentNo, Name og Email. d) (3%) Lag ei spørjing i SQL som finn alle emne som er registrert med minst ein eksamen i 2014. Resultatet skal bestå av SubjectNo og Name, det skal ikkje være duplikat i resultatet, og resultattabellen skal være sortert etter SubjectNo i stigande rekkefølgje. e) (3 %) Lag ei spørjing i SQL som finner kor mange gonger karakteren A har vore gitt sidan emnet blei oppretta, i kvart emne som har hatt ein eller fleire eksamenar i løpet av 2014. Resultattabellen skal ha kolonnane SubjectNo, Name og Number of A. Resultatet skal være sortert etter Number of A i minkande rekkefølgje. f) (4 %) Føresett at alle framandnøklane er definert med restriksjonen ON DELETE RESTRICT eller ON DELETE NO ACTION (disse er likeverdige). Vi ønskjer å slette studenten som har StudentNo 100. Vis korleis du vil gjere dette i SQL. Side 3 av 5

Oppgåve 3 Teori (20 %) a) (4 %) Gitt R = {A, B, C, D, E} og F = {AB->C, C->E, AE->B}. Tillukkinga AB + = ABCE. Forklar kva dette betyr. Finn alle kandidatnøklar (eng: candidate key) for tabellen R. Du må grunngje svaret ditt. b) (6 %) Tabellen R = {A, B, C D} dekomponerast i R1 = {A, C} og R2 = {B, C, D}. Finn ei mengd funksjonelle avhengigheter (eng: functional dependencies), F, som gjer at denne dekomponeringa har tapslaus-join-eigenskapen (eng: lossless join property). Med utgangspunkt i din F, skal du finne alle kandidatnøklar og høgaste normalform for tabellane R, R1 og R2. Du må grunngje svaret ditt. c) (4 %) Gitt R = {A, B, C, D, E} og F = {A -> B, B ->C, C->D, D->E}. Gå ut frå at R oppfyller 1. normalform. Finn den høgaste normalforma som R oppfyller. Du må grunngje svaret ditt. d) (6 %) Gitt R = {A, B, C, D, E} og F = {A -> B, B ->C, C->D, D->E}. Gå ut frå at R oppfyller 1. normalform. R skal om nødvendig dekomponerast slik at alle komponentar er på Boyce- Codd normalform (BCNF). Dekomponeringa skal ha tapslaus-join-eigenskapen, attributtbevaring og bevaring av funksjonelle avhengigheter. Du må forklare korleis di løysing oppfyller alle krava. Oppgåve 4 Extendible hashing (10 %) Vi skal sette inn følgjande nøklar i ein hashfil med extendible hashing i den følgjande rekkefølgjen: 1, 2, 3, 4, 5, 6, 7, 8, 9 og 10. Det er plass til maksimalt to nøklar i kvar blokk. Vis tilstanden til hashfila til slutt. Føresett det er 4 blokker i hashfila når du starter med innsettinga og at hashfunksjonen er h(k) = K MOD 16. Hugs å ta med "global depth" og "local depth". Oppgåve 5 Lagring og queryutføring (15 %) Føresett følgjande tabell: CREATE TABLE Employee (empno INT, lastname CHAR(30), firstname CHAR(30), email CHAR(30), startyear INT); Vi har følgjande typar lagring og indeksar 1. Heapfil 2. Clustered B+-tre 3. Unclustered B+-tre og heapfil 4. Clustered hashfil 5. Unclustered hashfil og heapfil For kvart av SQL-querya under foreslå kva for lagring/indekstype som er best. Hvis du gjør bruk av ein indeks, fortell kva for attributt som er indeksert. Grunngje svara. 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; Oppgåve 6 Transaksjonar - SERIALIZABLE (5 %) Forklar kva for samtidighetsproblem vi unngår ved å bruke SQLs isolasjonsnivå SERIALIZABLE. Oppgåve 7 Transaksjonar historie og låsar (10 %) a) Sjå på sekvensen av operasjonar frå to transaksjonar, T1 og T2, forklart i tabellen under. Kva er det som er galt med denne sekvensen av operasjonar? 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 korleis sekvensen av operasjonar blir. Side 5 av 5