UNIVERSITETET I OSLO

Like dokumenter
UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering

Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering

UNIVERSITETET I OSLO

Obligatorisk oppgave nr. 3 i INF1300 høsten 2011

Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering

INF1300 Introduksjon til databaser

IN2090 Introduksjon til databaser

INF1300 Introduksjon til databaser

UNIVERSITETET I OSLO

Realiseringsalgoritmen fra ORM til relasjoner Intro til mengdeskranker i ORM

Obligatorisk oppgave nr. 3 i INF1300 høsten 2009

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

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

VÆRSTASJONER Obligatorisk oppgave nr. 2 i INF1300 høsten 2011

UNIVERSITETET I OSLO

INF1300 Introduksjon til databaser

Obligatorisk oppgave nr. 3 i INF1300 høsten 2008

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

INF1300 Introduksjon til databaser

IN3020 V2019 Obligatorisk oppgave nr. 1

Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Institutt for informatikk

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

U N I V E R S I T E T E T I O S L O

UNIVERSITETET I OSLO

Sensorveiledning for IN2090 og INF desember :30 18:30 (4 timer)

Gruppeøvelse 20/ Dagens tema: - Gruppering/realisering

Oppdateringsanomalier Normalformer

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Representasjon n-1-regelen

UNIVERSITETET I OSLO

INF3100 V2015 Obligatorisk oppgave nr. 1

Pilotprosjekt MAT1100 høst Skrevet av Inger Christin Borge og Jan Aleksander Olsen Bakke, vår 2017.

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet

INF212 - Databaseteori. Kursinnhold

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

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

UNIVERSITETET I OSLO

INF1300 Introduksjon til databaser

UNIVERSITETET I OSLO

INF1300 Introduksjon til databaser

UNIVERSITETET I OSLO

Databaser: Relasjonsmodellen, del I

INF1300 Introduksjon til databaser

UNIVERSITETET I OSLO

*UXSSHULQJ IRU JUDXWVNDOOHU (QYLVXHOOJXLGHJMHQQRPQRHQ DY1,$0JUXSSHULQJHQV XQGHUIXQGLJKHWHU

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

1. Innføring i bruk av MySQL Query Browser

Fagevaluering FYS Kvantefysikk

INF3100 V2016 Obligatorisk oppgave nr. 1

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

MAT-INF 1100: Obligatorisk oppgave 1

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

INF Introduksjon til design, bruk, interaksjon Introduksjon

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Representasjon n-1-regelen Verdiskranker Mengdeskranker

UNIVERSITETET I OSLO

1. Relasjonsmodellen Kommentarer til læreboka

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Verdiskranker Mengdeskranker

Dagens tema: Realiseringsalgoritmen (også kalt "grupperingsalgoritmen") fra ORM-diagram til relasjonsskjema

UNIVERSITETET I OSLO

Dagens tema: Oppdateringsanomalier Normalformer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

ISM Auditor / Lead Auditor eksamensoppgaver. Oppgaver til skriftlig og muntlig eksamen, struktur og eksempler

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

EKSAMEN 6102 / 6102N DATABASER

UNIVERSITETET I OSLO

Relasjonsdatabasedesign

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

IN2090 Databaser og datamodellering ORM 1

INF1300 Introduksjon til databaser

UNIVERSITETET I OSLO

HØGSKOLEN I SØR-TRØNDELAG

UNIVERSITETET I OSLO

MATOPPSKRIFTER Obligatorisk oppgave nr. 2 i INF1300 høsten 2010

True False. Q(0, 1, 2) yq(0, y, y) x yq(x, y, 10) x yq(x, y, x + x) y xq(x, y, x + x) x y Q(x, y, x + x) y x Q(x, y, x + x) x y zq(x, y, z)

Skjema for å opprette, endre og legge ned emner

Oppgaver Oppgave a: Sett opp mulige relasjoner

Per Manne, Lars Berge, Einar Breivik, Linda Orvedal, Nikolai Belsvik, Ingelin Uthaug

Transkript:

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveeksamen i : INF1300 Introduksjon til databaser Eksamensdag: leveringsfrist 11. november 2016 Oppgavesettet er på 5 sider. Vedlegg: Tillatte hjelpemidler: ORM 2 Graphical Notation, 5 sider Halpin & Morgan: Information Modeling and Relational Databases. 2 A4-ark (4 sider) håndskrevne notater. Kontroller at oppgavesettet er komplett før du begynner å besvare spørsmålene. Eksamen har to deler, A (teller 60%) og B (40%). For å få bestått resultat må del A bestås. Sagt på en annen måte: Hvis del A sensureres til stryk, får man ikke bestått på hele eksamen uansett hvor godt del B er besvart. DEL A. Scenario: Gruppelærere ved Institutt for informatikk Til de fleste emnene ved Institutt for informatikk bruker vi studenter som gruppelærere. Gruppelærerne går igjennom ukeoppgaver med studentene, leder labøvelser og retter obligatoriske oppgaver, hjemmeeksamener og annet. I noen av de større emnene tilsettes en av gruppelærerne som hovedgruppelærer. Hovedgruppelæreren har ekstra administrative plikter. Hvert semester er det et stort puslespill å få inn og behandle søknader fra de som ønsker å være gruppelærere, intervjue nye søkere, velge ut hvem som skal få tilbud om jobb, og fordele disse på emner og arbeidsoppgaver. Til å holde orden på gamle og nye gruppelærere, ønsker instituttet seg et informasjonssystem. Vi skal se på noen utvalgte deler av en informasjonsmodell for dette. Alle som søker stilling som gruppelærer, fyller ut et nettskjema der de må oppgi navn, brukernavn og fødselsnummer. I tillegg kan de velge om de vil oppgi mobiltelefon og adresse. Søkerne må angi i prioritert rekkefølge minst to emner (de emnene som er aktuelle for det gitte semesteret, er listet opp i nettskjemaet) og hvor mange grupper de ønsker i hvert. Minimumskravet for å søke gruppelærerstilling i et emne, er at studenten selv har avlagt eksamen i emnet og med rimelig godt resultat. Derfor må søkerne oppgi alle emner de har tatt ved UiO, og hvilken karakter de fikk. Dessuten må de oppgi studienivå, dvs. om de er bachelor- eller masterstudenter. De som har vært gruppelærere før, må oppgi hvilke emner de har vært gruppelærer i, og hvilket eller hvilke semestere dette var. Dette siste vil vel kanskje etterhvert bli unødvendig når databasen har vært i drift en tid, men inntil videre må (Fortsettes på side 2.)

Prøveeksamen i INF1300, leveringsfrist 11. november 2016 Side 2 søkerne selv gi disse opplysningene. Hvis en søker sender inn nettskjemaet mer enn én gang, skal systemet bare ta vare på den sist innsendte versjonen. Nye søkere til gruppelærerjobber blir innkalt til intervju. I intervjuet blir søkerne blant annet spurt om de kan tenke seg å jobbe som underviser eller obligretter. Noen gruppelærerere får tilbud om stilling som plenumslærer, spesialgruppelærer eller hovedgruppelærer. På bakgrunn av blant annet intervjuet, tidligere erfaring som gruppelærer og eksamensresultater, bestemmer så administrasjonen, faglærere og utdanningsleder hvem som skal få tilbud om stilling og til hvilken/hvilke stillinger. Deretter diskuterer de med hver enkelt av dem som får tilbud, hvilke arbeidsoppgaver han eller hun skal ha. I oppgavene under er det viktig at det i besvarelsen skrives tydelig hvilken/ hvilke deler av ORM-diagrammene som dekker hver av oppgavene 1 og 2; skriv gjerne også kommentarer til. Legg vekt på å gi alle begreper en referansemåte. Alle faktatyper skal ha minst én entydighetsskranke. Oppgave 1 (15%) 1a. Lag en ORM-modell som beskriver personopplysningene i søknadene, dvs. navn, adresse, fødselsnummer, brukernavn og mobiltelefon. 1b. Et studieår består av et høstsemester og et vårsemester. Det inneværende semesteret heter f.eks. Høst 2016. Lag en ORM-modell som beskriver semestre. 1c. Lag en ORM-modell som beskriver grunnlagsopplysningene for søknadsprosessen, dvs. hvilke emner søkerne kan velge blant i et gitt semester, hvor mange grupper som det trengs gruppelærere til i hvert emne, og eventuelt annen relevant informasjon. Oppgave 2 (20%). Lag en ORM-modell som beskriver søknadene. Hint: Det står i oppgaveteksten at søkerne må søke på minst to emner. I ORM kan vi modellere at en sykkel har minst to hjul (og at et hjul sitter på maksimalt én sykkel) med en frekvensskranke slik: Oppgave 3 (15%). For hvert av punktene under, vis med forekomstdiagrammer eller forklar på annen måte at den samlede ORM-modellen din fra oppgave 1 og 2 oppfyller påstanden i punktet. 3a. Antall grupper i et emne kan variere fra semester til semester. 3b. Det er maksimalt én søknad per student i et gitt semester. 3c. Systemet kan håndtere mer enn én søknad per student så lenge det dreier seg om søknader fra forskjellige semestre. (Fortsettes på side 3.)

Prøveeksamen i INF1300, leveringsfrist 11. november 2016 Side 3 3d. Ingen kan søke på emner som ikke står i listen over aktuelle emner for et gitt semester. Oppgave 4 (5%). Gruppelærerne tildeles arbeidsoppgaver. For noen typer arbeidsoppgaver må gruppelærerne levere aktivitetsrapporter. Nedenfor har vi gjengitt en ORMmodell som beskriver deler av dette. Beskrivelse (beskr) har beskrivelse/for Arbeidsoppgave er rapportert/gjelder gjøres av/utfører levert/for gjelder/er tildelt Dag (dato) Person (fnr) Type (atype) Aktivitetsrapport rapportert innsats/omfang Antall (ant) For hver av påstandene under, angi om påstanden er sann eller gal i den gitte ORM-modellen. 4a. En person kan tildeles flere arbeidsoppgaver. 4b. En person kan tildeles flere arbeidsoppgaver av samme type. 4c. Hver arbeidsoppgave kan bare tildeles én person. 4d. Alle arbeidsoppgaver må ha en beskrivelse. Oppgave 5 (5%). Realiser ORM-modellen i oppgave 4 som et relasjonsdatabaseskjema. For hver relasjon, angi relasjonens navn og navnet til hvert attributt. Du skal ikke angi datatyper for attributtene og ikke bruke SQL i denne oppgaven. Understrek primærnøklene. Hvis det er kandidatnøkler, markerer du dem med én strek og primærnøkkelen med to. Undertrykkede relasjoner skal ikke være med i listen. (Fortsettes på side 4.)

Prøveeksamen i INF1300, leveringsfrist 11. november 2016 Side 4 Del B. Samme interesseområde Vi skal her ta utgangspunkt i én mulig (litt forenklet, og ikke perfekt) database for dette og se på noen av de relasjonene som inngår. Primærnøklene er understreket. Gruppelærer(brnavn, emnekode, år, vh, antallgr) Søknad(brnavn, år, vh, prioritet, emnekode, antallgr) FullførtEmne(fnr, brnavn, emnekode, karakter) Relasjonen Gruppelærer inneholder informasjon om hvem som har hatt gruppelærerstillinger tidligere semestere. Hver linje angir brukernavnet til en person (brnavn), emnekode for emnet, hvilket år og semester (vh) dette var, og hvor mange grupper personen hadde ansvaret for (antallgr). vh har en av verdiene vår eller høst. Relasjonen Søknad inneholder opplysninger om alle søknader (gamle og nye). Alle søkere må angi i prioritert rekkefølge de emnene det søkes gruppelærerstilling i; til dette brukes attributtet prioritet. Attributtet antallgr angir hvor mange grupper det søkes om i det angjeldende emnet. I Søknad er (brnavn, år, vh, emnekode) kandidatnøkkel. Relasjonen FullførtEmne har informasjon om hvilke emner en person har tatt eksamen i, og hvilken karakter personen fikk. fnr er fødselsnummeret til personen. Her er (fnr, emnekode) kandidatnøkkel. Oppgave 6 (5%). Definer relasjonen Søknad i SQL. Du kan anta at brnavn og emnekode er VARCHAR(8), at år, prioritet og antallgr er INTEGER og at vh er CHAR(4). Husk primærnøkkel og eventuelle andre skranker. Brukernavnet bestemmer entydig fødselsnummeret til en person. Det motsatte gjelder også: Til hvert fødselsnummer er det bare ett brukernavn. Oppgave 7 (5%). Forklar hva slags oppdateringsanomalier som kan forekomme i skjemaet. Hvordan kan vi unngå disse oppdateringsanomaliene? I de videre oppgavene skal du bruke SQL til å formulere spørringer mot relasjonene Gruppelærer, Søknad og FullførtEmne. Oppgave 8 (5%). List opp emner etter antall søkere våren 2017. Listen skal sorteres etter avtagende antall søkere. Oppgave 9 (5%). Lag en oversikt over gruppelærererfaring, der det for hver person står hvor mange forskjellige emner vedkommende har vært gruppelærer i og hvor mange semestere personen har vært gruppelærer. Sorter først på antall forskjellige emner, dernest på antall semestere. (Fortsettes på side 5.)

Prøveeksamen i INF1300, leveringsfrist 11. november 2016 Side 5 Oppgave 10 (5%). Finn de som ikke har vært gruppelærere før, og som har søkt gruppelærerstilling i ett av førsteårsemnene INF1010 og INF1050 våren 2017. Oppgave 11 (5%). Finn ut om det er noen som har vært gruppelærer i et emne mer enn tre ganger og som søker stilling i dette emnet også våren 2017. Oppgave 12 (5%). Finn ut om noen av søkerne har søkt emner de ikke har selv, eller til emner der søkeren har karakter dårligere enn C. Oppgave 13 (5%). List opp alle søkere som ikke søker til emner utover grunnivå (grunnivåemner er emner som har en emnekode med siffer som begynner med tallet 1). Oppgavesett slutt. Leveringsfristen 11. november gjelder dem som trenger flere poeng for å få gå opp til eksamen. Ønsker du bare tilbakemelding på arbeidet ditt, må du levere besvarelsen som en innleveringsoppgave i Devilry innen 18. november. For best mulig eksamenstrening, vil vi anbefale at du tegner ORM-tegninger for hånd og at du ikke bruker andre hjelpemidler enn dem som er oppgitt. Lag gjerne de 4 sidene håndskrevne notater før du løser prøveeksamen slik at du ser hvor relevant notatene er. Vedlegget som er oppgitt er tilgjengelig fra kursets hjemmeside (under ressurser). Ellen Munthe-Kaas og Stein Michael Storleer