Digitalisering for økonomer > Andre oppgaver > 6.2 Transportoppdrag

Et transportfirma utfører transportoppdrag med varebiler. Firmaet har flere sjåfører og flere biler. Det er behov for en database som kan vise hvilken sjåfør og hvilken bil som brukes på hvert oppdrag. En sjåfør kan ha mange oppdrag og hver bil kan brukes til forskjellige oppdrag. Databasen skal også inneholde informasjon om de ulike kundene som firmaet kommer i kontakt med. En kunde kan ha flere transportoppdrag.

a) Utform et ER-diagram som dekker informasjonsbehovene til transportfirmaet. Angi kardinalitet og medlemsskap og presiser de forutsetninger du legger til grunn.

Hver varebil har et entydig registreringsnummer og opplysninger om bilmerke, biltype og årsmodell. Sjåførene er identifisert med et sjåførnummer og kundene med et kundenummer. Hver sjåfør og hver kunde skal dessuten være forsynt med navn, adresse og telefonnummer. Hvert oppdrag har en beskrivelse og en dato.

b) Sett opp tabelldefinisjoner basert på ER-diagram og angitt informasjonsbehov.

a) Løsningsforslag ER-diagram

Vi kan identifisere fire entitetstyper med transportoppdrag som den mest den sentrale. Koblingene mellom de fire entitetstypene er ikke entydig gitt av oppgaveteksten, slik at forutsetninger for ER-diagrammet som foreslås må presiseres. I løsningsforslaget her forutsetter vi at hvert oppdrag utføres av en og kun en varebil og en og kun en sjåfør. Andre muligheter foreligger. Vi forutsetter også at hvert oppdrag kun har en kunde. Løsningen ville blitt mer komplisert hvis flere kunder kunne gått sammen om et oppdrag.

b) Løsning tabelldefinisjoner

ER-diagrammet ovenfor og angitt informasjonsbehov i oppgaveteksten innebærer følgende tabelldefinisjoner.

Tabelldefinisjoner:

Varebil(RegNr, Bilmerke, Biltype, Årsmodell)
Sjåfør(SjåførNr, Navn, Adresse, TelefonNr)
Oppdrag(OppdragsNr, Beskrivelse, Dato, *RegNr, *SjåførNr, *KundeNr)
Kunde(KundeNr, Navn, Adresse, Telefon)

Det bør presiseres at Sjåfør- og Kundetabellene her ikke er normalisert. Både Navn og Adresse består av flere verdier eller deler og er derfor ikke i samsvar med 1NF.