Datamodellering - tips og oppgaver
Tips for arbeid med datamodellering
Les igjennom teksten flere ganger, gjerne noen ganger raskt og noen ganger langsomt.
Spør deg selv: HVA (Hva er dette? Hva dreier dette seg om osv.) Svar på spørsmålet HVA vil i mange tilfeller være aktuelle entiteter (tabeller). En entitet beskriver personer, ting, gjenstander, dokumenter, papirer, avdelinger, organisasjoner, hendelser eller handlinger i virkelighetens verden. ). Husk at en entitet tilsvarer en tabell i et databasesystem. Det må altså være mulig å sette opp en tabell med informasjon i linjer nedover - det må være flere av hver person, avdeling, gjenstand osv. Hvis det bare forekommer én person, organisasjon osv, så vil vi normalt ikke opprette en entitet for denne.
Eksempel:
HVA er dette ?
Entitet:
Ta for deg to og to av entitetene og spør deg selv om det er et forhold mellom disse (tingene, tabellene). Hvis det er det, så kan du tegne en relasjon mellom dem.
Eksempel:
Er det et forhold mellom ELEV og KLASSE?
ELEV - relasjon (sammenheng) - KLASSE:
Relasjoner er vanligvis enten 1-til-mange eller mange-til-mange. Fokuser på den ene av de to entitetene og se på relasjonen til den andre. Hvis du ser mange av den andre entiteten, så kan du tegne symbolet for mange mot denne andre entiteten. Hvis du ser kun én av den andre entiteten, så tegn symbolet for én på den andre siden. Skift fokus til den andre entiteten og gjenta dette. Gjør det samme for alle relasjoner.< /p>
Eksempel: En elev går i én (og bare en) klasse. I en klasse går det mange elever.
Hvis en relasjon er av typen mange-til-mange, så skal den entitetiseres. Relasjonen fjernes, det tegnes en ny entitet der hvor relasjonen var. De to nye relasjonene blir så en-til-mange fra de opprinnelige entitetene til denne nye entiteten.
Eksempel: En elev tar mange fag. I et fag deltar det mange elever:
og denne relasjonen entitetiseres slik:
Alle entiteter skal ha en identifikator (primærnøkkel). Tenk først igjennom om det finnes noen naturlig identifikator. Dette kan være f.eks. Fødselsnr, Kundenr, Elevnr, Medlemsnr (ved personer), Registreringsnr (ved biler, båter osv), Foretaksnr, Postnr, ISBN-nr osv. Det må være et entydig nummer eller kode som hefter ved gjenstanden eller personen. Hvis ikke det finnes en slik naturlig identifikator opprettes en ny identifikator. Da kan man gjerne bruke entitetsnavnet + ID. Husk å tegne en vannrett linje under primærnøkkelen.
Eksempel:
Elevene på skolen har et elevnummer i skolens arkiv:
Plasser fremmednøkler. Hvert sted det er en relasjon skal det være en fremmednøkkel på mangesiden. Som fremmednøkkel brukes det samme attributtet (feltet) som er primærnøkkel på ensiden av relasjonen. Vær sikker på at du har riktig relasjon før du plasserer fremmednøkler. Husk å tegne en stjerne foran fremmednøkkelen!
Eksempel:
Klassekode er primærnøkkel på énsiden av relasjonen her. Derfor er dette feltet "flyttet" over i ELEV. Stjernen foran feltet viser at det er en fremmednøkkel.
For hver entitet: Tenk igjennom hvilke egenskaper entiteten (tingen, gjenstanden, personen osv) har i virkelighetens verden, og hvilke egenskaper vi har behov for å samle informasjon om. Hver slik egenskap blir et attributt (et felt) i entiteten.
Eksempel:
Entiteten her er INSTRUMENT. Hvis vi er interessert i å ta vare på informasjon om hvilken type instrumentet er, hva det har kostet og når det er kjøpt, så kan man lage følgende datamodell:
Kontroller modellen din
- Tenk igjennom hver entitet: Hva finnes i virkelighetens verden som tilsvarer denne entiteten?
- Tenk igjennom hver relasjon: Er dette det virkelige forholdet mellom disse to tingene?
- Tenk igjennom primærnøklene: Finnes det en naturlig primærnøkkel for denne entitetene? Hvis ikke, er det opprettet en ny som kan brukes?
- Kontroller fremmednøkler: Er det alltid fremmednøkler på mangesiden av hver relasjon?
- Se nøye på relasjonen din: Fremmednøkkelen skal være på kråkefotsiden av relasjonen, primærnøkkelen skal være på énsiden av relasjonen. Kontroller attributter (felt). Har vi med de attributtene (feltene) i hver tabell som skal til for å beskrive denne entiteten (tingen, personen, hendelsen, dokumentet, papiret osv).
Oppgaver i datamodellering
Lag entitetsmodeller for hver av situasjonene nedenfor. Modellene skal ha entiteter, relasjoner, attributter med primær- og fremmednøkler. Oppgavene er av varierende og stort sett (men ikke alltid) stigende vanskelighetsgrad.
1) Fotoarkiv
Til et skoleprosjekt som du deltar i skal dere ta en del bilder med skolens digitale fotokamera. Alle elevene som deltar i prosjektet skal ta noen bilder hver, og disse bildene skal arkiveres med nummerering og en kort beskrivelse av hvert bilde. Du skal utarbeide en datamodell som gjør det mulig å ta vare på denne informasjonen og informasjon om hvem som har tatt hvilket bilde.
2) Hundeklubb
Tenk deg at du er medlem av en hundeklubb. Felles for alle medlemmene her er at de eier en eller flere hunder. Hver hund har selvsagt bare én eier. Medlemmene er arkivert med et medlemsnr, sitt navn, fødselsår, og telefonnr. Hundene har et registreringsnummer i klubben, det er det samme nummeret som brukes som øremerking. Alle hunder som skal registreres må være øremerket. I tillegg til merkenummeret registreres hundens fødselsår, kjønn og navn. Tegn datamodell!
3) Skytebane
Brotjern Skyteklubb vil ha et datasystem for å registrere og systematisere skytternes resultater. Nye, elektroniske blinker gjør det nå mulig å automatisk registrere skytternes treff i en database. I skyteklubbens arkiv skal det være informasjon om skytternes navn, alder og klasse. Nå medlemme er ute på banen og skyter, så er skytingen delt inn i skuddserier. En skuddserie foregår på en bestemt dato og klokkeslett og på en bestemt blink. Blinkene er nummerert. Hvert skudd registreres med hvilken skuddserie den tilhører og hva treffet er (fra 0 til 12, 0=bom, 1 til 10 for de ulike treffene, 12=innertier). Lag datamodell!
4) Dyrepark
Du skal lage en modell for en dyrepark som heter Gondwana.
Dyreparken er delt inn i områder; et slikt område kalles for en habitat. Habitatene har navn som Sumpen, Lagunen, Regnskogen, Akvariet, Hagen, Furulunden osv. I hver habitat bor det en rekke dyr av ulike arter. Dyrene har navn, fødselsdato, vekt og kjønn og hvert dyr tilhører en art. Artene har norske og latinske navn, de har en forventet levealder og de har spesielle krav til fòr. En bestemt art lever bare i én bestemt habitat. Habitatene har et areal (som oppgis i kvadratmeter) og de er enten ute-arealer, inne-arealer eller en kombinasjon av begge deler.
5) Innsamlingsaksjon
NRKs årlige innsamlingsaksjon foregår slik at den er delt inn i lokale avdelinger som omfatter et par nærliggende boligstrøk. Du skal lage et it-basert system for registrering av innsamlingen i ett slikt boligstrøk. (Ikke bry deg om hva som skjer i andre områder!) Området ditt er delt opp i såkalte roder. Dette er mindre områder som består av et par-tre veier med boliger i. Den lokale organiseringen av innsamlingen foregår slik at det er en rekke bøssebærere, for det meste ungdommer av ulik alder. Av hensyn til den statistikken som skal føres skal bøssebærernes alder og navn registreres sammen med et registreringsnummer. Hver bøssebærer får tildelt en eller flere roder. Alle roder er så små at de dekkes fint av en enkelt bøssebærer. Her vil han eller hun da gå fra dør til dør mellom to klokkeslett som begge registreres. Hvor mye som samles inn i hver rode skal selvsagt registreres. Senere skal det være mulig å finne ut hvor mye som er samlet inn totalt i hele ditt område, hvor mye som er samlet inn i gjennomsnitt pr bøssebærer, hvor mye som er samlet inn i gjennomsnitt pr time og hvor mye som er samlet inn i gjennomsnitt for hver aldersgruppe bøssebærerne tilhører. Lag datamodell.
6) Hobbyfiskere
Naboen din er sammen med 4-5 av hans kolleger en lidenskapelig hobbyfisker. Nå ønsker han et IT-basert system for å holde rede på fangsten de har fått i løpet av en sesong. Han vil ha med navn, kjønn og alder på alle fiskerne. Selvsagt må det også tas med informasjon om hva slags fisk som er fisket, hva fisken veide og dato. Hver fisk som fiskes skal registreres. Aktuelle fiskesorter kan være: Berggylt, Mort, Uer, Makrell, Sei.
7) Romtimeplaner
Her ser du hvordan en romtimeplan for et par rom på en videregående skole kan se ut:
ROM 121
Ukedag | 1. time | 2. time | 3. time | 4. time | 5. time | 6. time | 7. time | 8. time |
Mandag | 2INA1 | 2INA1 | 2INA2 | 3INA1 | 3INA1 | |||
Tirsdag | 3INA1 | 2INA2 | 2INA2 |
ROM 126
Ukedag | 1. time | 2. time | 3. time | 4. time | 5. time | 6. time | 7. time | 8. time |
Torsdag | 2INA1 | 3INA1 | ||||||
Fredag | 2INA2 | 2INA2 | 3INA1 | 3INA1 |
Om fagene skal det her bare tas med fagkode, fagnavn og antall uketimer. Om rommene skal det tas med romnr, etasje og antall elevplasser. Finn ut hvilken sammenheng (relasjon) det er mellom ROM og FAG og sørg for at modellen din tar vare på den informasjon som ligger i romtimeplanene slik de ser ut ovenfor!
8) Innredning
Tenk deg at du får i oppdrag av en interiørarkitekt å lage et system for å holde orden på innredning av leiligheter i et leilighetskompleks. Leilighetene er nummerert med bokstav som angir oppgang og et nummer for leiligheten (for eksempel B8). Ulike leiligheter har ulikt areal (i kvadaratmeter) og ulik standard (vanlig eller luksus). Alle leiligheter består av flere rom. Om de forskjellige rommene skal du kunne holde rede på arealet (kvadratmeter), antall vinduer og antall dører, antall strømpunkter og belysningspunkter og type rom (oppholdsrom, soverom, kjøkken, våtrom osv). Du skal også holde oversikt over møbler og annet inventar. Her må det går frem hvilket rom hvert enkelt møbel tilhører, møbelets type (sittemøbel, bord, hylle, skap osv), modell og farge, innkjøpspris samt høyde, bredde og dybde.
9) " Samsen" aktivitetshus
Ved "Samsen" aktivitetshus for ungdom er det en rekke band som øver og holder sine konserter. Nå har dette blitt så mange at man vil innføre et IT-basert system for å holde orden på alle bandene og alle bandmedlemmene. For å kunne øve i Samsens lokale må alle bandmedlemmer være registrert og betale en (lav) kontingent. Tilbudet gjelder kun ungdommer mellom 13 og 20 år. Medlemmenes navn og adresse må registreres, og det må være mulig å sende ut post til dem. Alle band skal registreres, med bandets navn, øvingsrom og øvingstid. En del ungdommer spiller i flere band, og noen spiller også ulike instrumenter i de ulike bandene. For enkelhets skyld forutsetter vi at et bandmedlem kun spiller ett instrument i ett bestemt band. Lag datamodell!
10) Dykking
En dykkerklubb ønsker å ha ordentlig oversikt over de dykk deres medlemmer har foretatt. Det hender at en dykker vil ha dokumentert når og hvor han har dykket osv. Derfor må det registreres alt mulig om dykket som dato, dykkested, dybde (oppgis i meter), sikt (god, dårlig eller begrenset), luftforbruk (oppgis i bar mellom 0 og 200 bar), kommentarer (litt om dykket: om det var vrak, korallrev, fisk og lignende der nede). Dykkere leverer en rapport med alle disse opplysningene etter hvert dykk. Årlig lages det i dykkerklubben en statistikk som sendes ut til alle medlemmer. Her skal det også gå frem hvor mange dykk den enkelte dykker har utført siden han ble medlem og gjennomsnittlig antall dykk per år i denne perioden.
11) Kjøkkenhager
Tenk deg at du får følgende oppdrag av velforeningen der du bor, eller en velforening i nærheten: Beboerne har alle en kjøkkenhage hver. Beboerne utveksler ofte ulike grønnsaker når det er noen man har for mye av selv, og kanskje en av naboene har for lite av samme grønnsak! Nå ønsker man et datasystem for å skaffe oversikt over alle kjøkkenhagene og alle grønnsakene. Hver kjøkkenhage har en eier. Eieren har alltid gitt kjøkkenhagen et navn (Åker'n, Varmestua, Jæren osv). Det er også nyttig å lagre informasjon om når kjøkkenhagene ble startet, hvor store de er (areal i kvadratmeter) og kvaliteten på jorda. Noen kjøkkenhager er i form av et drivhus. I hver kjøkkenhage er det ulike grønnsaker. Vi må ha oversikt over hvilke grønnsaker det er, hvor mange av hver (sånn cirka), når de er sådd og når de skal høstes.
12) Meteorologiske målinger
Rundt omkring i Agder er det en hel del meteorologiske målestasjoner. Målingene herfra sendes inn til Meteorologisk institutt i Oslo og er med på å danne grunnlaget for værmeldingene. Det er derfor viktig å få i stand et effektivt datasystem for overføring av måleresultatene så raskt og pålitelig som mulig. Målestasjonene har et stasjonsnummer, de har en beliggenhet som angis i lengdegrad og breddegrad og de har en høyde over havet. Kristiansand (Kjevik) har lengdegrad 8 grader øst (8º) og breddegrad 58 grader 9 minutter nord (58º9'). Målingene omfatter lufttrykk målt i millibar, nedbør siste døgn i millimeter, høyeste, laveste og gjennomsnittlige temperatur siste døgn, vindstyrke i meter pr sekund, vindretning og luftfuktighet i prosent. Målingene rapporteres elektronisk én gang per døgn.
13) Nybyggerstrøk
Det er nettopp bygget ut et nytt nybyggerstrøk i Lomskoll-området. Området er delt inn i boligområder som har hvert sitt navn (fiol, solsikke, tusenfryd osv). I hvert boligområde er det en lekepark, en butikk og en bussholdeplass. Det er en velforening også i hvert område, med sin formann.
Hvert område omfatter flere veier. Hver vei måles opp til en viss lengde. Enkelte strekninger er enveiskjørte, de fleste har 30-km grense, andre har 40. I hver vei er det en rekke boliger, hver med sin adresse. Boligene er på hver sin tomt, som har et bestemt areal. I noen boliger er det flere enheter (leiligheter eller rekkehus). Boenhetene har ulike antall rom, de har en huseier osv.
14) Tidsskriftarkiv
a) Tenk deg at du har en fjern slektning som abonnerer på ulike tidsskrifter, bl.a. Scientific American, Newsweek, Empire og ComputerWorld. Han ønsker et system for å holde orden på tidsskriftene. Et tidsskrift har i tillegg til navnet, årgang, nummer og utgivelsesdato, det har en ansvarlig redaktør og en redaksjonsadresse. I hvert nummer av tidsskriftet befinner det seg en rekke artikler. Hver artikkel har en tittel, et sideomfang, en forfatter og et emne.
b) Utvid modellen slik at du kan få med noe informasjon om den enkelte forfatter, f.eks. forfatterens nasjonalitet, fødselsår og bakgrunn.
c) Utvid modellen slik at en artikkel kan ha flere forfattere.
d) Utvid modellen slik at en artikkel kan ha flere emner.
15) Planetsystemet
a) Som du kanskje vet så er Tellus (Jorden) én av 9 kjente planeter som kretser rundt sola. Planetene har navn som Merkur, Venus, Tellus, Mars osv. De fleste av planetene har også måner. Tellus har én måne, Luna (Månen), Mars har to, Phobos og Deimos osv. Du skal lage en datamodell som skal brukes av en amatørastronom, din grandonkel og venn A. St. Ronom. Han vil ha oversikt over planetenes og månenes navn, masse og volum. Han vil også ha med planetenes omløpstid rundt sola og månenes omløpstid rundt sine respektive planeter. Både for planeter og måner vil han også ha kontroll på når han sist observerte disse i sitt teleskop.
b) Utvid modellen slik at A. St. Ronom kan ha full oversikt over alle gangene han har observert en planet eller en måne. Han vil også ha mulighet for å registrere hvordan observasjonsforholdene var ved observasjonene (sikt osv), sted og klokkeslett.
16) Grønnsakboder
Hvis du går en tur på torget vil du se en rekke grønnsakselgere som står ved hver sin bod. Tenk deg at du skal lage en datamodell som beskriver denne situasjonen. Grønnsakselgerne vil vi vite navnet på (men ikke noe mer), og boden de står ved har et nummer. For enkelhets skyld regner vi med at hver bod eies og drives av bare én selger. Her selges det grønnsaker og frukt av ulik art. Alt som selges har en pris som oppgis i kr pr kg, men prisen kan være forskjellig hos de ulike selgerne. Systemet må gi en oversikt over selgerne og en prisliste for hele torget som viser hva som selges av hvem og hva prisene er.
17) Birøktere
Naboen din vil begynne med bier og birøkting, og hun har bedt deg om hjelp til å utarbeide et datasystem til hjelp i arbeidet. Det er først og fremst honningen og honningsalget hun vil ha et system for. Hun vil ha litt ulike raser av bier, og disse vil produsere ulik honning til ulike årstider (lynghonning om høsten, blomsterhonning om forsommeren osv). De ulike typene honning har ulik kilopris. Hun regner med å få en del kunder, både dagligvareforretninger og privatpersoner. Salget skal i alle fall foregå slik at hun selv vil kjøre rundt og levere honningen mot kontant betaling. Dermed må hun bare ha navn, telefon og leveringsadresse til kundene. Hun vil registrere i systemet dato og antall for hver leveranse. Tegn datamodell!
18) Forsikringsselskap
Et forsikringsselskap har en rekke kunder. Forsikringsselskapet tar vare på følgende opplysninger om de forskjellige kundene: Kundenr, navn, adresse og enten privat telefonnummer eller telefon til arbeidsstedet. En polise er et dokument hvor det er en avtale mellom forsikringsselskapet og en kunde. Hver kunde kan ha én eller flere poliser. For hver polise lagrer man opplysninger som polisenr, en nærmere spesifisering av polisen samt premie (hva forsikringen koster). En polise vil kunne gjelde mange forsikrede gjenstander. Disse må da være listet opp med nummer, beskrivelse og verdi.
19) Frimerkeklubb
Songdalen frimerkeklubb vil gjerne systematisere sitt arkiv og har spurt deg om hjelp. Klubben har 48 medlemmer i alderen fra 7 til 94 år. Klubben har behov for å sende ut post med innkallinger, referater og tilbud til medlemmene. Medlemmene har noe ulike interesser, og tilbudene må kunne tilpasses disse forskjellige interessene. Hvert medlem har (selvsagt!) en hel del frimerker. Frimerkene kan beskrives ved land, farge, om de er stemplet eller postfriske ("ubrukte"). Noen er på konvolutter i form av førstedagsstempler. Frimerkene har også en pålydende verdi, som riktignok står i de ulike lands valuta. Men frimerkene har også en samlerverdi, som kan hentes fra ulike kataloger. Det er ikke uvanlig at medlemmer av klubben har mange frimerker av samme sort, såkalte dubletter. Det er nødvendig å vite hvor mange slike eksemplarer hvert medlem har.
20) FN-delegasjoner
I FN er 191 stater representert (pr 4.11.02). Hver stat har sin egen ambassadør; mange stater har flere delegater som arbeider i FN-hovedkvarteret i New York. Et system som skal behandle data om dette systemet må inneholde informasjon om statenes navn, antall innbyggere, offisielt språk, offisiell religion, areal og hovedstad. Delegatene har personopplysninger som navn, kontornummer, internt telefonnummer og foretrukket språk. (Privatopplysninger om delegatene lagres ikke.) Alle delegatene har tilgang til en, og i noen tilfeller, flere sekretærer. Om sekretærene er det nødvendig å vite private data som adresse og privat telefon, i tillegg til kontornummer og internt telefonnummer. I mange tilfeller vil også en sekretær arbeide for flere ulike delegater, dette gjelder særlig for fattige land som ikke har råd til en stor FN-delegasjon.
21) Internettspill
Ellinor, en god venn av deg er ivrig tilhenger av spill over internett. Hun ønsker et system som gir oversikt over hvem hun har spilt hvilket spill med og når. For enkelhets skyld antar vi her at alle spill bare har to deltakere, Ellinor og en annen person. Ellinor vil svært gjerne holde orden på alle sine motspillere med deres navn, alias, alder og kjønn. Hun vil også ha med opplysninger om de ulike typene spill, spillets navn, når hun første begynte med spillet og en karakter som forteller hvor godt hun liker akkurat det spillet. Endelig skal jo systemet holde orden på hvilket spill Ellinor har spilt med hvem og når.
22) Treningsgruppe
a) Sammen med 4-5 venner har du startet en treningsgruppe for terrengløp. Noen av dere har trent en del fra tidligere, men det er også noen nybegynnere. Nå har dere funnet ut at dere vil systematisere treningen og at dere vil holde orden på de personlige rekordene. For å kunne sammenlikne disse, må man jo vite når den enkelte deltaker har begynt å trene. Dere løper i 4 forskjellige løyper, på henholdsvis 5km, 8km, 11km og 19km. For hver av disse løypene har hver løper sin rekord, som er satt på en bestemt dato. I systemet ditt vil du også ha med en kort beskrivelse av løypa. Treningen skjer jo med ulik intensitet, og det er ikke alltid man forsøker å sette rekord. Men én gang per måned løper dere én av løypene på tid, som en slags konkurranse. Dermed får dere testet dere selv i alle løypene tre ganger i løpet av et år.
b) Utvid modellen slik at det blir mulig å registrere alle tidene dere har løpt på i testløpene, ikke bare rekorden. I tillegg til dato skal også værforholdene og eventuelle skader eller sykdom registreres.
23) Togbilletter
På jernbanestasjonen skal man ha et system for billettsalg. I denne omgang skal du bare lage et forenklet system, hvor vi avgrenser virkeligheten kraftig. Du skal ta utgangspunkt i togavganger, og disse går alle fra Kristiansand jernbanestasjon (NSB). En togavgang beskrives ved et avgangsnummer, et tognummer, en dato og en avgangstid. For å kunne kjøpe billett på NSB-stasjonen må man være registrert som kunde med navn, adresse og telefonnummer. NSB har behov for å kunne sende ut informasjon til alle kundene sine pr post. Det må selvsagt være mulig for en togkunde å kjøpe billetter til ulike togavganger. Billetten må angi vognnummer, sitteplassnummer, om sitteplassen er for røykere eller ikke-røykere og prisen som skal betales.
24) Bilverksted
Tenk deg at du har to fettere og en kusine som vil starte et bilverksted spesielt beregnet for ungdom med litt "slitte" biler. Slev om bilene vil være slitte, ønsker de et helt moderne it-system for å ta seg av biler, kunder osv. Her er det nødvendig å vite en del om bilene: Registreringsnr, fabrikat og modell, årsmodell og eier. Her kan du forutsette at kundene også er eiere av de bilene de kommer med for å få reparert. Verkstedet må kunne kommunisere med kundend både pr post og pr e-mail. Og ikke minst: Verkstedet må ha full oversikt over alle reparasjoner, hvor lang tid disse har tatt og hvilke deler som har blitt brukt til reparasjonen.
25) Flyselskap
a) Et flyselskap eier en rekke fly som er forskjellig flytype. Man samler følgende opplysninger om hvert fly: Flyidentifikasjon, navn og årsmodell. Om hver flytype samler man opplysninger om flytypeidentifikasjon, besetningsantall, antall passasjerseter, bæreevne, tankstørrelse og krav til lengde på rullebane. Flytypeidentifikasjonen er på formen LN-FLK, dvs to bokstaver, strek og tre bokstaver
b) Flyselskapet har konsesjon på å fly til en rekke av de større byene i Europa (såkalte destinasjoner). I den forbindelse er det av betydning å samle følgende opplysninger om de ulike destinasjonene: By, flyplass og rullebanelengde. Utvid datamodellen som du tegnet under pkt a) slik at disse forholdene tas med.
26) Hentevaskeri
En gruppe elever har fått ideen å opprette en ny tjeneste i Kristiansand-området: en vaskerikjede som henter og bringer tøy for vask.
Vaskerikjeden skal bestå av en rekke vaskerier fordelt rundt i området slik at sjåførene kan bringe tøyet til det nærmeste vaskeriet som har ledige maskiner for øyeblikket. Hvert vaskeri har en rekke automatiske vaskemaskiner, og systemet vårt skal automatisk holde rede på hvilke maskiner som til enhver tid er i bruk og hvilke som er ledige. Det kan også finnes ulike typer maskiner for ulikt tøy, noen er for farget tøy, noen for hvitvask og noen er for grovt, ekstra skittent tøy. Det er også egne maskiner for sko. De ulike maskinene har ulik kapasitet, målt i kg.
Vår vaskerikjede skal også holde oversikt over kundene, vi tar bare oppdrag fra faste, registrerte kunder. Det er nødvendig å kjenne kundenes navn, adresse og telefonnummer. Når kundene ringer oss for å få vasket sitt tøy skal systemet holde orden på ved hvilket vaskeri tøyet blir vasket, hvilken sjåfør som har betjent vasken, når den ble hentet og når den ble levert tilbake (klokkeslett).
27) Parkeringshus
Firmaet Park&Ring ASA eier et parkeringshus med flere etasjer. De forskjellige parkeringsplassene er leid ut til firmaer og privatpersoner, som alle eier en eller flere biler. Enten det er firma eller privatperson som er leietaker, så behandles de på samme måte. Når det gjelder bilene er opplysninger som bilnummer, årsmodell og type viktig informasjon. Om leietakerne lagrer man opplysninger som navn og adresse. Parkeringsplassene i parkeringshuset har forskjellige nummer, befinner seg i forskjellige etasjer og har forskjellig bredde og lengde. Noen av parkeringsplassene har også motorvarmer. En parkeringsplass kan bare leies ut til en leietaker, men en person eller et firma kan selvsagt leie flere parkeringsplasser.
28) Utgravinger
a) Høgskolen i Agder skal opprette en ny avdeling - en avdeling for arkeologi. Denne forskningsavdelingen skal drive med utgravinger i Agder-fylkene og andre steder i Norge og i Norden. Arkeologene blir nødt til å tilbringe kortere eller lengre tid ved de ulike utgravingene, så hver arkeolog må belage seg på reising til ulike steder og mange dagers fravær fra hjemmet i løpet av et år. HiA har bedt deg om å lage et IT-basert system for å holde orden på informasjonene rundt dette arbeidet. Ved utgravingene gjøres det ulike funn. Et funn kan være en del av en kopp, et møbel, et plagg eller en bygning. I visse tilfeller finner man også knokler etter mennesker og dyr. Arkeologiavdelingen må ha feilfri oversikt over hvor og når de ulike funnene er gjort, hva slags funn det er, anslått alder og hvem (hvilken arkeolog) som har gjort funnet. Utgravingene kjennetegnes ved at de har et areal, en lokalisering (hvor de ligger) og de graderes etter hvor interessant eller viktig utgravingen antas å være. Arkeologene har alltid med seg mobiltelefon slik at arkeologiavdelingen kan nå de når som helst. HiA må også lett kunne finne ut hvilken periode og hvor lenge den enkelte arkeolog har arbeidet ved en utgraving.
b) Arkeologiavdelingen har senere funnet ut at de også vil ha følgende informasjon med i systemet: Ved hver utgraving er det én arkeolog som er den ansvarlige for utgravingen. HiA ber deg å forsøke å få dette også med i datamodellen, hvis ikke du klarer det, vil de la en av de ansatte i IT-avdelingen se på problemet.
29) Kino
I forbindelse med at Søgne kommune vil bygge et nytt kinobygg - beregnet på å vise flere filmer samtidig - er man interessert i å holde orden på hvilke filmer som vises i hvilken sal og når. For hver enkelt film ønsker man å registrere opplysninger om: Nasjonalitet, årgang, filmens navn, genre (thriller, action, drama, komedie, skrekk, barn, dokumentar) samt navn på regissør. Salene i kinobygget har forskjellig antall seter og de er gitt navn etter personene i Ibsens skuespill (Hedvig, Peer osv). En bestemt film som vises i en bestemt sal et bestemt tidspunkt kalles en "forestilling". Til hver forestilling er man interessert i å registrere hvordan tilskuerne fordeler seg i de forskjellige salene.
30) Helikopterservice
Helikoptre skal til service og vedlikehold etter et visst antall driftstimer. Da blir viktige deler undersøkt, og dersom det bli oppdaget feil, blir delen skiftet ut. Maskinen blir testkjørt og gjennomgår service. Servicen går ut på at enkelte pakninger, filtre, olje etc skiftes, og enkelte mekaniske deler renses. I en logg noterer man seg resultatet av alle slike undersøkelser. For hver enkelt maskin noterer man seg dato for vedlikeholdet, antall driftstimer helikopteret har fløyet, hvilke deler som er skiftet ut, og hvorfor. Man noterer også hvor mye servicetid som er gått med, og prisen på de deler som er brukt. Helikoptre har et kjennetegn på formen LN-HEL, dvs to bokstaver, strek og tre bokstaver. De to første bokstavene er kjennetegn for hvilket land maskinen er registrert i, i dette tilfellet Norge. Forøvrig vet vi om helikoptre en brutto vekt, antall passasjerer, besetningstall, lastekapasitet, antall rotorer og rekkevidde (hvor langt det kan fly i km).
31) Idrettslag
Idrettslaget »Rundt i ring» sender årlig ut en giro om medlemsavgift til sine medlemmer. Til dette bruker de foreningsarkivet hvor det også er lagret opplysninger om hvilke idrettsgrener hver enkelt deltar eller har deltatt i. En av idrettsgrenene er »Støttemedlem», for de som ikke lenger er aktive. Hver idrettsgren har en kort beskrivelse som forteller noe om hva som er nødvendig av anlegg og utstyr. Det må også være informasjon om hvor idrettsgrenen normalt utøves. Det er bare noen få grener man kan utøve i idrettslagets eget anlegg.
Bortsett fra enkelte støttemedlemmer har hvert medlem registrert personlige rekorder i sine forskjellige disipliner. I hver disiplin (idrettsgren) er det også en kretsrekord, norgesrekord og verdensrekord. Informasjon om disse rekordene skal med i systemet, hvem som har satt de, hvor og når, selv om de er satt i andre sammenhenger. Medlemmenes personlige rekorder skal lagres på samme måte.
32) Nærradio
En nærradiostasjon har en del ansatte som selv driver stasjonen og deler de ulike arbeidsoppgavene seg i mellom. De ansatte knytter seg til forskjellige prosjekter (radioprogrammer) og i slike prosjekter utfører de ulike arbeidsoppgaver (kalt roller). Slike roller kan være f.eks. lydansvarlig, skript, journalist, redaktør osv. Andersen kan for eksempel være lydansvarlig i prosjekt »Ung i dag» den 30/3, 2/4 og 5/4, Bendiksen kan være skript i »Peer Gynt» fra 15/4 til 24/4 osv. Et prosjekt behøver altså ikke å foregå sammenhengende, det kan bety arbeid på separate dager over en periode. En ansatt vil alltid ha en og samme rolle i et bestemt prosjekt en hel arbeidsdag.
Hvert prosjekt har en dato for avslutning av prosjektet - det er den dagen programmet skal sendes (deadline). Alle prosjekter har en budsjettramme (maksimalt beløp som kan brukes) og en varighet i minutter. Hvert prosjekt legger dessuten beslag på en rekke ressurser, dette kan være opptaksutstyr, studioer, rekvisita osv. Det er nødvendig å planlegge bruken av disse ressursene over tid og foreta reservasjoner til bestemte produksjoner og prosjekter.
33) Sandtak
Et sandtak leverer flere produkter: sams masse, grov sand, fin sand, hagesingel nr 1, hagesingel nr 2 og kulestein. Sandtaket har en del faste kunder. Noen av dem henter selv (har egne biler) mens andre kunder benytter leiesjåfører som de selv betaler. Sandtaket registrerer hvilket produkt det gjelder, hvem som henter produktet samt dato, klokkeslett og vekt i tillegg til kundens navn og leveringssted.
Regning sendes til de faste kundene en gang i måneden.
Sandtaket kan også hjelpe til med å skaffe transport og har en liste med navn på sjåfører med bil. I tilfelle problem oppstår bør sandtaket kunne oppspore hvem som kjørte et bestemt lass på et bestemt tidspunkt.
Mindre kunder som betaler kontant og henter sanden selv, inngår ikke i dette systemet.
34) Reisebyrå
To elever du kjenner på reiselivslinjen vil ha litt hjelp til å lage en modell for et tenkt reisebyrå. Kunder kjøper reiser i byrået etter en katalog. Her regner vi at hver reise har sin faste pris. I tillegg til reisens pris bestiller kunden hotell av den standarden som ønskes. Hotellprisene er sesongavhengige, det vil si at prisen varierer slik at ulike tidsperioder har ulik pris for samme hotell. Disse prisene ordnes i en prisliste. Om hotellene skal det også lagres opplysninger som: Har det svømmebasseng, idrettsanlegg, sauna, hvilken klasse har restauranten hvor langt er det til badestrand.
For mange reiser finnes det også ulike typer rabatter som familierabatt, storkunderabatt og andre.
For å ikke gjøre systemet for innviklet, skal du foreta et par forenklinger: Det skal ikke lagres noe informasjon om kundene, og en kunde skal bare kunne bestille én reise og ett hotellopphold av gangen.
35) Parkeringsavgifter
Systemet for innkreving av parkeringsavgift for feilparkerte biler skal effektiviseres.
Når en feilparkert bil finnes av parkeringsvakten så skriver han/hun ut en innbetalingsgiro og fester under vindusviskeren. Men for å sikre at folk betaler må kommunen også kunne sende et brev til bileieren. Man må m.a.o. samarbeide med Biltilsynet som har et register som viser sammenhengen mellom bilenes registreringsnummer og bileierens navn og adresse.
Parkeringsvaktene får bonus etter hvor flinke de er, og det må derfor også registreres hvem som knep synderen. Vakten får 5% av gebyret som er kr 500 per bil. For å kunne dokumentere overtredelsen noteres tid, sted, biltype, farge på bilen og registreringsnummer.
Den ferdige modellen skal dekke informasjonsbehovet for å kunne
purre de som ikke betaler i tide avlønne parkeringsvaktene.36) Restaurant
En stor restaurant trenger hjelp av en database til å registrere hvilke kunder som har bestilt hva. Som utgangspunkt for en slik database skal du lage en datamodell.
Hver servitør har ansvaret for et visst antall bord. I tilfelle bordbestilling blir dette registrert i navnet til én av gjestene + antallet gjester som kommer. Det er ikke aktuelt å ha noe eget kundearkiv, så bestillerens navn blir bare registrert ved bestilling av bord.
Restauranten ønsker en mulighet til å vurdere gjestenes ventetider i perioder med høy aktivitet og en registrerer derfor både bestillingstidspunkt og serveringstidspunkt. For å lette servitørene i deres arbeid vil en at tidspunktene skal registreres automatisk. Servitøren skal for eksempel ved en bestilling bare taste inn bordnummer, rettnummer og antall av retten. Datamodellen må likevel ta hensyn til disse tidspunktene.
Systemet skal også skrive ut regninger. I så fall velges "REGNING" på pc-ens meny og bordets nr tastes inn. Systemet må derfor inneholde en prisliste over alle retter. For enkelhets skyld skal regningen bare være en liste over priser som dette bordet har bestilt. Vi regner også med at hvert bord betjenes av den samme servitøren hele dagen. Systemet skal nullstilles hver morgen med nye data, gamle data blir ikke lagret.
37) Fartskontroll
Utrykningspolitiet i Vest-Agder skal intensivere sine fartskontroller på alle veier for å knipe flere fartssyndere og øke trafikksikkerheten. Det er behov for et IKT-basert system hvor fartskontrollen blir registrert direkte fra kontrollposten via pc med trådløs nettverksforbindelse. Ved oppkobling mot et sentralt bilregister kan man samtidig få all informasjon om bilene som kontrolleres.
Det er bare fartskontroller med fartsoverskridelse som skal registreres i systemet. For hver fartskontroll er det en rekke data som skal registreres: Bilens registreringsnummer, hastighet, dato og klokkeslett. Det er også nødvendig å ha med informasjon om hvilken konstabel som har foretatt fartskontrollen, hans navn og ansettelsessted, kontrollpostens lokalisering (hvor den er) og start og slutt-tidspunkt for kontrollposten. I denne sammenheng bryr vi oss ikke om hvem som eier den kontrollerte bilen, men hvis bilen må stoppes pga fartsoverskridelse skal førerens navn, og førerkortnr registreres. I disse tilfellene skal det også tas en promillekontroll og promillen skal registreres. Ved mindre fartsoverskridelser skal føreren tilbys et forenklet forelegg (dvs en bot). Hvis han vedtar denne på stedet, skal boten registreres, hvis ikke skal det registreres at det leveres inn en anmeldelse. Ved større fartsoverskridelser skal det registreres at førerkortet umiddelbart inndras, og at det leveres inn en anmeldelse.
trell.org | Flere oppgaver i datamodellering | Toppen av siden
kontakt: