HØGSKOLEN I SØR-TRØNDELAG



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

Datamodellering: ER-modeller ER = Enitity-Relationship del 1: Notasjon og oversetting av ulike ER-modeller til tilsvarende relasjonsmodeller

1. Datamodellering Kommentarer til læreboka

1. Designe ER-modeller med MS Visio

1. Relasjonsmodellen Kommentarer til læreboka

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

HØGSKOLEN I SØR-TRØNDELAG

Kunnskapsorganisasjon og gjenfinning sider (inklusive forside og vedlegg)

HØGSKOLEN I SØR-TRØNDELAG

Repetisjon: Normalformer og SQL

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsforslag for Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Del 1: ER-modellering og databaseteori

Normalisering. Hva er normalisering?

Kunnskapsorganisasjon og gjenfinning 1. Relasjonsmodellen og -databaser

Innhold Forord Innledning Kapittel 1 Introduksjon til databaser og databasesystem

Normalisering. Hva er normalisering?

Oppgaver Oppgave a: Sett opp mulige relasjoner

Kunnskapsorganisasjon og gjenfinning 1

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

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

Høgskolen i Telemark EKSAMEN 6102 DATABASER Tid: Hjelpemidler: Vedlegg: Eksempeldata til oppgave 1

Oppgave 1 1. Spørring: Resultattabell: 2. Spørring: Resultattabell: 3. Spørring:

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

1. Innføring i bruk av MySQL Query Browser

1. Normalisering Kommentarer til læreboka

EKSAMEN DATABASER

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring

HØGSKOLEN I SØR-TRØNDELAG

Databaser. - Normalisering -

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

Oppgave 1 Datamodellering 22 %

Normalisering. Hva er normalisering?

Oppgave 1 Datamodellering 25 %

Hvordan designe en ER-modell med MS-VISIO

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

UNIVERSITETET I OSLO

5602 DATABASER Bokmål/nynorsk. 17 (inkludert denne forsiden) Eksamensresultatene blir offentliggjort på Studentweb.

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

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsskisse til eksamensoppgave i TDT4145 Datamodellering og databasesystemer

HØGSKOLEN I SØR-TRØNDELAG

Oppgave 3 - normalisering

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

UNIVERSITETET I OSLO

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

HØGSKOLEN I OSLO Avdeling for journalistikk, bibliotek- og informasjonsfag Bibliotek- og informasjonsstudiene

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

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

Høgskolen i Telemark EKSAMEN 6102 DATABASER Tid: Hjelpemidler: Vedlegg: Eksempeldata til oppgave 1

Løsningsskisse til eksamensoppgave i TDT4145 Datamodellering og databasesystemer

UNIVERSITETET I OSLO

HØGSKOLEN I SØR-TRØNDELAG

Normalisering. Partielle avhengigheter Transitive avhengigheter Normalformer: 1NF, 2NF, 3NF, BCNF Normaliseringsstegene Denormalisering

Høgskolen i Telemark EKSAMEN 6102 DATABASER Tid: Hjelpemidler: Vedlegg: Eksempeldata til oppgave 1

HØGSKOLEN I SØR-TRØNDELAG

EKSAMEN 6102 / 6102N DATABASER

1. Introduksjon og bakgrunn

Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer

Oppdateringsanomalier. Normalformer. Institutt for informatikk INF

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

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

HØGSKOLEN I SØR-TRØNDELAG

Dagens tema: Oppdateringsanomalier Normalformer

IN2090 Introduksjon til databaser

SLUTTPRØVE 5602 DATABASER I (inkludert vedlegg og denne forsida) Vedlegg: A: Eksempeldata og B: Svarark til oppgave 4

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

Databaser: Relasjonsmodellen, del I

Relasjonsdatabaseteori

Datamodellering 101 En tenkt høgskoledatabase

Eksamen i Internetteknologi Fagkode: ITE1526

Løsning til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

UNIVERSITETET I OSLO

Publiseringsguide for NEK

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

Oppdateringsanomalier Normalformer

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

9-14. Tid: Målform: Sidetall: Hjelpemidler: Ingen. Merknader: Vedlegg: en lapp og. Avdeling

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

INF1300 Introduksjon til databaser

2 of :19 1 of :19 [Kurssidene] [ ABI - fagsider bibin ]

HØGSKOLEN I SØR-TRØNDELAG

Oppgave 1 ER- og relasjonsmodell 10 %

MySQL-database, php. Innhold. 8 MySQL-database, php. 8.1 Databasen MySQL

HØGSKOLEN I SØR-TRØNDELAG

Transkript:

HØGSKOLEN I SØR-TRØNDELAG AVDELING FOR TEKNOLOGI Institutt for databehandling Kandidat nr.: Eksamensdato: 09.05.2005 Varighet: 0900-1200 (3 timer) Fagnummer: LO323D Fagnavn: Databaser Klasse(r): NETT 2006V Studiepoeng: 6 Faglærer(e): Kjell Toft Hansen - tlf 73 55 95 71/ 91174581 Hjelpemidler: Alle skriftlige Oppgavesettet: Består av 3 oppgaver og 3 sider (inklusive forside) Vedlegg: Ingen Merknader: _Oppgaveteksten kan beholdes av studenter som sitter eksamenstiden ut. _Prosenttallet i parentesen viser vektlegging ved karaktersetting. Lykke til!

Oppgave 1: Datamodellering (50%) Problemstilling: Web-sider Du er med i en prosjektgruppe som skal utvikle en database som lagrer informasjon om Websider, skreddersydd for vedlikehold av Webbaserte kurs som det undervises i på et universitet. Hvert kurs er knytt til en Webtjener som vedlikeholder alt kursmaterielle (eng. courseware) som inkluderer klassenotater, tilknyttede publikasjoner, et utvalg av dokumenter, kjørbare filer og databasefiler. Kursmateriellet er lagret på en spesiell katalog på Webtjeneren med tilgang via ftp (File Transfer Protocol), som brukes til å overføre filer mellom datamaskiner. All grafikken, som er knytt til en Webside, er også lagret i en katalog, og databasen lagrer det grafiske bildet ved hjelp av en Webside. Websider er lenket til andre Websider ved hjelp av http (Hyphertext Transfer Protocol). Hver Webside er knytt til en hovedside som tilhører et kurs, som er dens base. Basert på de generelle opplysningene over, så kan du anta følgende detaljer: Det som kjennetegner en Webside er et unikt identifikasjonsnummer, en tittel, dens URL (Uniform Resource Locator), som inneholder adressen til Websiden og antallet ganger Websiden har vært aksessert eller fått tilslag. Websiden som tilhører et kurs, har en tilhørende hjemmeside som vil fungere som en base for alle Websidene som er knytt til kurset. Det som kjennetegner et grafisk bilde er et unikt identifikasjonsnummer, grafikkbildets navn, formatet til bildet (gif, jpg, bmp, png) og katalogen hvor grafikkbildet er lagret. Et grafikkbilde kan brukes av mange Websider, og en Webside kan vise mange grafikkbilder. Kursmateriellet har et unikt identifikasjonsnummer, en beskrivelse av kursmaterialet, katalogen hvor materialet er lagret og en kategori som beskriver type kursmateriale, slik som P for publikasjon, N for notater, D for dokumenter, K for kjørbare filer og M for databasefiler. En kurskonseptfil kan lenkes til flere Websider og en Webside kan ha ftp-lenker til flere kurskonseptfiler. Side 2 av 6

a) Du skal lage et ER-diagram for Webside systemet. Du kan bruke lærebokas notasjon. 0..1 -er hjemmeside for Web_side -web_id {PK} -web_tittel -url -base -ant_treff -er http_lenke for * * -lenke til -viser Kursmateriell -kursm_id {PK} -kursm_beskrivelse -ftp_lokalisering -kategori Grafikk -g_id {PK} -g_navn -g_type -g_lokalisering Det er en mange-til-mange sammenhengstype mellom entitetene i entitetstypene Web_side og Kursmateriell. Det er en mange-til-mange sammenhengstype mellom entitetene i entitetstypene Web_side og Grafikk. En webside kan vise flere grafikkbilder og det samme grafikkbildet kan vises på flere websider. Det er en rekursive en-til-mange-sammenhengstype mellom websider og hjemmesider. Hver webside kan bestå av bare en hjemmeside (base), men en hjemmeside (base) kan ha mange websider. Det er også en rekursiv mange-til-mange-sammenhengstype mellom websider http-lenker. En webside kan ha http-lenker til flere andre websider og omvendt. b) Du skal oversette ER-modellen, som du kom fram til i a) til relasjonsmodellen med primær- og fremmednøkler. WEB_SIDE(web_id, web_tittel, url, ant_treff, h_web_id*) HTTP_LENKE(ut_web_id*, inn_web_id*) KURSMATERIELLE(kursm_id, kursm_beskrivelse, ftp_lokalisering, kategori) GRAFIKK(g_id, g_navn, g_type, g_lokalisering) LENKE_TIL_FTP(web_id*, kursm_id*) WEB_SIDE_GRAFIKK(web_id*, g_id*) Side 3 av 6

Oversettelsen av ER-modellen til et relasjonsskjema har foregått slik: Det er opprettet en tabell for hver entitetstype og for hver mange-til-mange sammenhengstype (koblingstabell). Den rekursive sammenhengstypen er hjemmeside for oversettes blir uttrykt med fremmednøkkelen h_web_id som refererer til web_id. Den rekursive og mange-til-mange sammenhengstypen er http_lenke for blir oversatt til koblingstabellen Http_lenke.. Oppgave 2: SQL (20%) Ta utgangspunkt i følgende relasjonsdatabase: BOLIGSELSKAP(b_id, b_navn, b_gate, b_postnr, b_by, b_tlf) HUSMODELL(h_id, h_navn, h_kvadrat_m, ant_etasje, b_id*) AVDELING(a_navn, a_postnr, a_by) TILBUD(a_navn*, h_id*, pris) BYGGPLASS(b_nr, b_adresse, b_kvadrat_m, b_premie, a_navn*) SALG(a_navn*, b_nr*, h_id*, status) Oppgaver: Lag SQL-spørringer a) Hvilke husmodeller tilbys hos avdelingen i Tromsø? SELECT h.*, pris FROM tilbud t, husmodell h WHERE t.a_navn = TROMSØ AND t.h_id = h.h_id; b) Finnes det noen avdelinger som bare tilbyr husmodeller med 1 etasje? SELECT DISTINCT t.a_navn FROM tilbud t, husmodell h WHERE h.ant_etasje = 1 AND t.h_id = h.h_id; c) Skriv ut alle boligbyggeselskap som tilbyr husmodeller med 1 etasje og på minst 130m 2 hos avdelingen i Trondheim? SELECT b_navn, b_tlf FROM boligselskap b, husmodell h, tilbud t, avdeling a WHERE a_by = TRONDHEIM AND ant_etasje = 1 AND h_kvadrat_m > 130 AND t.a_navn = a.a_navn AND t.h_id = h.h_id AND h.b_id = b.b_id; Side 4 av 6

d) Hvilke avdelinger tilbyr flere husmodeller? SELECT a_navn, COUNT(DISTINCT h_id) FROM tilbud GROUP BY a_navn HAVING COUNT(DISTINCT h_id) > 1; Oppgave 3: Normalisering (30%) Gitt følgende tabell: LEVERANDØR LEV_ID LEV_NAVN GATE POSTNR 101101 Vidars Video Kongens gt 10 7008 101101 Vidars Video Prisens gt 20 7010 101101 Knuts Video Dronningens gt 1 7009 Du skal anta at lev_id og lev_navn er avhengig av hverandre og at kombinasjonen lev_id og postnr er primærnøkkelen. Tabellen beskriver en situasjon som kan være aktuell når et firma har kontorer på forskjellige steder og hvor hvert kontor blir sett på som en annen eller forskjellig leverandør. Oppgaver: a) Lag et diagram (figur) som viser de funksjonelle avhengigheter (determineringer) som gjelder for tabellen? Du skal bygge på de forutsetninger som er gitt i tabellen og teksten over. Lev_id Postnr Lev_navn Gate Lev_id, Postnr -> Lev_navn, Gate Lev_id -> Lev_navn Lev_navn -> Lev_id b) Hva er den høyeste normalform som oppfylles i tabellen over? Svaret må begrunnes. Det er to (sammensatte) kandidatnøkler: Lev_id og Postnr og Lev_navn og Postnr. Avhengigheten mellom Lev_id og Lev_navn er en ikke-nøkkel avhengighet fordi ingen Side 5 av 6

av dem alene er en nøkkel. Selv om disse avhengighetene er brudd på BCNF, så er de ikke brudd på 3NF. c) Dersom du mener at tabellen ikke er på Boyce-Codd-normalform, vis hvordan tabellen kan normaliseres til BCNF. LEVERANDØR( lev_id*, gate, postnr) LEVERANDØR_NAVN(lev_id, lev_navn) Side 6 av 6