64
9. mars 2005 INF2120 Prosjekt i modellering 1 INF 2120 INF2120 Dataorientert modellering Ragnar Normann

Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 1

INF

2120

INF2120

Dataorientert modellering

Ragnar Normann

Page 2: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 2

INF

2120

Dataorientering og UML

• UML har som utgangspunkt et objektorientert syn på tilværelsenhvor oppførsel og samspill mellom objekter er det sentrale

• I UML beskrives datastrukturen i klassediagrammer som gir enoversikt over klassene i systemet og de statiske relasjonene mellomdem

• Metoder for å analysere statisk datastruktur eksisterte lenge før UMLble til

• Den mest utbredte av disse dataorienterte metodene er ER (Entity-Relationship) som ble introdusert av Chen i 1976

• ER finnes i et utall dialekter, og bortsett fra at de inneholder navnetpå metoder i klassene, er UML klassediagrammer ikke noe annet ennnok en ER-dialekt

• I dag skal vi konsentrere oss om ORM (Object-Role Modelling) somer en annen dataorientert analysemetode

Page 3: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 3

INF

2120

ORM og 100%-prinsippet

• ORM er en metode for å beskrive informasjonsstruktur

• ORM baserer seg på 100%-prinsippet:

Det er alltid mulig å gi en endelig og fullstendig tekstlig beskrivelse avUoD, dvs. den delen av virkeligheten som interesserer oss(UoD = Universe of Discourse)

• En slik beskrivelse kalles en informasjonsmodell

• Informasjonsmodellen kan brukes som forskrift for et datasystem ogkalles da datasystemets begrepsmessige skjema

• Siden utgangspunkt og mål er tekstlige beskrivelser, er ORM fagligforankret i (formell) lingvistikk

• Resultatet av en ORM-analyse er en grafisk fremstilling av en tekstligbeskrivelse av informasjonsstrukturen

Page 4: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 4

INF

2120

NIAM – en ORM-dialekt

• NIAM er den eldste ORM-dialekten

• NIAM ble utviklet i Nederland 1964–1977 av en gruppeledet av G.M.Nijssen

• Nijssen hevder at NIAM er et akronym for«Natural language Information Analysis Methodology»

• Alle andre sier at NIAM står for«Nijssen's Information Analysis Methodology»

• Jeg skal bruke en revidert versjon (standard) fra 1982

Merk: I INF2120 skal dere bruke UML og ikke NIAM!

Page 5: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 5

INF

2120

Elementære setninger

• En setning kalles elementær hvis den ikke kan deles opp

uten å miste meningsinnhold

• Eksempel: Setningen «Mons spiser grøt og drikker melk»

kan deles opp i to elementære setninger

– «Mons spiser grøt»

– «Mons drikker melk»

Page 6: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 6

INF

2120

Entiteter

• En entitet er en gjenstand, egenskap eller hendelse iinteresseområdet vårt

• Eksempler:

– Sigrid Undset

– Bilen min

– Studielånet ditt

– INF2120

– Dagen i dag

– Rød

• Entiteter beskrives vanligvis med substantiver, men pronomener ogadjektiver forekommer også

Page 7: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 7

INF

2120

Begreper

• Det første, og vanskeligste, trinnet imodelleringsprosessen er å putte entitetene iinteresseområdet inn i båser eller grupper

• En slik gruppe entiteter kalles en entitetstype

• Navnet på en entitetstype kalles et begrep

• Eksempler på begreper– Person

– Ansatt

– Lån

– Farge

Page 8: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 8

INF

2120

Eksempel på et «vanskelig» begrep

• Hvilke entiteter i interesseområdet omfattes av begrepet«bok»?

• Har du lest Peer Gynt?

• Når ble boken med ISBN 82-00-22476-6 utgitt?

• Hvem har lånt eksemplar 5 av denne boken?

• Merk:Begrepers innhold er avhengig av hva som er vårtinteresseområde

Page 9: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 9

INF

2120

Representasjonstyper

• Vanligvis kan ikke entiteter lagres i databasen

• De data vi lagrer, er representasjoner av entitetene, ogdisse representasjonene må tilhøre en representa-sjonstype for det begrepet som entiteten tilhører

• Et begrep kan tilordnes flere representasjonstyper

• Eksempler:

– Personer kan representeres med navn og/eller fødselsnummer

– Biler kan representeres med bilnummer eller chassisnummer

Page 10: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 10

INF

2120

Ogdens trekantOgdens trekant

Page 11: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 11

INF

2120

Roller

• Når vi beskriver sammenhenger mellom begreper, siervi at begrepene spiller roller overfor hverandre

Eksempel:

Anta at vi har de to begrepene «person» og «bil», og atpersoner kan eie biler

• Da sier vi at person spiller rollen «eier» overfor bil, og atbil spiller rollen «er eid av» overfor person

• Roller uttrykkes vanligvis med verb og/ellerpreposisjoner

Page 12: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 12

INF

2120

Symboler i NIAM

• Begreper tegnes somheltrukne sirkler

• Representasjonstypertegnes som stipledesirkler

Person

Fødsels-nr

Page 13: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 13

INF

2120

En slik sammenheng mellom to begreper hvor begrepene spiller hver sin rolle overfor hverandre, kalles en (binær) faktatype

Slike «kjøttben» er de viktigste byggeklossene i NIAM (ORM)

Faktatyper

• Det at personer eier biler, og at biler eies av personer,tegner vi slik:

Person Bileier er eid av

Page 14: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 14

INF

2120

Faktatyper i UML

• Det at kommuner ligger i fylker, tegner vi slik i hhv NIAMog UML:

Fylke Kommuneomfatter ligger i

KommuneFylke1..*1..1

ligger iomfatter

Page 15: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 15

INF

2120

Broer

• Sammenhengen mellom et begrep og detsreferansetype kaller vi en bro, og vi tegner den slik:

• Rollene i broer er ofte preposisjoner• Under modelleringen kan det være lurt å vente med å

tegne broer• Ser vi bort fra identifikatorer, har ikke UML klasse-

diagrammer noen konstruksjon som tilsvarer broer

Person Person-nrmed på

Page 16: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 16

INF

2120

Faktasetningers dype struktur

• Person med fødselsnummer12094430256 eier bil medregistreringsnummer CC76543

• Bil med registreringsnummerCC76543 eies av person medfødselsnummer 12094430256

• De to setningene har sammemeningsinnhold, dvs. sammedype struktur

Bil

Fødsels-nr

Reg.-nr

Person eier eies av

med

med

Page 17: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 17

INF

2120

Syntaksregler i NIAMDel 1: Begreper og roller

• Et begrep tegnes som en heltrukket sirkel eller ellipsemed et navn inni

• Samme begrep kan forekomme vilkårlig mange ganger iden ferdige NIAM-modellenDette er et tegneteknisk hjelpemiddel, og to sirkler(ellipser) med samme navn betegner samme begrep

• En rolle er et rektangel med en tekst i

• En rolle skal knyttes til nøyaktig ett begrep (eller enrepresentasjonstype)Tilknyttingen tegnes som en heltrukken linje/kurvemellom randen på rollen og randen på begrepet

Page 18: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 18

INF

2120

Syntaksregler i NIAMDel 2: Faktatyper

• En faktatype tegnes som en eller flere roller stilt vedsiden av hverandre

• Et begrep skal ha minst en rolle som inngår i enfaktatype (vi sier at begrepet deltar i faktatypen)

• Et begrep kan ha vilkårlig mange roller og altså delta ivilkårlig mange faktatyper (og broer)

• Et begrep kan ha flere roller i samme faktatypeDisse rollene må da ha forskjellig tekst

Page 19: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 19

INF

2120

Syntaksregler i NIAMDel 3: Broer og representasjonstyper

• En representasjonstype tegnes som en stiplet sirkelmed et navn i

• Alle representasjonstyper har nøyaktig én rolle(en rolle som altså ligger i den (eneste) broensom fører til representasjonstypen)

• Broer har alltid eksakt to roller, hhv. knyttet til etbegrep og en representasjonstype

• Broer har alltid (minst) en kort entydighetsskranke

Page 20: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 20

INF

2120

Fakta (setningsforekomster) ogsemantikkregelen for faktatyper

• Alle faktatyper beskriver den dype strukturen i engruppe med setningsforekomster

Semantikkregelen:

• Alle faktatyper i NIAM-modellen skal være slik at allesetningsforekomster som passer i den, skal væreelementære setninger

Konsekvens:

Ingen faktatype skal kunne erstattes av faktatypersom alle er kortere enn den opprinnelige faktatypen

Page 21: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 21

INF

2120

Entydighetsskranker

Person Bil

EvaNilsElseEvaPerHansLiv

JC 24356BC 77754DJ 10765KE 75643AA 24680BC 77754DE 85975

Eier Eies av

Det som står under entydighetspilen, kan ikke gjentas

Page 22: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 22

INF

2120

Hvor skal pilen(e) stå?Skriv forekomster!

Eksempel: Ekteskap

Kvinne Manner gift med er gift med

Page 23: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 23

INF

2120

Monogami

Én til én-relasjon

Kvinne Manner gift med er gift med

Page 24: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 24

INF

2120

Polygyni

Mange til én-relasjon

Kvinne Manner gift med er gift med

Page 25: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 25

INF

2120

Polyandri

Én til mange-relasjon

Kvinne Manner gift med er gift med

Page 26: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 26

INF

2120

Polygami

Mange til mange-relasjon

Kvinne Manner gift med er gift med

Page 27: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 27

INF

2120

• En person kan ha ettnavn, men ikke flere

• En person kan ha éneller flere telefoner,og en telefon kanvære for én eller flerepersoner

• En person kan ha éneller flere biler, menhver bil kan bare haén eier

Navn

Tlf.

Bil

påhar

formed

forhar

Person

Entydighet – et enkelt eksempel

Page 28: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 28

INF

2120

NavnpåmedPerson

Kode-navn

påmedPerson

Ans.-Nr.

påmedPerson

Entydighetsskranker i broer

Ikke entydig bro (homonym)(forekommer ofte)

Entydig bro (synonym)(forekommer svært sjelden)

Én-entydig bro(forekommer ofte)

Page 29: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 29

INF

2120

Påkrevd (=total) rolle

• Alle personer skal ha et navn

Navn

Tlf.

Bil

påhar

formed

forhar

Person

Alle forekomster av begreps-typen finnes i denne rollen

Page 30: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 30

INF

2120

Perfekt bro (kan brukessom referansemåte dvs. identifikator)

Perfekte broer

• Alle personer har eksakt ett fødsels-nummer

• Forskjellige personer har ulike fødsels-numre

• En kortform for den perfekte broen ovenfor er slik:

F.nr.formedPerson

Person(F.nr.)

Page 31: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 31

INF

2120

Faktatypers aritet (lengde)

er giftPerson

ansatt iPersonmed

ansatt Firma

bleansatt i

Person

eransettelsesdato

Dag

medansatt

Firma

Unær faktatype (aritet=1)

Binær faktatype (aritet=2)

Ternær faktatype (aritet=3)

Page 32: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 32

INF

2120

Entydighet i lange faktatyper

Temperaturen kan målesflere steder samtidig

Den kan også måles flereganger på samme sted

På samme tidspunkt kanflere steder ha sammetemperatur

Samme sted kan ha sammetemperatur på flere tidspunkt

På samme tid og sted kandet bare være en temperatur

ble målt

Tid

ble målt

Sted

bleresultat

Temp.

Page 33: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 33

INF

2120

Regler for entydighetsskranker

• Alle faktatyper og broer skal ha minst énentydighetsskranke

• Korte entydighetsskranker er strengere ennlange, så ingen entydighetsskranke får lov tiltotalt å dekke en annen

• Broer skal ikke ha lang entydighetsskranke

• Lange faktatyper kan godt ha overlappendeentydighetsskranker

Page 34: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 34

INF

2120

• En kvinne kan ikke gifteseg flere ganger påsamme dag

• En mann kan ikke gifteseg flere ganger påsamme dag

• En kvinne og en mannkan gifte seg medhverandre flere ganger

• Dette kan ikke uttrykkes iUML uten å bruke OCL

Overlappende entydighetsskranker

Ble gift

Kvinne

For giftermål

Dag

Ble gift

Mann

Page 35: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 35

INF

2120

N-1–regelen forentydighetsskranker

• Gitt en setningstype med aritet N– Hvis setningstypen er elementær, har den

ingen entydighetsskranke som er kortere enn atden dekker N-1 roller

– Nesten alltid: Hvis setningstypen ikke har noenentydighetsskranke som dekker mindre ennN-1 roller, så er den elementær

Page 36: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 36

INF

2120

• På samme tid og sted kandet bare være éntemperatur

• En meteorolog kan ikkegjøre to temperaturmålingerpå samme tidspunkt

• En meteorolog kan barevære ett sted på et gitttidspunkt

• På samme tid og sted kandet bare være enmeteorolog (?)

Et eksempel til ettertanke

NB: Denne faktatypen er ikke elementær. Problem: Hvordan skal den splittes?

Målte

Meteo-rolog

Ble målt

Tid

Ble målt

Sted

Ble resultat

Temp.

Page 37: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 37

INF

2120

Begrepsdannelse

Tid StedBle målt Ble målt

Måling

Tid StedMålingBlemålt

på påBlemålt

Hvilke skranker trengs for å gjøre dennekonstruksjonen syntaktisk korrekt?

Page 38: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 38

INF

2120

Kombinert entydighet

Tid StedMålingBlemålt

på påBlemålt

Måling er definert som kombinasjonen av tid og sted

Page 39: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 39

INF

2120Tid StedMåling

Blemålt

på påBlemålt

Meteoro-log

Temp.MålteBle målt

avMed

resultatBle

resultat

Målte

Meteo-rolog

Ble målt

Tid

Ble målt

Sted

Ble resultat

Temp.

To måter å tegne«måling» på

Page 40: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 40

INF

2120

Terminologi – midlertidig oppsummering

Begrepstype Representasjonstype

Faktatype

Bro/referansetype

Alltid Entydighet

Kombinert entydighet

Page 41: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 41

INF

2120

Populasjoner for roller og begreper

• Roller er de eneste informasjonsbærerne i NIAM,dvs. at bare roller kan ha forekomster

• Mengden av forekomster i en rolle r kallespopulasjonen til r og betegnes med pop(r)

• Begreper har egentlig ikke forekomster

• Det er likevel praktisk å snakke om populasjonen tilbegreper

• Vi definerer populasjonen til et begrep A sompop(A) = U pop(r)der unionen tas over alle roller som spilles avbegrepet A

Page 42: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 42

INF

2120

Påkrevde roller

• Vi definerer en rolle r for begrepet A som påkrevd(mandatory) hvis det for alle tilstander av databasenskal gjelde at pop(A) = pop(r)

A rV

I NIAM:Påkrevde rollerkalles også fortotale roller

Page 43: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 43

INF

2120

Kombinert påkrevd rolle

• pop(Bil) = pop(er privatbil for) U pop(er firmabil for)

Bil(kj.tegn)

er privatbil forPerson(F.nr.)

eier

er firmabil for

Firma(foretaks-

nr.)eier

T

En bil må være enten firmabil eller privateid (eller begge deler)

Page 44: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 44

INF

2120

Mengdeskranker

• Mengdeskrankene (set-comparison constraints)begrenser mengden av forekomster i en ellerflere roller i forhold til forekomstene i andre roller

• Mengdeskranker finnes i følgende varianter:– Likhetsskranke (Equality constraint)

– Ulikhetsskranke (Exclusion constraint)

– Delmengdeskranke (Subset constraint)

Page 45: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 45

INF

2120

Mengdelikhetsskranken

• pop(r1) = pop(r2) for alle tilstander

Person(F.nr.) =

r1

r2

Page 46: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 46

INF

2120

Mengdelikhetsskranken, eksempel

Ansatt(ans.nr.)

Avdeling(avd.navn)

ans.avd. Vutbet.lønn

lønnstrekk

Penger(NOK) =

Likhetsskranken krever at oppdateringerskjer i sammensatte transaksjoner

Page 47: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 47

INF

2120

Mengdeulikhetsskranken

Person

r1

r2

Mengdeulikhetsskranken kan kombineres med en kombinert påkrevd rolle for å definere en partisjon:

Person

r1

r2

T

pop(r1) pop(r2)=

Page 48: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 48

INF

2120

Mengdeulikhetsskranken, eksempel

Ansatt(ans.nr.)

Avdeling(avd.navn)

ans.avd. Vmnd.lønn

timelønn

Penger(NOK)

Page 49: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 49

INF

2120

Mengdeulikhetsskranke over en eller flere roller

Person

sager

sitter

Gren Person

sager

sitter

Gren

Person

sager

sitter

Gren Sag ikke av dengrenen du sitterpå!

Page 50: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 50

INF

2120

Den generelle mengdeulikhetsskranken

A(a)

r1

r2

B1(b1)

B2(b2)

rnBn(bn)

Hvorfor har vi ikkenoe tilsvarende formengdelikhet?

1 k n 1 m n k m pop(rk) pop(rm)=

Page 51: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 51

INF

2120

Delmengdeskranken

Person r1

r2

• Den kalles også “først – siden”

• Pilen peker mot “først”-rollen (r1)

pop(r1) pop(r2)

Page 52: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 52

INF

2120

Delmengdeskranken, eksempel

Ansatt(ans.nr.)

Avdeling(avd.navn)

ans.avd. Vmottar mnd.lønn

har bonus

Penger(NOK)

Page 53: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 53

INF

2120

Delmengdeskranke over en eller flere roller

Person

skytter død bjørn

skinnselgerbjørneskinn

Bjørn

Selg ikke skinnetfør bjørnen er skutt!

Person

skytter død bjørn

skinnselgerbjørneskinn

Bjørn

Person

skytter død bjørn

skinnselgerbjørneskinn

Bjørn

Page 54: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 54

INF

2120

Underbegreper (Subtypes)

• Noen biler er lastebiler

Bil(Reg.nr.)

Vekt(kg)

Lastebil

for V

plan lasteplanV

veier reg_år registrertV År(årstall)

maxlast VfrakterAreal(m2)

Page 55: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 55

INF

2120

Delmengdeskranke eller underbegrep?

Ansatt(ans.nr.)

lønn

selger bonus

Beløp(NOK)

Ansatt(ans.nr.)

lønn

bonus

Beløp(NOK)

Selger V

Er det å væreselger enpermanenttilstand?

Page 56: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 56

INF

2120

Kinoeksemplet - del 1

Fore-stilling

Tids-punkt

Kino

for på

med på V

V

Filmviser vises påV

Forestilling Kino Tidspunkt Film

Page 57: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 57

INF

2120

Kinoeksemplet - del 2

Benk

Kino

Radnr

med på

for med V

V

Kino-sete

Stolnr

med på

for med V

V

Kinosete Kino Radnr Stolnr

Page 58: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 58

INF

2120

Kinoeksemplet - del 3

Billett

Fore-stilling

Kino-sete

med på

med til V

V

Beløpkoster påV

Billett Forestilling Kinosete Beløp

Page 59: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 59

INF

2120

Ekvivalente stier (kinoeksemplet)

Fore-stilling

Kino-sete

for V

Film

Tids-punkt

Radnr.

Stolnr.

Beløp

for Vpå

med Vpå

for Vmed

Kino

Benk

visespå Vviser

med Vpå

for Vmed

med Vtil

med

V

til

Billett

på Vkoster

Page 60: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 60

INF

2120

Sammenligning av det dataorienterte ogdet objektorienterte perspektivet

• I det dataorienterte perspektivet interesserer vioss for faktaopplysninger av statisk natur ominteresseområdet, samt skranker som forhindrerregistrering av åpenbart uriktige fakta

• I det objektorienterte perspektivet interesserer vioss for virkelige og tenkte objekter i interesse-området, og hvordan disse objektene gjennomsamarbeide kan gi en hensiktsmessig modell

Men har ikke disse to perspektivene svært lite felles?

Page 61: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 61

INF

2120

Dataorientering vs. objektorientering I

• Både datasentrerte og objektorienterteinformasjonssystemer inneholder data

• Forskjellen er at i datasentrerte systemer er alle datasamlet i en sentral ressurs – databasen – mens iobjektorienterte systemer er dataene fordelt påobjektene ut fra det generelle prinsipp at det objektetsom har bruk for data selv tar vare på dem.Dataene gis «evig liv» ved å gjøre objektene«persistente»Dette kan realiseres på flere måter, f.eks. ved hjelpav en OO-database

Page 62: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 62

INF

2120

• NIAM/ORM er i utgangspunktet (nesten) nøytraloverfor hvilket perspektiv som velgesPerspektivet kommer inn når de elementærefaktaene skal grupperes til en relasjonsdatabaseeller inn i objekter

• Mens grupperingsalgoritmen til relasjonsdatabaseer gitt, gir NIAM/ORM få argumenter for valget avhensiktsmessige objekterHer må vi gripe til andre betraktningsmåter

Dataorientering vs. objektorientering II

Page 63: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 63

INF

2120

Andre relevante forskjeller

• I OO har vi ikke bare mengde, men også «bag» og «list»– krav om entydighetsskranke faller bort– forekomstene kan ordnes

• I OO kan strukturer som «set», «bag» og «list», samtgenerelle objekter, brukes som verdier– uendelig mange muligheter for hvordan data

struktureres• I OO er dataene innkapslet i objektene

– dataenes struktur er ukjent for omverdenen– de kan bare fås tak i gjennom spørremeldinger

• I OO har objekter sin egen, innebygde identifikator (OID)– begreper behøver ikke alltid ha en representasjon

Page 64: Dataorientert modellering · 9. mars 2005 INF2120 Prosjekt i modellering 3 INF 2120 ORM og 100%-prinsippet • ORM er en metode for å beskrive informasjonsstruktur • ORM baserer

9. mars 2005 INF2120 Prosjekt i modellering 64

INF

2120

Sterke sider ved ORM/NIAM

• ORM/NIAM har et mye sterkere skrankeapparat enn det UMLsklassediagrammer har

• UML klassediagrammer mangler (ordnet etter viktighet)– kombinert entydighet– delmengdeskranker– likhets- og ulikhetsskranker– kombinert total

• ORM/NIAM er en «bottom-up»-metode som tvinger frem at detaljeneblir riktige, men som ikke nødvendigvis gir bedre oversikt over dentotale datastrukturen enn det et klassediagram gjør

• ORM/NIAM er bedre enn UML til å analysere den statiske data-strukturen og er følgelig et bedre verktøy enn klassediagrammer

• ORM/NIAM er ikke konkurrent til noen andre diagramtyper i UML

Husk: I INF2120 er det UML som skal brukes!