Gerhard Skagestein: Systemutvikling fra kjernen og ut, fra skallet og inn.

Like dokumenter
INF1050 Klasseromsoppgave Uke 7

Datamodellering med ORM

Datamodellering med UML (forts.)

Gerhard Skagestein: Systemutvikling fra kjernen og ut, fra skallet og inn.

Datamodellering med UML

Modellenes to formål. Datamodellering med UML (forts.) Fra naturlig språk til datamodell. Figur 5-2. Ogdens trekant

Datamodellering med UML. Modellenes to formål. The Unified Modeling Language - UML

INF1050 Klasseromsoppgave Uke 6

The Unified Modeling Language - UML

Modellenes to formål. Datamodellering med UML (forts.) Ugrupperte og grupperte modeller. Figur 5-2. Ogdens trekant

Datamodellering med UML. Modellenes to formål. The Unified Modeling Language - UML

Modellenes to formål. Datamodellering med UML (forts.) Ugrupperte og grupperte modeller. Figur 5-2. Ogdens trekant

Den redundansfri datamodellen

Dagens tema. Den redundansfri datamodellen. Modellenes to formål. Individer i interesseområdet

Dagens tema. Den redundansfri datamodellen. Modellenes to formål. Den grunnleggende konstruksjonen det elementære utsagnet

UNIVERSITETET I OSLO

Oppgaver Oppgave a: Sett opp mulige relasjoner

Databaser: Relasjonsmodellen, del I

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Representasjon n-1-regelen

Oppgave 3 - normalisering

*UXSSHULQJ IRU JUDXWVNDOOHU (QYLVXHOOJXLGHJMHQQRPQRHQ DY1,$0JUXSSHULQJHQV XQGHUIXQGLJKHWHU

Skranker og avledninger

INF1300 Introduksjon til databaser

Realiseringsalgoritmen fra ORM til relasjoner Intro til mengdeskranker i ORM

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

Informasjonsbærende representasjoner

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

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

Kunnskapsorganisasjon og gjenfinning 1. Relasjonsmodellen og -databaser

Kunnskapsorganisasjon og gjenfinning 1

Datamodellering 101 En tenkt høgskoledatabase

Etternavn Fornavn Født Død Annet Felt

1. Datamodellering Kommentarer til læreboka

UNIVERSITETET I OSLO

Dagsorden. Hovedtemaene i INF102. Fra kjernen og ut. Produksjon av informasjonssystemer. Produksjon av informasjonssystemer

INF130: Datahåndtering og analyse

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Representasjon n-1-regelen Verdiskranker Mengdeskranker

IN2090 Databaser og datamodellering ORM 1

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

Dagens tema: Relasjonsmodellen (funksjonelle avhengigheter og nøkler, integritetsregler) Realisering: Fra ORM til relasjoner

Det gjenstår nå kun å definere hva som skal være primærnøkkel i rolle rabellen.

INF1300 Introduksjon til databaser

Last ned Fordeler og ulemper ved å være John Arne Riise - Last ned

Last ned Kulturarven i skolen - Else Marie Halvorsen. Last ned

Fra uryddig verden til strukturert stoppestedsdatabase

Representasjoner. Modell uten representasjoner. Modell med representasjoner. Forekomster i interesseområdet og i informasjonssystemet

Forslag til valgliste for (Skriv inn partinavn som registrert i Partiregisteret) ved fylkestingsvalget 12. september 2011 i Sør-Trøndelag fylke

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

Last ned Ubehaget ved det moderne - Britt Andersen. Last ned

Datamodellering med E/R

INF1300 Introduksjon til databaser

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

Kartleggingsskjema. Etternavn: Fornavn: Mellomnavn: Oppholdsgrunnlag: (flyktning, overføringsflyktning, humanitært grunnlag, familiegjenforening)

SQL Oppgave 3. SQL oppgave 3. Løsningsforslag

Last ned Logistikk - Eirill Bø. Last ned. Last ned e-bok ny norsk Logistikk Gratis boken Pdf, ibook, Kindle, Txt, Doc, Mobi

Last ned Spire - Gro Wollebæk. Last ned. Last ned e-bok ny norsk Spire Gratis boken Pdf, ibook, Kindle, Txt, Doc, Mobi

Intermesso. Visjonen... samling av trådene. Veivalget. Et bedre bilde av visjonen?

IN2090 Introduksjon til databaser

Søknad om midler fra NIF Flyktningefond høsten 2017

DEL 1 Uten hjelpemidler

Dagens tema: Underbegreper og underbegrepsskranker Kombinerte totale roller Behandling av tid Informasjonsbærende representasjoner Ringskranker

Last ned Kalkulus - Arne Hole. Last ned. Last ned e-bok ny norsk Kalkulus Gratis boken Pdf, ibook, Kindle, Txt, Doc, Mobi

Last ned Kalkulus - Arne Hole. Last ned. Last ned e-bok ny norsk Kalkulus Gratis boken Pdf, ibook, Kindle, Txt, Doc, Mobi

Eksamen i IBE Databaser H 2008

Last ned Mannen fra Atlantis - Agnar Mykle. Last ned. Last ned e-bok ny norsk Mannen fra Atlantis Gratis boken Pdf, ibook, Kindle, Txt, Doc, Mobi

INF1300 Introduksjon til databaser

Dagens tema: Ringskranker Informasjonsbærende representasjoner Behandling av tid Tommelfingerregler

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

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker

1. Normalisering Kommentarer til læreboka

Hva vi i alle fall bør huske fra INF1050

SCREENINGTEST TIL BEGYNNERTRINNET (1.-2. KLASSE)

Språk for dataorientert modellering

Henvisning til PP-tjenesten Grunnskole

Last ned Hva er penger - Roman Eliassen. Last ned

Miniverden og ER- modell

INF Introduksjon til databaser ORM I

Last ned Kulturarven i skolen - Else Marie Halvorsen. Last ned

Last ned Innføring i makroøkonomi - Leiv Opstad. Last ned

INF1300 Introduksjon til databaser

1. Innføring i bruk av MySQL Query Browser

Last ned Bo i Norge - Gerd Manne. Last ned. Last ned e-bok ny norsk Bo i Norge Gratis boken Pdf, ibook, Kindle, Txt, Doc, Mobi

t Institutt for informatikk Erik Arisholm 13. mai 2009 INF1050-oppsummering-1

Brøker med samme verdi

Last ned Trivelige Trøndelag = Friendly Trøndelag = Freundliches Trøndelag = Promenade dans le Trøndelag - Last ned

INF1300 Introduksjon til databaser

Eksamen våren 2015 Løsninger

Utvikling fra kjernen og ut

Last ned Overspill - Pål Gerhard Olsen. Last ned


Når en bruker skriver sitt navn ("Ole") i et form-element med name="fornavn" som attributt. klikker på submit-knappen

Søknadsportalen for Aktivitetsskolen i Oslo

Last ned Hva kan jeg fortelle deg om angst? - Lucy Willetts. Last ned

Søknad om midler fra NIF Flyktningefond høsten 2016

Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006

Løsningsforslag for 2P våren 2015

[Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hio.no) 07/ Vi holder orden på verdier med hjelp av variabler

1. SQL datadefinisjon og manipulering

Utvikling fra kjernen og ut

Transkript:

Gerhard Skagestein: Systemutvikling fra kjernen og ut, fra skallet og inn. Oppgaver til kapittel 5 - Datamodellering med UML Oppgave 2. Begreper og representasjoner a. I en modell finner du begrepene Mann og Kvinne, begge med representasjonen fødselsnummer. Ville du generalisere disse to begrepene til Person? Ja, hvis alle eksisterende og fremtidige assosiasjoner er kjønnsnøytrale, dvs. at de er knyttet både til Mann og Kvinne. (Dette er lite trolig, den mest vanlige modellen er generaliserings/spesialiseringshierarkiet som er vist i figur 5-11 i læreboka.) b. I en modell finner du begrepene Lengde og Høyde, begge representert med et antall cm. Ville du generalisere disse begrepene til et felles begrep? Ja, og særlig hvis det kan bli aktuelt å sammenlikne lengder og høyder, eller å addere eller subtrahere dem. Mål, vekt og beløp bør som regel opptre som generelle begreper i de fleste modeller. c. Finn mulige begreper og representasjoner for hver av de følgende representasjonsforekomster. Merk at hvilke begreper du "ser", er avhengig av din referanseramme. Det er godt mulig at noen av representasjonene ikke vil si deg noe som helst. Merk også at en eneste representasjonsforekomst er et magert grunnlag å gå ut fra - en eller to forekomster til vil bidra vesentlig til et sikrere valg av tilhørende begrep. Norge Land (landnavn) Troms Fylke (fylkenavn) Oslo By, Kommune, Fylke,( --navn) Vålerenga Bydel, Idrettslag, Fotballag,,( -navn) Dronningens gate 67 Adresse, Eiendom, Bygning, (adresse) Høyskoleforlaget Forlag, Firma (orgnr) Universitetet i Oslo Universitet, Undervisningsinstitusjon Lærested (-navn) N-4661 Poststed (i Norge) ( postnr) post@hoyskoleforlaget.no e-post-adresse, e-post-adresse (-tekst) http://www.hoyskoleforlaget.no Nettsideadresse, UR ( url) (+47) 38 10 50 00 Telefonlinje (telefonnr med retningsnummer) # $ Beløp (#dollar) 7855 05 03017 Bankkonto (bankkontonr) DE 85975 Bil (kjennetegn for bil) Ibsen Etternavn, Forfatter, Skuespiller, Parkeringshus (-navn) Sult Bok, Roman, Følelse (-navn, ) 21 º C Temperatur (#º C) E6 Hovedvei, Europavei (veinummer) d. Foreslå representasjonstyper for hver av de følgende begreper: Person fødselsnummer Ansatt ansattnummer Firma organisasjonsnummer, firmanavn Bil kjennetegn, rammenummer Systemutvikling kjernen/skallet: Løsningsforslag kapittel 5. Side 1

Bok ISBN, forfatternavn+titteltekst+utgivelsesårstall Innsjø/vann navn (entydig?), nummer Kjemisk grunnstoff kjemisk kode Vindstyrke # m/sekund, vindstyrkebetegnelse {bris,} Elektrisk spenning # V e. Hvilke av begrepene i forrige oppgave vil gi opphav til klasser som trolig vil kunne bli undertrykket i en gruppert modell? Mål, antall, vekt, dvs Vindstyrke og Elektrisk spenning Oppgave 3. Enkle datamodeller Nedenfor finnes eksempler på opplysninger som skal kunne gis av et informasjonssystem. Lag en datamodell for hvert av punktene, med begreper, representasjoner, assosiasjoner, roller og multiplisiteter. Merk at tilstedeværelsen av ordet "og" som regel innebærer at setningen kan deles opp i flere assosiasjoner. Slik oppdeling kan imidlertid være mulig også i andre tilfeller. a. Trondheim ligger i Sør-Trøndelag Dette er "rett fram etter nesa"-løsningen. Men det er selvfølgelig grunn til å lure på om det er kommuner man er ute etter, eller byer og tettsteder. b. Gro går i klasse 1b Vi forutsetter her at fornavn entydig identifiserer person noe som er ganske tvilsomt. Så i neste runde bør vi nok ta med etternavnet også, eller gå over til fødselsnummer. Alternativer til Person er Elev, Student, Jente, Er klassebetegnelsen informasjonsbærende finnes det et begrep Klassetrinn? c. NN er ordfører i Oslo Diskusjonen her går først og fremst på multiplisitetene. Kan en person være ordfører i flere kommuner? Skal minimumsmultiplisiteten være 0 på personsiden, eller må en kommune til enhver tid ha en ordfører? d. Jens spiller på Vålerenga Systemutvikling kjernen/skallet: Løsningsforslag kapittel 5. Side 2

At Jens er en person, er rimelig opplagt, men med samme diskusjon som før om fornavnets fortreffelighet som entydig representasjon. Men hva er Vålerenga? En bydel, et idrettsklubb, et fotballag eller en ishockeyklubb? Hva slags spilling dreier det seg om? Blåser han trompet i Strømsveien? Kan en person spille på flere hva det nå måtte være? En enkelt setning gir rom for mange fortolkninger! e. Mons liker saft og melk Person/Baby/Katt(navn) liker drikke (drikkebetegnelse) * - * f. Else leser en roman Person(fornavn) leser Litteraturtype(typebetegnelse) * - 1 (øyeblikksbilde?) g. Else leser "Sult" Person(fornavn) leser Bok(boktittel) * - 1 (øyeblikksbilde?) h. Else leser Hamsuns roman "Sult" Person(fornavn) leser Bok(boktittel) * - 1 (øyeblikksbilde?) Person(etternavn) forfatter Bok(boktittel) * - * Kommentar: Begrepet Bok går åpenbart igjen i begge utsagn. Men bør Person generaliseres til et felles begrep? i. DE 85975 er en rød Toyota Bil(kjennetegn) er Bilmerke(bilmerkenavn) * - 1 Bil(kjennetegn) har Farge(fargenavn) * - 1 Oppgave 4. Enkle relasjonsdatabaser Foreslå relasjonsdatabasestrukturer for hvert av punktene a) til i) i forrige oppgave. Strukturene følger direkte av modellene. Her et eksempel: Foreslå relasjonsdatabasestrukturer for hvert av punktene a) til i) i forrige oppgave. Strukturene følger nokså direkte av modellene: a. Fylke: fylkenavn Kommune: kommunenavn, fylkenavn Referanseintegritet fra Kommune.fylkenavn til Fylke.fylkenavn b. Klasse: klassebetegnelse Person: fornavn, klassebetegnelse Referanseintegritet fra Person.klassebetegnelse til Klasse.klassebetegnelse c. Person: fornavn Kommune: kommunenavn, ordfører Referanseintegritet fra Kommune.ordfører til Person.fornavn Kommentar: Vi kunne like godt ha gruppert kommunenavn inn i Person, men mister da ordfører-rollenavnet. d. Idrettslag: idrettslagnavn Person: fornavn, idrettslagnavn Systemutvikling kjernen/skallet: Løsningsforslag kapittel 5. Side 3

Referanseintegritet fra Person.idrettslagnavn til Idrettslag.idrettslagnavn e. Katt: navn Drikke: drikkebetegnelse Katt_Drikke: navn, drikkebetegnelse Referanseintegritet fra Katt_Drikke. navn til Katt.navn Referanseintegritet fra Katt_Drikke. drikkebetegnelse til Drikke.drikkebetegnelse Kommentar: Mange-til-mange-assosiasjon den må løses opp ved å sette inn en ekstra tabell for knytningen (jfr. Assosiasjonsklasser og erstatning av disse med vanlige klasser). f. Litteraturtype: typebetegnelse Person: fornavn, typebetegnelse Referanseintegritet fra Person.typebetegnelse til Litteraturtype.typebetegnelse g. Bok: boktittel Person: fornavn, boktittel Referanseintegritet fra Person.boktittel til Bok.boktittel h. Bok: boktittel Person1:fornavn, boktittel Person2:etternavn Forfatterskap: etternavn, boktittel Referanseintegritet fra Person1.boktittel til Bok.boktittel Referanseintegritet fra Forfatterskap.boktittel til Bok.boktittel Referanseintegritet fra Forfatterskap.etternavn til Person2.etternavn i. Bil: kjennetegn, bilmerkenavn, fargenavn Bilmerke:bilmerkenavn Farge:fargenavn Referanseintegritet fra Bil.bilmerkenavn til Bilmerke.bilmerkenavn Referanseintegritet fra Bil.fargenavn til Farge.fargenavn Oppgave 5. Fra relasjonsdatabase til modell Gitt følgende to tabeller: FODSELSNR FORNAVN ETTERNAVN BOSTED 12016789567 Gro Arne 2072 13076685394 Arne Arne 2072 24087523456 Dag Dal 5200 22028036723 Gro Li POSTNR 2072 Dal 5200 Os POSTSTED Under forutsetning av at vi skal kunne stille mer eller mindre meningsfylte spørsmål som "Hvem har samme fornavn som etternavn", "Hvem har samme etternavn", Systemutvikling kjernen/skallet: Løsningsforslag kapittel 5. Side 4

"Hvem har samme etternavn som poststedet han bor på", hvordan ser da den ugrupperte datamodellen ut? Vi må først gjøre et par åpenbare antagelser om hva som er primærnøkler: FODSELSNR og POSTNR. Så lager vi binære assosiasjoner mellom begrepene Person(fodselsnr) og Poststed(postnr) og hvert av de begrepene vi kan slutte oss til ut fra de øvrige attributtene. For å kunne svare på spørsmålene må Fornavn, Etternavn og Poststed(snavn) generaliseres til Navn fornavn, etternavn og poststedsnavn blr da roller overfor Navn. Oppdatert 1. september 2006 GS Systemutvikling kjernen/skallet: Løsningsforslag kapittel 5. Side 5