Datamodellering og databasesystemer Jørgen

Datamodellering og databasesystemer TDT4145 Jørgen Grimnes Øving 3 OPPGAVE 1
Databasen består av følgende tabeller:
Bok(Bokid, Tittel, Utgittår, Forlagid)
Forlag(Forlagid, Forlagnavn, Adresse, Telefon)
Forfatter(Forfatterid, Fornavn, Etternavn, Fødeår, Dødår, Nasjonalitet)
BokForfatter(Bokid, Forfatterid)
1)
2)
3)
5)
Datamodellering og databasesystemer TDT4145 6)
7)
Jørgen Grimnes Øving 3 Datamodellering og databasesystemer TDT4145 Jørgen Grimnes Øving 3 8
9
4
Datamodellering og databasesystemer TDT4145 10
11
Jørgen Grimnes Øving 3 Datamodellering og databasesystemer TDT4145 OPPGAVE 2
A
B
Jørgen Grimnes Øving 3 Datamodellering og databasesystemer TDT4145 C
Jørgen Grimnes Øving 3 Datamodellering og databasesystemer TDT4145 OPPGAVE 3
Jørgen Grimnes Øving 3 Datamodellering og databasesystemer TDT4145 Jørgen Grimnes Øving 3 Datamodellering og databasesystemer TDT4145 Jørgen Grimnes Øving 3 OPPGAVE 4
A. Hva er hensikten med virtuelle tabeller (views)? Hvorfor kan vi få problemer
ved oppdateringer gjennom virtuelle tabeller?
a. Oppdaterbarhet. Det kan være vrient å definere hvordan en
oppdatering i view’et skal realiseres i basistabellene. Vi pleier derfor
ofte å nekte INSERT, DELETE og UPDATE statements i views.
B. Gitt tabellene i eksempeldatabasen vist til slutt i øvingen. Definer en virtuell
tabell (view) over disse tabellene som inkluderer prosjektnavn, avdelingstilhørighet, antall ansatte (på prosjektet) og totalt antall timer arbeidet per uke
på hvert prosjekt.
a.
C. Gitt følgende view-definisjon:
Hvilke av spørringene og oppdateringene under er lovlige? Vis hvordan
disse utføres på basis- tabellene.
Det er ikke hensiktsmessig å oppdatere
department number i view’et. Dersom vi
skulle skifte department, burde dette
oppdateres i DEPARTMENT tabellen
Dersom vi ønsker å slette et department, må
dette gjøres i DEPARTMENT tabellen.
Datamodellering og databasesystemer TDT4145 Jørgen Grimnes Øving 3 OPPGAVE 5
Vi har en database for å registrere leverandører og deler. Vi vet hvor leverandørene
er (Supplier.city) og hvor de har delene sine (Part.city) og hvor mange deler de har
på hvert sted. Tabellen Part er en slags produktbeskrivelse over mulige deler en
leverandør har på et sted, mens SuppliesPart forteller om de faktisk har den (qty >
0).