dbsys.info

Eksamen høst 2005

Tid: 9-13

Hjelpemidler: Ingen

Oppgave 1

Følgende tabeller blir brukt av et hytteutleiefirma:

Primærnøkler er understreket og fremmednøkler er merket med en stjerne.

1-a

Skriv SQL-kode for å vise reservasjonene for hytte 15 i 2006. Utskriften skal inneholde reservasjonsnummer og kundens navn og adresse, og være sortert fra uke 1 til 52.

1-b

Skriv SQL-kode for å vise leieinntekter for hver hytte i prisgruppe 2 for 2006, basert på registrerte reservasjoner.

1-c

Skriv SQL-kode for å definere tabellen Hytte.

1-d

Per Hansen bosatt i Bøgata 789 (3800 Bø) vil reservere hytte 15 i uke 4 i 2006. Hansen er ikke tidligere registrert som kunde. Skriv SQL-kode for å registrere kundeopplysningene og selve reservasjonen. Bruk kundenummer 83 og reservasjonsnummer 1065.

1-e

Det er opprettet en tom tabell Reservasjon2004 med samme struktur som Reservasjon. Skriv SQL-kode for å flytte (kopiere og så slette) reservasjoner som gjelder 2004 over i Reservasjon2004. Sørg for at operasjonen blir gjennomført som en transaksjon.

Oppgave 2

Det skal utvikles et databasesystem for å håndtere togruter, avganger, billettreservasjoner og bemanningsplaner.

Jernbanenettet består av et antall stasjoner. Stasjonene er identifisert ved et unikt navn. Bemannede stasjoner har et telefonnummer.

En togrute er identifisert ved et unikt rutenummer, og stopper alltid ved de samme stasjonene. For eksempel så starter togrute 12 ved stasjon A, fortsetter til stasjon B, C og D, og har endestasjon E. En togrute følger alltid det samme tidsskjemaet (bruker like lang tid på og mellom stoppestedene). Visse togruter har restaurantvogn.

En togrute kan ha flere avganger hver dag. Systemet skal kunne produsere rutetabeller for hver avgang som viser når toget ankommer og forlater hvert stoppested på togruten.

Registrerte kunder kan forhåndsreservere billetter. Systemet skal lagre navn og adresse til hver kunde. En reservasjon gjelder et antall billetter på en bestemt avgang, fra en stasjon til en annen. Det er ikke nummererte seter.

Bemanningsplanen viser hvilke ansatte som skal jobbe på hvilke avganger. Systemet skal lagre navn og stilling til hver ansatt.

Lag en begrepsmessig datamodell (E/R-diagram) for dette systemet.

Oppgave 3

3-a

Gjør rede for brukeradministrasjon i et databasesystem. Bruk eksempler.

3-b

Gjør rede for oppgavene til et databasehåndteringssystem. Tegn gjerne en figur.

3-c

Forklar hvordan et databasehåndteringssystem løser problemer med samtidige transaksjoner.

3-d

Betrakt følgende tabell:

Følgende funksjonelle avhengigheter gjelder: A → B, C → D og D → E.

Bestem kandidatnøkkel og utfør normalisering til BCNF. Merk primærnøkler og fremmednøkler i sluttresultatet.

3-e

Forklar hvordan en-til-mange forhold blir håndtert ved logisk design (oversettelse fra E/R-diagram til tabellstruktur), og hva som skjer hvis entiteten på mange-siden er svak.