Andre sett obligatoriske oppgaver i INF3100 V2012

Like dokumenter
Andre sett obligatoriske oppgaver iinf3100v2011

Andre sett obligatoriske oppgaver i INF3100 V2013

UNIVERSITETET I OSLO

Andre sett obligatoriske oppgaver i INF3100 V2009

Andre sett obligatoriske oppgaver i INF3100 V2010

Andre sett obligatoriske oppgaver i INF3100 V2008

INF3100 V2018 Obligatorisk oppgave nr. 2

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Spørsmålskompilering del 1

Spørsmålskompilering del 1

Andre sett obligatoriske oppgaver i INF3100/INF4100 V2007

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

IN3020 V2019 Obligatorisk oppgave nr. 1

INF3100 V2015 Obligatorisk oppgave nr. 1

INF3100 V2016 Obligatorisk oppgave nr. 1

Spørsmålskompilering. Basert på foiler av Hector Garcia-Molina

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

UNIVERSITETET I OSLO

Spørsmålskompilering. Basert på foiler av Hector Garcia-Molina

Spørsmålskompilering

Repetisjonsforelesning, SQL og utover

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

UNIVERSITETET I OSLO

Transaksjonshåndtering Del 2

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

Transaksjonshåndtering Del 2

Transaksjonshåndtering Del 2

Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer

INF3100 V2018 Obligatorisk oppgave nr. 1

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Oppgaver INF3100. Oversikt over innholdet

Obligatorisk oppgave nr. 3 i INF1300 høsten 2009

Databasesystemer, oversikt

Effektiv eksekvering av spørsmål

Effektiv eksekvering av spørsmål

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Effektiv eksekvering av spørsmål

Oppgave 1 Datamodellering 22 %

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

Oppgaver INF3100. Oversikt over innholdet

Oppgave 1 ER- og relasjonsmodell 10 %

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

INF1300 Introduksjon til databaser

Løsning til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Effektiv eksekvering av spørsmål

DBS18 - Strategier for Query-prosessering

Det matematisk-naturvitenskapelige fakultet

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

Relasjonsalgebra. Hva?

Effektiv eksekvering av spørsmål

Oppgave 1 Datamodellering 25 %

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

Obligatorisk oppgave nr. 3 i INF1300 høsten 2008

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

Transaksjonshåndtering og samtidighetskontroll

INF1300 Relasjonsalgebra og SQL, mengder og bager. Lysark for forelesning v. 2.1

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

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

1. SQL datadefinisjon og manipulering

EKSAMENSOPPGÅVE I TDT4145 DATAMODELLERING OG DATABASESYSTEMER

Parallelle og distribuerte databaser Del I

Spørsmålskompilering del 2

HØGSKOLEN I BERGEN Avdeling for ingeniørutdanning

1. Relasjonsmodellen Kommentarer til læreboka

ndtering og samtidighetskontroll

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

Transaksjonshåndtering og samtidighetskontroll

INF1300 Introduksjon til databaser

Parallelle og distribuerte databaser del I

Innhold Forord Innledning Kapittel 1 Introduksjon til databaser og databasesystem

Transaksjonshåndtering og samtidighetskontroll

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

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk. INF Ragnar Normann

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

1. SQL spørringer mot flere tabeller

UNIVERSITETET I OSLO

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

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

INF1300 Introduksjon til databaser

INF212 - Databaseteori. Kursinnhold

Parallelle og distribuerte databaser

Databaser fra et logikkperspektiv

UNIVERSITETET I OSLO

Normalisering. ER-modell

UNIVERSITETET I OSLO

Integritetsregler i SQL

Eksamensoppgåve i TDT4145 Datamodellering og databasesystem

Obligatorisk oppgave nr. 3 i INF1300 høsten 2011

DBS21 Samtidighetskontrollteknikker

Det matematisk-naturvitenskapelige fakultet

Hva har vi gjort? SQL og Databasedesign

Transkript:

Andre sett obligatoriske oppgaver i INF3100 V2012 Oppgavesettet skal i utgangspunktet løses av grupper på to og to studenter som leverer felles besvarelse. Vi godkjenner også individuelle besvarelser, men oppfordrer dere altså til heller å finne en å samarbeide med. Vi godkjenner ikke grupper med mer enn to studenter. Vi vil ved behov foreta stikkprøver der vi plukker ut enkeltpersoner som må gjennomgå sin besvarelse med oss. Gjennomføring og innlevering av oppgaven skal skje i henhold til gjeldende retningslinjer ved Institutt for informatikk, se http://www.mn.uio.no/ifi/studier/admin/obliger/ (norsk) http://www.uio.no/english/studies/admin/examinations/cheating/ (engelsk) Enhver innlevering av besvarelse på en obligatorisk oppgave tas som en bekreftelse på at retningslinjene er lest og forstått. Innleveringsfrist: Fredag 4. mai kl. 16:00. Fristen er absolutt, og det blir ikke gitt utsettelse. Alle spørsmålene må besvares for å få godkjent besvarelsen. Oppgave 1 4 Eksamen 2011 Løs oppgave 1 (FDer og normalformer), oppgave 2 (SQL), oppgave 3 (relasjonslgebra og spørreplaner) og oppgave 4 (transaksjonsprotokoller) fra eksamen i INF3100 våren 2011. (Scenario: Relasjonsdatabase for folkeregisteret.) Oppgave 5 Tofasecommit Løs oppgave 3b (distribuerte transaksjoner) fra eksamen i INF3100 våren 2009. 1

Oppgave 6 Implementasjon Ta utgangspunkt i relasjonsdatabasen i oppgave 1. Betrakt følgende SQLspørring som finner alle flyttemeldingene (i form av meldingsid og flyttedato) til Jo Å: SELECT Flyttemelding.mid, Flyttemelding.flyttedato FROM Person, Flyttemelding WHERE Person.fnr = Flyttemelding.fnr AND Person.fornavn = Jo AND Person.mellomnavn IS NULL AND Person.etternavn = Å ; 6a Parsering (i) Bruk den enkle grammatikken under til å lage et parseringstre for spørringen over. Elementære syntaktiske kategorier som <attribute>, <relation> og <pattern> oversettes med henholdsvis navnet på attributtet, navnet på relasjonen og en streng i enkle anførselstegn. <query> ::= <SFW> <SFW> ::= SELECT <sellist> FROM <fromlist> WHERE <condition> <sellist> ::= <attribute> <sellist> ::= <attribute>, <sellist> <fromlist> ::= <relation> <fromlist> ::= <relation, <fromlist> <condition> ::= <condition> AND <condition> <condition> ::= <attribute> = <attribute> <condition> ::= <attribute> = <pattern> <condition> ::= <attribute> LIKE <pattern> <condition> ::= <attribute> IS NULL 2

6b Logisk spørreplan (i) Konverter parseringstreet i oppgave 6a til en logisk spørreplan i relasjonsalgebra (tegn uttrykkstreet). (ii) Optimer den logiske spørreplanen i punkt (i) hvis den ikke alt er på optimal form (tegn det nye uttrykkstreet). 6c Datalagring Anta at vi har en disk med følgende spesifikasjoner for lagring av våre data: Diskplater: 10 (med 2 overflater hver) Spor: 10.000 pr. overflate Antall sektorer pr. spor: 1000 (en ikke-sonet disk) Byte pr. sektor: 512 Byte pr. gap : 64 Gjennomsnittlig søketid: 5 ms Spor-spor søk: 0,5 ms Rotasjonshastighet: 15.000 RPM Databasen inneholder følgende antall tupler: Person: 5.000.000 Flyttemelding: 10.000.000 I tillegg gjelder følgende informasjon om diverse størrelser: Hver blokk har en header (hode) på 20 byte. Hver record (post) har et hode på 10 byte. Hvert attributt har følgende størrelse i antall bytes: Person Flyttemelding fnr: 4 mid: 4 fornavn: 64 fnr: 4 mellomnavn: 64 flyttedato: 4 etternavn: 64 fraadr: 128 tiladr: 128 3

(i) Hva er diskens utnyttbare kapasitet? (ii) Hvilke faktorer inngår i å aksessere en blokk på disken, og hva er gjennomsnittlig aksesstid for en vilkårlig 4 Kbyte blokk? (iii) Hvor stor plass trenger disse relasjonene på disken i tilfellet unspanned lagring (dvs. hvis ingen enkelt post er delt over flere blokker)? (iv) Hvor lang tid tar det å lese hele relasjonen Person uavbrutt hvis vi antar vilkårlig plassering av data i diskblokker på disken? (v) Hvis pekere er på 8 byte, hvor mange blokker må aksesseres og hva er gjennomsnittlig aksesstid totalt for å finne et tuppel (en post) i Person for en gitt verdi av attributtet etternavn hvis person har tett indeks på etternavn og indeksen er realisert ved et B + -tre? Oppgave 7 Transaksjoner Gitt tre transaksjoner T 1, T 2 og T 3 : T 1 : r 1 (A); r 1 (B); w 1 (A); w 1 (Z); T 2 : r 2 (A); r 2 (B); w 2 (B); w 2 (Z); T 3 : r 3 (C); w 3 (C); w 3 (Z) Betrakt følgende eksekveringsplan S av T 1, T 2 og T 3 : S : r 1 (A); r 1 (B); r 2 (A); w 1 (A); r 2 (B); r 3 (C); w 2 (B); w 2 (Z); w 1 (Z); w 3 (C); w 3 (Z) 7a Samtidighetskontroll, pessimistisk protokoll Anta at vi har eksklusive låser. Låsene skal brukes på vanlig måte, ved at hver lese- og skriveaksjon skal ha en forutgående låseaksjon og en etterfølgende opplåsningsaksjon. Dessuten skal hver transaksjon benytte tofaselåsing (2PL). La aksjonen l i (Y ) bety at T i tar låsen på Y og u i (Y ) at T i frigir låsen på Y. 4

(i) Legg inn aksjoner av formen l i (Y ) og u i (Y ) i hver av T 1, T 2 og T 3 slik at de oppfyller reglene for bruk av låsene under 2PL, og samtidig frigir låser så snart som mulig. (ii) Beskriv hva som skjer hvis vi prøver å utføre aksjonene i de resulterende transaksjonene slik at lese/skriveaksjonene utføres mest mulig i samsvar med rekkefølgen angitt av S. Anta så at vi har to typer låser en delt (S-lås, shared lock) og en eksklusiv (X-lås), der en S-lås kan oppgraderes til (byttes ut med) en X-lås ved behov. Låsene skal forøvrig brukes som vanlig for S/X-låser og i henhold til 2PL. La aksjonene sl i (Y ) og xl i (Y ) bety at T i tar henholdsvis S-låsen og X-låsen på Y, og u i (Y ) at T i frigir alle sine låser på Y. (iii) Legg inn aksjoner av formen sl i (Y ), xl i (Y ) og u i (Y ) i hver av T 1, T 2 og T 3 slik at de oppfyller reglene for bruk av låsene under 2PL, og slik at transaksjonene ikke benytter X-låser mer enn strengt nødvendig (dvs. de benytter oppgradering der dette er mulig). Låser skal frigis så snart som mulig. (iv) Beskriv hva som skjer hvis vi prøver å utføre aksjonene i de resulterende transaksjonene slik at lese/skriveaksjonene utføres mest mulig i samsvar med rekkefølgen angitt av S. 7b Samtidighetskontroll, optimistisk protokoll Vi skal så se på hva som skjer hvis vi bruker en tidsstemplingsprotokoll. Anta at T 1, T 2 og T 3 får tidsstemplene t 1, t 2 og t 3 hvor t 1 < t 2 < t 3. (i) Beskriv hva som skjer med T 1, T 2 og T 3 hvis vi prøver å utføre aksjonene i rekkefølgen angitt av S. Anta så at T 2 aborterer (må rulles tilbake) etter at alle aksjonene dens er utført. (ii) Beskriv hva som skjer med T 1, T 2 og T 3 hvis vi prøver å utføre aksjonene i rekkefølgen angitt av S. 5

7c Logging Det semantiske innholdet av transaksjonen T 1 består av følgende operasjoner der x og y er lokale arbeidsvariable for T 1 og derfor ikke skal logges: T 1 : x := A; y := B; A := y/2; Z := x + y; (i) Beskriv postene i undo-loggen for transaksjonen T 1 når vi initielt har verdiene A = 20, B = 4 og Z = 100. (ii) Når skal de forskjellige typene loggposter skrives til disk? Slutt på obligatorisk oppgave 2 6