Andre sett obligatoriske oppgaver i INF3100 V2013



Like dokumenter
Andre sett obligatoriske oppgaver i INF3100 V2012

Andre sett obligatoriske oppgaver iinf3100v2011

UNIVERSITETET I OSLO

Andre sett obligatoriske oppgaver i INF3100 V2009

INF3100 V2018 Obligatorisk oppgave nr. 2

Andre sett obligatoriske oppgaver i INF3100 V2008

UNIVERSITETET I OSLO

Andre sett obligatoriske oppgaver i INF3100 V2010

UNIVERSITETET I OSLO

INF3100 V2015 Obligatorisk oppgave nr. 1

UNIVERSITETET I OSLO

INF3100 V2016 Obligatorisk oppgave nr. 1

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Oppgave 1 Datamodellering 25 %

UNIVERSITETET I OSLO

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

Andre sett obligatoriske oppgaver i INF3100/INF4100 V2007

Spørsmålskompilering del 1

Spørsmålskompilering del 1

UNIVERSITETET I OSLO

IN3020 V2019 Obligatorisk oppgave nr. 1

Transaksjonshåndtering Del 2

Repetisjonsforelesning, SQL og utover

Transaksjonshåndtering Del 2

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

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

Oppgaver INF3100. Oversikt over innholdet

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Oppgave 1 Datamodellering 22 %

Obligatorisk oppgave nr. 3 i INF1300 høsten 2009

Oppgave 1 ER- og relasjonsmodell 10 %

Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer

UNIVERSITETET I OSLO

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

INF3100 V2018 Obligatorisk oppgave nr. 1

Minikompendium TDT4145 databasemod og dbsys

1. SQL datadefinisjon og manipulering

Oppgaver INF3100. Oversikt over innholdet

Transaksjonshåndtering Del 2

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

1. SQL spørringer mot flere tabeller

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 Introduksjon til databaser

TDT4225 Lagring og behandling av store datamengder

DBS18 - Strategier for Query-prosessering

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

Effektiv eksekvering av spørsmål

Effektiv eksekvering av spørsmål

Databasesystemer, oversikt

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

Effektiv eksekvering av spørsmål

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

Relasjonsalgebra. Hva?

Øving 5: Transaksjonshåndtering, logging og normalisering

HØGSKOLEN I SØR-TRØNDELAG

Bruk av oppgaver og grupper i

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

Relasjonsdatabasedesign

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

Dagens program. Kunnskapsorganisasjon og gjenfinning 1. Spørring mot databaser: SQL 2 - Spørring mot flere tabeller

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

INF1300 Introduksjon til databaser

Effektiv eksekvering av spørsmål

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamen i IBE Databaser H 2008

DBS22 Databasegjenopprettingsteknikker

Oppgave 1 a. INF1020 Algoritmer og datastrukturer. Oppgave 1 b

Løsning til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Integritetsregler i SQL

Løsningsforslag Eksamen i TDT4190 Distribuerte systemer

TDT4225 Lagring og behandling av store datamengder

Datamodellering 101 En tenkt høgskoledatabase

Transaksjoner og flerbrukerproblematikk. Transaksjoner

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Ordliste. Obligatorisk oppgave 1 - Inf 1020

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Integritetsregler i SQL. Primærnøkler

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

MAT 1120: Obligatorisk oppgave 2, H-09

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

UNIVERSITETET I OSLO

Effektiv eksekvering av spørsmål

1. Relasjonsmodellen Kommentarer til læreboka

UNIVERSITETET I OSLO

Systemfeil og logging

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

SELECT DISTINCT Fornavn, Etternavn, Programtittel FROM Program P, Medvirkende M, Deltagelse D. SELECT Tilgjengelighet FROM Program

Normalisering. ER-modell

EKSAMENSOPPGÅVE I TDT4145 DATAMODELLERING OG DATABASESYSTEMER

Tildeling av minne til prosesser

Semantisk Analyse del III

Transkript:

Andre sett obligatoriske oppgaver i INF3100 V2013 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/ Enhver innlevering av besvarelse på en obligatorisk oppgave tas som en bekreftelse på at retningslinjene er lest og forstått. Innleveringsfrist: Fredag 3. mai kl. 24:00. Fristen er absolutt, og det blir ikke gitt utsettelse. Alle spørsmålene må besvares for å få godkjent besvarelsen. Oppgave 1 4 Eksamen 2012 Løs oppgave 1 (FDer og normalformer), oppgave 2 (SQL), oppgave 3 (relasjonsalgebra og optimering av spørringer) og oppgave 4 (transaksjonsprotokoller) fra eksamen i INF3100 våren 2012. (Scenario: Supermarkedkjeden Rama.) Oppgave 5 Implementasjon Folkeregisteret inneholder informasjon om alle innbyggere i Norge og hvor de bor. Alle personer har et entydig 11-sifret fødselsnummer fnr. Når noen 1

flytter, må de sende inn en flyttemelding til folkeregisteret. Flyttemeldingen kan omfatte mer enn én person, f.eks. hvis en hel familie flytter. Hver flyttemelding er identifisert ved et løpenummer mid. Forøvrig inneholder den informasjon om flyttedato, gammel og ny adresse. Anta at denne informasjonen er organisert i følgende relasjoner der primærnøklene er understreket: Person(fnr, fornavn, etternavn) Flyttemelding(mid, flyttedato, fraadr, tiladr) FlyttetPerson(mid, fnr) Betrakt følgende SQL-spørring som finner alle flyttemeldingene (i form av løpenummer og flyttedato) til Jo Å: SELECT FROM WHERE Flyttemelding.mid, Flyttemelding.flyttedato Person, Flyttemelding, FlyttetPerson Person.fnr = FlyttetPerson.fnr AND Flyttemelding.mid = FlyttetPerson.mid AND Person.fornavn = Jo AND Person.etternavn = Å ; 5a 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> 2

<condition> ::= <attribute> = <pattern> <condition> ::= <attribute> LIKE <pattern> <condition> ::= <attribute> IS NULL 5b Logisk spørreplan (i) Konverter parseringstreet i oppgave 5a 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). 5c 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: 1024 Byte pr. gap : 64 Gjennomsnittlig søketid: 3,7 ms Spor-spor søk: 0,3 ms Rotasjonshastighet: 15.000 RPM Databasen inneholder følgende antall tupler hva gjelder de to relasjonene Person og Flyttemelding: 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: 3

Person Flyttemelding fnr: 4 mid: 4 fornavn: 64 flyttedato: 4 etternavn: 64 fraadr: 128 tiladr: 128 (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 8 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 ett tuppel (én 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 6 Transaksjoner Gitt tre transaksjoner T 1, T 2 og T 3 : T 1 : T 2 : T 3 : r 1 (A); r 1 (B); w 1 (C); r 1 (D); r 2 (A); r 2 (B); w 2 (B); w 2 (C); r 3 (A); w 3 (B); r 3 (D) Betrakt følgende fletting S av T 1, T 2 og T 3 : S : r 1 (A); r 2 (A); r 3 (A); r 1 (B); r 2 (B); w 2 (B); w 3 (B); w 1 (C); w 2 (C); r 1 (D); r 3 (D) 6a Samtidighetskontroll, pessimistisk protokoll An ta at vi har to typer låser en leselås og en skrivelås. 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 strikt tofaselåsing (strict 2PL). 4

La aksjonene sl i (Y ) og xl i (Y ) bety at T i tar henholdsvis leselåsen og skrivelåsen på Y, og u i (Y ) at T i frigir alle sine låser på Y. La aksjonene c i og a i bety at T i henholdsvis committer og aborterer/må rulles tilbake. (i) 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 strict 2PL. Leselåser skal frigis så snart som mulig (men i samsvar med 2PL-protokollen). Legg også inn en c i i hver av T 1, T 2 og T 3 for å tydeliggjøre hvor transaksjonene er klare til å committe. (ii) Beskriv hva som skjer hvis vi prøver å utføre aksjonene i de resulterende transaksjonene i henhold til strict 2PL og slik at lese/skriveaksjonene utføres mest mulig i samsvar med rekkefølgen angitt av S. 6b Samtidighetskontroll, optimistisk protokoll Vi skal så se på hva som skjer hvis vi bruker Snapshot Isolation (SI). (i) Beskriv hva som skjer med T 1, T 2 og T 3 hvis vi prøver å utføre aksjonene i transaksjonene i henhold til SI og slik at lese/skriveaksjonene utføres mest mulig i samsvar med rekkefølgen angitt av S. 6c Logging Det semantiske innholdet av transaksjonen T 2 består av følgende operasjoner der x og y er lokale arbeidsvariable for T 2 og derfor ikke skal logges: T 2 : x := A; y := B; B := x + y; C := y; (i) Beskriv postene i undo/redo-loggen for transaksjonen T 2 når vi initielt har verdiene A = 10, B = 5 og C = 0. (ii) Når skal de forskjellige typene loggposter skrives til disk? Slutt på obligatorisk oppgave 2 5