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

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

Det matematisk-naturvitenskapelige fakultet

UNIVERSITETET I OSLO

Relasjonsdatabasedesign

Relasjonsdatabasedesign

INF3100 Databasesystemer

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

UNIVERSITETET I OSLO. Relasjonsmodellen. Relasjoner og funksjonelle avhengigheter. Institutt for Informatikk. INF Ellen Munthe-Kaas 1

Relasjonsdatabasedesign

Relasjonsdatabasedesign

UNIVERSITETET I OSLO

Relasjonsdatabasedesign (forts.)

Relasjonsdatabasedesign (forts.)

Løsningsforslag eksamen i IN

Relasjonsdatabasedesign

Hva kjennetegner god relasjonsdatabasedesign? Eksempel: Grossistdatabase versjon 1

UNIVERSITETET I OSLO

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Relasjonsdatabasedesign

UNIVERSITETET. Relasjonsdatabasedesign

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Relasjonsdatabasedesign

UNIVERSITETET I OSLO

Relasjonsdatabasedesign. Ekstramateriale: Normalformer utover 4NF (ikke pensum)

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

IN2090 Introduksjon til databaser

IN2090 Databaser og datamodellering. Databasedesign og normalformer

INF1300 Introduksjon til databaser

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

INF1300 Introduksjon til databaser

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

Løsningsforslag for Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

INF1300 Introduksjon til databaser

For alle ikke-trivielle FDer X A i R: eller A er et nøkkelattributt i R eller X K for noen kandidatnøkkel K i R

Relasjonsdatabasedesign

Relasjonsdatabasedesign

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

Dagens tema: Oppdateringsanomalier Normalformer

UNIVERSITETET I OSLO

Relasjonsdatabasedesign

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Relasjonsdatabasedesign

Oppdateringsanomalier Normalformer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

MAT1030 Diskret Matematikk

Normalformer utover 4NF (ikke pensum)

Oppgaver INF3100. Oversikt over innholdet

UNIVERSITETET I OSLO

INF212 - Databaseteori. Kursinnhold

UNIVERSITETET I OSLO

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Dagens tema: Relasjonsmodellen (funksjonelle avhengigheter og nøkler, integritetsregler) Realisering: Fra ORM til relasjoner

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Eksamen iin115, 14. mai 1998 Side 2 Oppgave 1 15 % Du skal skrive en prosedyre lagalle som i en global character array S(1:n) genererer alle sekvenser

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Relasjonsdatabaseteori

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO. Oppskriftsbok. FDer og MVDer Relasjonsalgebra. Institutt for Informatikk. INF3100 Ellen Munthe-Kaas 1

Relasjonsdatabasedesign

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamen i IN 110, 18. mai 1993 Side 2 Del 1 (15%) Vi skal se på prioritetskøer av heltall, der vi hele tiden er interessert i å få ut den minste verdi

EKSAMEN. Dato: 9. mai 2016 Eksamenstid: 09:00 13:00

UNIVERSITETET I OSLO

INF3100 Databasesystemer

København 20 Stockholm

Oppskriftsbok. FDer og MVDer - oversikt: se s. 3 Relasjonsalgebra - oversikt: se s. 45

UNIVERSITETET I OSLO

Relasjonsdatabasedesign

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

UNIVERSITETET I OSLO

Algoritmer og Datastrukturer

MAT1030 Diskret matematikk

UNIVERSITETET I OSLO

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

UNIVERSITETET I OSLO

Løsningsskisse til eksamensoppgave i TDT4145 Datamodellering og databasesystemer

UNIVERSITETET I OSLO

Oppgavesettet består av 7 sider, inkludert denne forsiden. Kontroll& at oppgaven er komplett før du begynner å besvare spørsmålene.

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

EKSAMEN. Dato: 18. mai 2017 Eksamenstid: 09:00 13:00

UNIVERSITETET I OSLO

INF1300 Introduksjon til databaser

HØGSKOLEN I BERGEN Avdeling for ingeniørutdanning

Algoritmer og Datastrukturer

Oppdateringsanomalier. Normalformer. Institutt for informatikk INF

Transkript:

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : IN 212 - Databaseteori Eksamensdag : Onsdag 8. juni 1994 Tid for eksamen : 09.00-15.00 Oppgavesettet er på : 5 sider Vedlegg : Ingen Tillatte hjelpemidler : Alle trykte og skrevne Kontroller at oppgavesettet er komplett før du begynner å besvare det. Oppgave 1 (35 %) Nedenfor følger et begrepsmessig skjema for en liten relasjonsdatabase som brukes til å registrere utlån fra biblioteket i en bedrift: AVDELING (AvdKode, AvdNavn, Adresse) LÅNER (Låner-nr, Navn, AvdKode, Telefon) BOK (ISBN, Eksemplar, Forfatter, Tittel, Utgivelsesår, Kjøpsår) UTLÅN (ISBN, Eksemplar, Lånedato, Låner-nr, Returdato) AvdKode er primærnøkkel i AVDELING Låner-nr er primærnøkkel i LÅNER Telefon er kandidatnøkkel i LÅNER (ISBN, Eksemplar) er primærnøkkel i BOK (ISBN, Eksemplar, Lånedato) er primærnøkkel i UTLÅN Nullverdier er tillatt for Returdato i UTLÅN AvdKode i LÅNER er fremmednøkkel til AVDELING (ISBN, Eksemplar) i UTLÅN er fremmednøkkel til BOK Låner-nr i UTLÅN er fremmednøkkel til LÅNER I tillegg har vi to FD-er (funksjonelle avhengigheter): ISBN (Forfatter, Tittel, Utgivelsesår) i BOK (ISBN, Låner-nr, Lånedato) Eksemplar i UTLÅN Databasen inneholder ingen JD-er (join-avhengigheter) ut over de som følger av det ovenstående. Fortsettes neste side

Eksamen i IN 212 8. juni 1994 Side 2 av 5 Databasesystemet inneholder en Boolsk systemrutine ER-NULL som tester om et gitt datafelt (attributt) har null-verdien. Databasesystemet håndterer datoer slik at differansen mellom to datoer gir antall dager mellom de to datoene. Eksempler: 18.6.1994-8.6.1994 = 10 og 1.1.1994-31.12.1993 = 1 Dessuten finnes det en systemvariabel IDAG som gir dagens dato. Oppgave 1 A Oppgave 1 B Hvilken normalform har hver av tabellene i skjemaet? Begrunn svaret og beskriv hvilke endringer som eventuelt må gjøres for å få hele skjemaet på 5NF. Lag en ER-modell av den datastrukturen du kom frem til i oppgave 1 A. Gjør kort rede for eventuelle svake entitetstyper og hvilke nøkler de har. Oversett ER-modellen til et nettverksdatabaseskjema. (Du trenger ikke skrive opp posttypene, det er én for hver entitetstype. Det holder med beskrivelse av de ikke-singulære settypene.) I resten av oppgaven skal du ta utgangspunkt i den opprinnelige datastrukturen og ikke ta hensyn til hva du måtte ha kommet frem til i oppgave 1 A. Oppgave 1 C Oppgave 1 D Oppgave 1 E Oppgave 1 F Bruk SQL til å lage en liste over alle utlån som er eldre enn fire uker uten at boken er returnert. Listen skal inneholde navn og adresse til lånere, og forfatter og tittel på bøker. Listen skal være sortert på avdelingsadresse og så på låners navn innenfor hver avdeling. Forklar hvordan optimalisereren vil behandle spørsmålet ovenfor, både hva slags relasjonsalgebrauttrykk den vil omforme SQL-uttrykket til, og hvordan den kommer frem til det. (Se bort fra sorteringen.) Skriv et relasjonsalgebrauttrykk, et tuppelkalkyleuttrykk og en SELECT-setning som hver for seg finner forfatter og tittel på de bøker som en eller annen gang har vært utlånt til minst en ansatt (låner) fra hver avdeling. Bruk SQL til å lage en liste over hyppig utlånte bøker i 1993. Listen skal inneholde forfatter, tittel og antall eksemplarer av hver bok og antall ganger boken har vært utlånt. Ta bare med bøker som er utlånt minst tre ganger. Sorter listen etter fallende popularitet. Slutt på oppgave 1 Oppgavesettet fortsetter på neste side

Eksamen i IN 212 8. juni 1994 Side 3 av 5 Oppgave 2 (20 %) Du skal nå bevise en slutningsregel for MVD-er: La R være et relasjonsskjema og la X, Y og Z være attributter i R. (Merk at vi ikke har forutsatt at X, Y og Z er disjunkte, og at de heller ikke trenger å være noen dekomposisjon av R.) Bevis følgende påstand: ( X» Y X» Z ) ( X» Y Z X» Y \ Z X» Z \ Y ) Oppgave 3 (15 %) Vi skal i denne oppgaven se litt på en serialiseringsalgoritme for klassiske hierarkiske databaser (klassisk betyr at vi ikke tillater VPCR-er). Vi kan betrakte en hierarkisk databasetilstand som ett enkelt tre: Tilstanden for hvert hierarki omdannes til et tre ved at barna til en posttype i hierarkiet er alle forekomster av posttypen og alle barna (som er null eller flere posttyper) til posttypen, og ved at barna til en forekomst er barna i den PCR-forekomsten som denne forekomsten er forelder i. Alle hierarkiene forenes til ett tre ved å gjøre hele databasen til felles rot. (Bladnodene i dette tilstandstreet blir forekomstene av bladnodene i hierarkiene.) Den algoritmen vi skal se på, kalles trelåseprotokollen, og den baserer seg på binære låser på nodene i tilstandstreet beskrevet ovenfor. Protokollen har to regler: Med unntak av den første låsen en transaksjon setter, kan ikke en transaksjon låse en node med mindre den har låst foreldrenoden Ingen noder kan låses to ganger av samme transaksjon Merk at en transaksjon kan låse hvilken som helst node første gang den setter en lås, og at det å låse en node ikke låser noder i subtreet (de kan til og med være låst av andre transaksjoner). Hensikten med protokollen er at transaksjonene kan frigi låser etter hvert som de ikke trenger dem mer. Det er bevist at trelåseprotokollen sikrer serialiserbarhet og at den forhindrer vranglås (deadlock). Oppgaven fortsetter på neste side

Eksamen i IN 212 8. juni 1994 Side 4 av 5 Oppgave 3 A Oppgave 3 B Lag et eksempel på to transaksjoner som kan gi vranglås ved to-faselåsing, og vis at disse to transaksjonene ikke kan gi vranglås ved trelåseprotokollen. Gi en kort forklaring av begrepet vrangløp (live-lock) og en kort kommentar om vrangløp og trelåseprotokollen. Oppgave 4 (30 %) Merk: Flere av observasjonene i oppgave 4 A, B og C er nokså trivielle. Kast ikke bort tiden på å lete etter vanskeligheter som ikke er der! Vi skal i denne oppgaven utforske hvor kompliserte små relasjonsskjemaer kan bli. Vi vil i den forbindelse ha nytte av følgende definisjoner hvor de fem første burde være gamle kjenninger, mens den siste er ny: Def 1 Def 2 Def 3 Def 4 Def 5 Et atomært attributt i et relasjonsskjema er et attributt som består av nøyaktig ett attributtatom. Et relasjonsskjema som består av ett atomært attributt, kalles unært. Et relasjonsskjema med eksakt to attributtatomer kalles binært. Vi skal bruke notasjonen R = R(A,B) for binære relasjonsskjemaer der A og B betegner de to (disjunkte) atomære attributtene i R. Et relasjonsskjema med tre attributtatomer kalles ternært. Vi skal bruke notasjonen R = R(A,B,C) for ternære relasjonsskjemaer der A, B og C betegner de tre (disjunkte) atomære attributtene i R. En MVD, X» Y, i R kalles triviell hvis Y X, eller hvis MVD-en ikke er en FD og (R \ X) \ Y = Ø (det tomme attributtet). (Merk: Denne definisjonen medfører at X Ø er triviell.) Def 6 En MVD, X» Y, kalles patologisk hvis X = Ø. (Begrepet patologisk MVD er ikke noe vanlig faguttrykk. Det er laget spesielt for denne eksamensoppgaven.) La oss som eksempel se på hva det vil si å ha en patologisk FD, Ø Z: Siden alle forekomster er like på det tomme attributtet, må alle forekomster ha samme verdi i Z. Z blir altså et konstant attributt. Oppgaven fortsetter på neste side

Eksamen i IN 212 8. juni 1994 Side 5 av 5 Vi skal først betrakte det binære relasjonsskjemaet R = R(A,B). Oppgave 4 A Oppgave 4 B Anta at vi har en patologisk MVD, Ø» A, i R. Begrunn at R ikke er på 4NF og finn en tapsfri dekomposisjon av R til 4NF. Forklar kort hvorfor denne dekomposisjonen også er på 5NF. Lag et eksempel med tre A-verdier og fire B-verdier og vis hva som skjer. Vis at alle ikke-trivielle patologiske MVD-er i R enten er identisk med MVD-en i oppgave 4 A eller et spesialtilfelle av denne. For hvert av spesialtilfellene, som nødvendigvis må være FD-er (begrunn det kort), skal du angi konsekvensen for 5NF-dekomposisjonen i oppgave 4 A. Bruk gjerne samme eksempel. (Her trenger du ikke begrunne svaret.) Resultatene og ditt eksempel ovenfor forklarer forhåpentlig hvorfor databaselitteraturen totalt ignorerer patologiske MVD-er. Det skal vi også gjøre heretter. I resten av denne oppgaven skal du altså se bort fra patologiske MVD-er. Oppgave 4 C Vis at binære relasjonsskjemaer er på 5NF (igjen forutsatt at de ikke har ikke-trivielle patologiske MVD-er). Som kjent, kan vi alltid dekomponere et relasjonsskjema tapsfritt og FD-bevarende til 3NF, men ikke alltid til BCNF. (Det finnes, som du sikkert vet, et ternært moteksempel.) Vi skal nå se på FD-bevaring ved dekomposisjon til høyere normalformer. Oppgave 4 D Oppgave 4 E Anta at R er et ternært relasjonsskjema som er på BCNF, men ikke på 4NF. Vis at da kan R dekomponeres tapsfritt og FD-bevarende til 5NF. Finn et eksempel på et relasjonsskjema som er på BCNF, men som ikke kan dekomponeres tapsfritt og FD-bevarende til 4NF. Slutt på oppgavesettet Ragnar Normann