Språk for dataorientert modellering
|
|
- Åshild Løkken
- 7 år siden
- Visninger:
Transkript
1 Språk for dataorientert modellering Hva forvirrer studentene minst, ORM/NIAM eller UML-stereotyper? (Omkamp mellom «Rundinger» og «Firkanter») Ragnar Normann (med god støtte av Gerhard Skagestein) 1
2 Bakgrunn og problemstilling Ellen Munthe-Kaas og jeg har observert at våre bachelor-studenter har alt for dårlige forkunnskaper for å klare DBMS-kurset INF3100 Vi har derfor foreslått å gjenopplive INF114 i en «light» versjon (10 studiepoeng mot 5 vekttall i INF114) Vi foreslår å begrense oss til relasjonsdatabaser og å kaste relasjonsalgebra og normaliseringsteori ut av kurset SQL gir seg selv som databasespråk det må våre studenter lære Vårt hovedproblem er valg av modelleringsspråk Sluttresultatet bør være et UML-klassediagram som er direkte oversettbart til et normalisert relasjonsdatabaseskjema Det er foreslått to veier dit: Bruk av ORM/NIAM som i INF114 Bruk av -UML, en UML-dialekt utviklet for INF1050 for å gi UML (tilnærmet) samme uttrykkskraft som ORM/NIAM 2
3 OCL Object Constraint Language OCL er et språk for å uttrykke skranker som ikke lar seg uttrykke i de «ordinære» UML-diagrammene OCL er beskrevet i en bok av Jos Warmer og Anneke Kleppe: The Object Constraint Language Precise Modelling with UML Der forelår de noen utvidelser av UML klassediagrammer for å gjøre dem tilnærmet like uttrykkskraftige som ORM-diagrammer I sin lærebok for INF1050 har Gerhard Skagestein introdusert noen stereotypede UML-klasser for å gjøre det mulig å å gjøre en ORMaktig analyse med UML-syntaks Hensikten er å sørge for at UML klassediagrammer ikke er dårligere enn tidligere tiders datamodelleringsteknikker 3
4 NIAM en ORM-dialekt ORM Object-Role Modelling NIAM Natural language Information Analysis Methodology NIAM er den eldste ORM-dialekten Her skal vi bruke en revidert versjon av NIAM fra 1982 som vår ORM-dialekt og se hvordan denne kan uttrykkes i UML syntaks NIAM (og alle senere ORM-dialekter) er basert på naturlig språk En NIAM modell er en grafisk fremstilling av vanlige setninger som beskriver vårt interesseområde (UoD Universe of Discourse) 4
5 Entiteter og begreper En entitet er en gjenstand, egenskap eller hendelse i interesseområdet vårt I objektorientert modellering (som UML) modelleres entiteter som objekter én entitet svarer til ett objekt og omvendt Det første, og vanskeligste, trinnet i modelleringsprosessen er å putte entitetene i interesseområdet inn i båser eller grupper En slik gruppe entiteter kalles en entitetstype Navnet på en entitetstype kalles et begrep (På engelsk: concept) 5
6 Representasjonstyper Vanligvis kan ikke entiteter lagres i databasen De data vi lagrer, er representasjoner av entitetene, og disse representasjonene må tilhøre en representasjonstype for det begrepet som entiteten tilhører Et begrep kan tilordnes flere representasjonstyper Eksempler: er kan representeres med navn og/eller fødselsnummer Biler kan representeres med bilnummer eller chassisnummer 6
7 Roller Når vi beskriver sammenhenger mellom begreper, sier vi at begrepene spiller roller overfor hverandre Eksempel: Anta at vi har de to begrepene «person» og «bil», og at personer kan eie biler Da sier vi at person spiller rollen «eier» overfor bil, og at bil spiller rollen «er eid av» overfor person Roller uttrykkes vanligvis med verb og/eller preposisjoner 7
8 Begreper tegnet i NIAM og UML I NIAM tegnes begreper som heltrukne sirkler og representasjoner som stiplede sirkler Fødselsnr UML har i utgangspunktet ikke noe symbol for begreper Dette løser Gerhard med å definere en stereotypi med den egenskap at den ikke kan ha andre attributter enn sin representasjon («id») Fødselsnr {id} 8
9 Broer I NIAM kalles sammenhengen mellom et begrep og dets representasjon en bro (broen går mellom modell og representasjon), og vi tegner den slik: med for Fødselsnr Rollene i broer er redundante, og vi kan alltid bruke «med» og «for» Broen kan leses begge veier: Begrep med representasjon Representasjon for begrep UML har ikke noen konstruksjon som tilsvarer broer I et er broen implisitt definert ved at alle attributtene inngår i identifikatoren Fødselsnr {id} 9
10 Broer på kortform Siden rollene i broer er redundante, tillater NIAM oss å la være å tegne broene Da skriver vi representasjonstypen i parentes etter (under) begrepsnavnet Med denne kortformen blir et begrep i NIAM svært likt et i Gerhards variant av UML, som vi heretter skal kalle -UML (Fødselsnr) tilsvarer Fødselsnr {id} 10
11 Faktatyper Det at personer eier biler, og at biler eies av personer, tegner vi slik: eier er eid av Bil 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) I -UML, ser det slik ut: 1 0..* eier er eid av Bil 11
12 Faktasetningers dype struktur eier eies av Bil med for med fødselsnummer eier bil med registreringsnummer CE76543 Bil med registreringsnummer CE76543 eies av person med fødselsnummer De to setningene har samme meningsinnhold, dvs. samme dype struktur med for Fødselsnr Reg.- nr 12
13 Dyp struktur tegnet med UML--klasser eier eies av Bil med for Slik ser samme setning ut i UML: Fødselsnr{id} 1 0..* eier er eid av Bil Reg.- nr{id} De to tegningene uttrykker akkurat det samme med for Fødselsnr Reg.- nr 13
14 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» De to siste setningene kalles binære fordi de binder sammen to entiteter, hhv. «Mons» med «grøt» og «Mons» med «melk» Binære setninger er alltid elementære Eksempel: Maksimumstemperaturen i Narvik var -1 C Dette er en elementær (ternær) setning som binder sammen et sted, et tidspunkt og en temperatur 14
15 Fakta (setningsforekomster) og semantikkregelen for faktatyper Alle faktatyper beskriver den dype strukturen i en gruppe med setningsforekomster Semantikkregelen for NIAM-modeller: Alle faktatyper i modellen skal være slik at alle setningsforekomster som passer i den, skal være elementære setninger Konsekvens: Ingen faktatype skal kunne erstattes av faktatyper som alle er kortere enn den opprinnelige faktatypen Merk: Siden vi i UML bare kan tegne binære setninger (assosiasjoner), er semantikkregelen automatisk oppfylt i -UML 15
16 Entydighet et enkelt eksempel (NIAM) En person kan ha ett navn, men ikke flere En person kan ha én eller flere telefoner, og en telefon kan være for én eller flere personer En person kan ha én eller flere biler, men hver bil kan bare ha én eier (F.nr) har med har på for for Navn (Navn) Tlf. (Tlfnr) Bil (Reg.- nr) 16
17 Entydighet et enkelt eksempel (-UML) En person kan ha ett navn, men ikke flere En person kan ha én eller flere telefoner, og en telefon kan være for én eller flere personer En person kan ha én eller flere biler, men hver bil kan bare ha én eier F.nr{id} har 0..* 0..* 0..* med for 0..1 har Navn 0..1 Navn{id} på 0..* for Tlf. Tlfnr{id} Bil Reg.- nr{id} 17
18 Påkrevd (=total) rolle (NIAM) Alle personer skal ha et navn har på Navn (Navn) (F.nr) med for Tlf. (Tlfnr) har for Bil (Reg.- nr) Alle forekomster av begrepet finnes i denne rollen 18
19 Påkrevd (=total) rolle (UML) Alle personer skal ha et navn F.nr{id} har 0..* 0..* 0..* med for Navn 1..1 Navn{id} på Tlf. Tlfnr{id} 0..1 har 0..* for Bil Reg.- nr{id} I UML angies påkrevde roller som minimumskardinalitet 1 19
20 Faktatypers aritet (lengde) (gjelder bare NIAM) er gift Unær faktatype (aritet=1) ansatt i med ansatt Firma Binær faktatype (aritet=2) ble ansatt i er ansettelsesdato med ansatt Ternær faktatype (aritet=3) Dag Firma 20
21 Regler for entydighetsskranker Alle faktatyper skal ha minst én entydighetsskranke Korte entydighetsskranker er strengere enn lange, så ingen entydighetsskranke får lov til totalt å dekke en annen Lange faktatyper kan godt ha overlappende entydighetsskranker 21
22 Overlappende entydighetsskranker Ble gift For giftermål Ble gift En kvinne kan ikke gifte seg flere ganger på samme dag Kvinne Dag Mann En mann kan ikke gifte seg flere ganger på samme dag En kvinne og en mann kan gifte seg med hverandre flere ganger Dette kan ikke uttrykkes i UML uten å bruke OCL 22
23 Målte Meteorolog NB: Ble målt Tid Denne faktatypen er ikke elementær. Problem: Hvordan skal den splittes? Et eksempel til ettertanke Ble målt Sted Ble resultat Temp. På sammetidogstedkan det bare være én temperatur En meteorolog kan ikke gjøre to temperaturmålinger på samme tidspunkt En meteorolog kan bare være ett sted på et gitt tidspunkt På sammetidogstedkan det bare være en (ansvarlig) meteorolog 23
24 Begrepsdannelse og kombinert entydighet Måling Tid Ble målt Ble målt Sted Tid Ble målt på Måling på Ble målt Sted Måling er definert som kombinasjonen av tid og sted 24
25 To måter å tegne «måling» på Målte Ble målt Ble målt Ble resultat Meteorolog Tid Sted Temp. Tid Ble målt på Måling på Ble målt Sted Meteorolog Målte Ble målt av Med resultat Ble resultat Temp. 25
26 Kombinert entydighet i -UML Tid Dato{id} Klokke{id} Måling Sted 1 «identifying» 0..* 0..* «identifying» 1 Adr{id} Ble På På Ble målt målt Ved å markere de to setningene som «identifying» sier vi at representasjonstypene til Tid og Sted inngår i representasjonstypen for Måling (Her utgjør de hele representasjonstypen) Ved hjelp av denne konstruksjonen kan vi uttrykke lange faktatyper som en stereotypi i UML 26
27 Måling modellert i -UML versjon 1 Tid dato,klokkeslett {id} {unique} 1 {unique} Sted adresse {id} * 1 * Måling * 1 * 1 Temperatur C {id} Meteorolog ansattnr {id} 27
28 Måling modellert i -UML versjon 2 Tid dato,klokkeslett {id} Sted adresse {id} 1 «identifying» {unique} * 1 * Måling * 1 «identifying» * 1 Temperatur C {id} Meteorolog ansattnr {id} 28
29 NIAMs skrankeapparat Klassiske UML klassediagrammer har begrensninger i forhold til ORM/NIAM når det gjelder hvilke skranker som kan uttrykkes NIAM har følgende skranker som i UML må uttrykkes ved hjelp av OCL (Object Constraint Language): Påkrevde rollekombinasjoner Mengdeskranker Vi skal ta dem for oss og se på hvordan de tar seg ut i OCL-notasjon 29
30 Påkrevd rollekombinasjon Bil (Reg.nr) er privatbil for T er firmabil for eier eier (F.nr) Firma (foretaksnr) En bil må være enten firmabil eller privateid (eller begge deler) 30
31 Påkrevd rollekombinasjon i UML Dette angis med OCL-symbolet {or} mellom to roller * er privatbil for eier 0..1 f.nr {id} Bil reg.nr {id} {or} * 0..1 er firmabil for eier Firma foretaksnr {id} En bil må være enten firmabil eller privateid (eller begge deler) 31
32 Delmengdeskranken, eksempel, OCL og NIAM * Ansatt ans.nr {id} mottar {subset} er mnd.lønn Penger NOK {id} 0..1 * 0..1 har er bonus Ansatt (ans.nr) mottar mnd.lønn Penger (NOK) har bonus En ansatt kan ikke ha bonus uten å motta månedslønn 32
33 Delmengdeskranke over en eller flere roller I 1 pnavn {id} skytter {subset} død bjørn * Bjørn bnavn {id} * skinnselger bjørneskinn * skytter død bjørn Bjørn skinnselgerbjørneskinn Selg ikke skinnet før bjørnen er skutt! 33
34 Delmengdeskranke over en eller flere roller II 1 pnavn {id} skytter {subset} død bjørn * Bjørn bnavn {id} * skinnselger bjørneskinn * skytter død bjørn Bjørn skinnselgerbjørneskinn Selg ikke bjørneskinn før du har skutt en bjørn! 34
35 Delmengdeskranke over en eller flere roller III 1 pnavn {id} 1 skytter {subset} død bjørn * Bjørn bnavn {id} * OBS! skinnselger bjørneskinn skytter død bjørn Bjørn skinnselgerbjørneskinn Selg ikke skinnet før bjørnen er skutt! (Skutt av deg!) 35
36 Mengdelikhetsskranken, eksempel Ansatt (ans.nr) = bruttolønn skatt Penger (NOK) En ansatt betaler skatt hvis, og bare hvis, hun eller han mottar lønn 36
37 Likhetsskranken i OCL * Ansatt mottar {subset} bruttolønn 0..1 Penger ans.nr {id} {subset} NOK {id} * 0..1 har skatt En likhetsskranke er det samme som å ha to delmengdeskranker som går i hver sin retning Dette kan vi utnytte i OCL 37
38 Mengdeulikhetsskranke over en eller flere roller sager sages av Gren sager sages av Gren sitter på med sitter på med sager sages av Gren Sag ikke av den grenen du sitter på! sitter på med 38
39 Ulikhetsskranker og UML Det er ikke vanskelig å uttrykke ulikhetsskranker som regler i OCL Warmer og Kleppe har imidlertid ikke foreslått noe eget symbol for dette Det er selvfølgelig lett å gjøre det, men Gerhard har valgt å begrense seg til de symboler som Warmer og Kleppe har introdusert Dermed kan vi ikke pr i dag tegne inn ulikhetsskranker i våre UML klassediagrammer 39
40 Realisering og kvalitetssikring Det finnes en algoritme som omformer ethvert syntaktisk lovlig NIAM-diagram til et optimalt normalisert relasjonsdatabaseskjema En tilsvarende algoritme for design av objektklasser finnes ikke, så her må vi ha tilleggsinformasjon (som andre diagramtyper i UML) for å få et best mulig resultat Det finnes riktig nok en algoritme som omformer et NIAM-diagram (og da spesielt et -UML klassediagram) til et (ordinært) UML klassediagram, men vi har ingen garanti for at dette diagrammet gir den optimale datastrukturen for vår anvendelse med mindre vi skal bruke det til design av en relasjonsdatabase Et NIAM-diagram kan trivielt oversettes til en mengde med elementære faktatyper (dette gjelder også skrankene) Det er vanligvis lett for brukerne å avgjøre om en elementær faktatype er riktig eller gal En slik oversettelse av strukturdiagrammet til naturlig språk bør brukes for å fomidle datamodellen til brukerne Brukere kan ikke forventes å fullt ut forstå UML klassediagrammer, men de bør kunne verifisere at en samling elementære setningstyper er korrekt 40
41 Konklusjon og spørsmål til debatt ORM/NIAM har i utgangspunktet et sterkere skrankeapparat enn det UML klassediagrammer har Men med innføring av stereotypien og de nye OCLsymbolene er ikke forskjellen vesentlig Selve metoden er den samme, men språkene er forskjellige Spørsmålet er: Hva vil forvirre studentene mest? Å innføre en ikke-standard stereotypi i UML og gjennomføre hele analysen ved utelukkende å bruke - klasser for så å omforme dette diagrammet til et standard UMLklassediagram Å ta i bruk et helt annet modelleringsspråk (ORM/NIAM) og bruke dette til å konstruere et standard UML-klassediagram Er det behov for dette kurset, og har vi ressurser til å holde det? Bør det i så fall gå parallelt med INF1050, eller bør det være et 2000-kurs? 41
Dataorientert modellering
INF2120 Dataorientert modellering Ragnar Normann 1. mars 2006 INF2120 Prosjekt i modellering 1 Dataorientering og UML UML har som utgangspunkt et objektorientert syn på tilværelsen hvor oppførsel og samspill
DetaljerDataorientert modellering
INF2120 Dataorientert modellering Ragnar Normann 9. mars 2005 INF2120 Prosjekt i modellering 1 Dataorientering og UML UML har som utgangspunkt et objektorientert syn på tilværelsen hvor oppførsel og samspill
DetaljerDagens tema: Begrepsdannelse Eksterne entydighetsskranker Representasjon n-1-regelen Verdiskranker Mengdeskranker
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Representasjon n-1-regelen Verdiskranker Mengdeskranker INF1300 29.08.2017 Mathias Stang
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Verdiskranker Mengdeskranker INF1300 1.9.2008 Ellen Munthe-Kaas 1 Et eksempel fra virkeligheten
DetaljerDagens tema: Begrepsdannelse Eksterne entydighetsskranker Verdiskranker Mengdeskranker
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Verdiskranker Mengdeskranker Institutt for informatikk 1 Et eksempel fra virkeligheten
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Grunnbegrepene i ORM Sammenheng mellom ORM og vanlig språk Elementære setninger (fakta) Faktatyper og broer Entydighetsskranker og totale
DetaljerIN2090 Databaser og datamodellering ORM 1
IN2090 Databaser og datamodellering ORM 1 Modellere for obliger og eksamen Digital eksamen, men modeller tegnes med penn og papir Det er like greit å tegne for hand også på obligene 2 Dagens tema: Grunnuttrykkene
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Grunnbegrepene i ORM Sammenheng mellom ORM og vanlig språk Elementære setninger (fakta) Faktatyper og broer Entydighetsskranker og totale
DetaljerDagens tema: Begrepsdannelse Eksterne entydighetsskranker Representasjon n-1-regelen
UNIVERSITETET I OSLO IN2090 Databaser og datamodellering Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Representasjon n-1-regelen IN2090 05.09.2018 Mathias Stang 1 Opplegget fremover Forelesningene
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Grunnbegrepene i ORM Sammenheng mellom ORM og naturlig språk Elementære setninger (fakta) Faktatyper og broer Entydighetsskranker og
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Grunnbegrepene i ORM Sammenheng mellom ORM og vanlig språk Elementære setninger (fakta) Faktatyper og broer Entydighetsskranker og totale
DetaljerINF Introduksjon til databaser ORM I
INF1300 - Introduksjon til databaser ORM I Dagens tema: Grunnbegrepene i ORM Sammenheng mellom ORM og naturlig språk Elementære setninger (fakta) Faktatyper og broer Entydighetsskranker og påkrevde roller
DetaljerINF1300. Grunnbegrepene i ORM: fakta, begreper, roller, faktatyper, broer, entydighetsskranker, totale roller, funksjonelle avhengigheter
INF1300 Grunnbegrepene i ORM: fakta, begreper, roller, faktatyper, broer, entydighetsskranker, totale roller, funksjonelle avhengigheter Ogdens trekant begrep representasjon fenomen i UoD michael@ifi.uio.no
DetaljerRealiseringsalgoritmen fra ORM til relasjoner Intro til mengdeskranker i ORM
IN2090 Databaser og datamodellering Realiseringsalgoritmen fra ORM til relasjoner Intro til mengdeskranker i ORM Mathias Stang (mjstang@ifi.uio.no) 3. oktober 2018 1 Repetisjon: Relasjoner relasjonsskjema
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Verdiskranker Underbegreper Underbegrepsskranker Mengdeskranker Delmengdeskranker INF1300-10.9.2007 Ellen Munthe-Kaas 1 Verdiskranker
DetaljerDatamodellering med ORM
Figur 5-1. Datamodellen dokumenterer vår oppfatning av virkeligheten Interesset Datamodellering med ORM registrering påvirkning jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 6 Oppfatningen
DetaljerVegard Nossum. 21. oktober 2010
ORM, UML og DL-Lite A,id Vegard Nossum 21. oktober 2010 Plan Introduksjon til ORM-modellering Formalisering av ORM og UML Litt om kompleksitet ORM-modellering: Begreper og forekomster Begreper tegnes som
DetaljerRepetisjon: (nesten) alt du trenger å kunne om ORM og realisering
INF1300 Introduksjon til databaser Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering Mathias Stang (mjstang@ifi.uio.no) 21. november 2016 Agenda Hensikten med ORM-modellering Hva er lov
DetaljerDagens tema: Begrepsdannelse Eksterne entydighetsskranker
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Institutt for informatikk INF1300 29.8.2016 1 Et eksempel fra virkeligheten La oss se på
DetaljerDagens tema: Begrepsdannelse Eksterne entydighetsskranker Verdiskranker Mengdeskranker Underbegreper og underbegrepsskranker Kombinerte totale roller
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Verdiskranker Mengdeskranker Underbegreper og underbegrepsskranker Kombinerte totale roller
DetaljerRepetisjon: (nesten) alt du trenger å kunne om ORM og realisering
INF1300 Introduksjon til databaser Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering Mathias Stang (mjstang@ifi.uio.no) 21. november 2017 Agenda Hensikten med ORM-modellering Hva er lov
DetaljerDagens tema. Den redundansfri datamodellen. Modellenes to formål. Den grunnleggende konstruksjonen det elementære utsagnet
Dagens tema Individer i interesseområdet Den redundansfri dataen Redundansfrihet ingen dobbeltlagringer eller avledninger Gruppering, normalisering eller intuisjon? Begrepsdannelse jfr. Systemutvikling
DetaljerModellenes to formål. Datamodellering med UML (forts.) Ugrupperte og grupperte modeller. Figur 5-2. Ogdens trekant
Modellenes to formål Interesseområdet Dataering med UML (forts.) Beskrivelse jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 5 Oppfatningen av interesseområdet Foreskrivelse Informasjonssystem
DetaljerDatamodellering med UML
Datamodellering med UML jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 5 (og litt fra kapittel 6 og 7) dmuml-1 Figur 5-1. Datamodellen dokumenterer vår oppfatning av virkeligheten
DetaljerModellenes to formål. Datamodellering med UML (forts.) Fra naturlig språk til datamodell. Figur 5-2. Ogdens trekant
Modellenes to formål Interesseområdet Dataering med UML (forts.) Beskrivelse jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 6 Oppfatningen av interesseområdet Foreskrivelse Informasjonssystem
DetaljerDatamodellering med UML. Modellenes to formål. The Unified Modeling Language - UML
Figur 5-. Datamodellen dokumenterer vår oppfatning av virkeligheten Interesseområdet Datamodellering med UML registrering påvirkning jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel
DetaljerDatamodellering med UML (forts.)
Datamodellering med UML (forts.) jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 6 Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2- Modellenes to formål Interesseområdet
DetaljerThe Unified Modeling Language - UML
Datamodellering med UML jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 5 Modellenes to formål Interesseområdet Beskrivelse Oppfatningen av interesseområdet Foreskrivelse Informasjonssystem
DetaljerRepetisjon: (nesten) alt du trenger å kunne om ORM og realisering
IN2090 Databaser og datamodellering Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering Mathias Stang (mjstang@ifi.uio.no) 19. november 2018 Agenda Hensikten med ORM-modellering Hva er lov
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Informasjonssystemer 100%-prinsippet: Fra virkelighet til informasjonsmodell Forretningsregler, skranker og integritetsregler: Fra modell
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Fra skranker til integritetsregler (restriksjoner) Klassifisering av integritetsregler Forekomstrestriksjoner Realisering av integritetsregler
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Informasjonsbærende referansemåter Resten av realiseringsalgoritmen Sterk realisering Realisering versus modellering INF1300-31.10.2016
DetaljerModellenes to formål. Datamodellering med UML (forts.) Ugrupperte og grupperte modeller. Figur 5-2. Ogdens trekant
Modellenes to formål Interesseområdet Dataering med UML (forts.) Beskrivelse jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 5 Oppfatningen av interesseområdet Foreskrivelse Informasjonssystem
DetaljerDagens tema: Relasjonsmodellen (funksjonelle avhengigheter og nøkler, integritetsregler) Realisering: Fra ORM til relasjoner
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Relasjonsmodellen (funksjonelle avhengigheter og nøkler, integritetsregler) Realisering: Fra ORM til relasjoner Institutt for informatikk
Detaljer*UXSSHULQJ IRU JUDXWVNDOOHU (QYLVXHOOJXLGHJMHQQRPQRHQ DY1,$0JUXSSHULQJHQV XQGHUIXQGLJKHWHU
*UXSSHULQJ IRU JUDXWVNDOOHU (QYLVXHOOJXLGHJMHQQRPQRHQ DY1,$0JUXSSHULQJHQV XQGHUIXQGLJKHWHU Historikk (Ikke bruk tid på å lese dette, den nyttige informasjonen begynner på neste side...) Ideen til å lage
DetaljerFlere skranker i ORM Integritetsregler med «CHECK» i SQL
IN2090 Databaser og datamodellering Flere skranker i ORM Integritetsregler med «CHECK» i SQL Mathias Stang (mjstang@ifi.uio.no) 10. oktober 2018 1 Agenda Verdiskranker Mengdeskranker Ekstern påkrevd rolle
DetaljerNotater: INF1300. Veronika Heimsbakk 8. januar 2013
Notater: INF1300 Veronika Heimsbakk veronahe@student.matnat.uio.no 8. januar 2013 Innhold 1 ORM 3 1.1 Setningers aritet......................... 3 1.2 Faktatyper og broer i ORM................... 3 1.3
DetaljerDatamodellering med UML. Modellenes to formål. The Unified Modeling Language - UML
Figur 5-. Datamodellen dokumenterer vår oppfatning av virkeligheten Interesseområdet Datamodellering med UML registrering påvirkning jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Underbegreper Underbegrepsskranker Ekvivalente stier og joinskranker Behandling av tid Informasjonsbærende representasjoner INF1300
DetaljerDagens tema: Ekvivalente stier og joinskranker Ringskranker Informasjonsbærende representasjoner Behandling av tid
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Ekvivalente stier og joinskranker Ringskranker Informasjonsbærende representasjoner Behandling av tid Tommelfingerregler ORM som analysemetode
DetaljerDen redundansfri datamodellen
Den redundansfri datamodellen jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 6 Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri- Dagens tema Individer i
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Data, databaser og databasehåndteringssystemer Data versus informasjon Beskrivelse av interesseområdet Begreper og representasjon av
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Fra skranker til integritetsregler (restriksjoner) Klassifisering av integritetsregler Forekomstrestriksjoner Realisering av integritetsregler
DetaljerSkranker og avledninger
Figur 7-1. Skrankene skal gjenspeile virkelighetens regler Forretningsregler Virkeligheten (interesseområdet) Skranker og avledninger registrering påvirkning jfr. Fra kjernen og ut, fra skallet og inn
DetaljerDagens tema. Den redundansfri datamodellen. Modellenes to formål. Individer i interesseområdet
Dagens tema Individer i interesseområdet Den redundansfri datamodellen Redundansfrihet ingen dobbeltlagringer eller avledninger Gruppering, normalisering eller intuisjon? jfr. Systemutvikling fra kjernen
DetaljerUNIVERSITETET I OSLO INF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Underbegreper og underbegrepsskranker Kombinerte totale roller Ekvivalente stier og joinskranker Behandling av tid Informasjonsbærende
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Relasjonsmodellen Funksjonelle avhengigheter og nøkler Realisering: Fra ORM til relasjoner Institutt for informatikk INF1300--15.9.2009--michael@ifi.uio.no
Detaljer1. Designe ER-modeller med MS Visio
Kjell Toft Hansen 01.07.2009 Opphavsrett: Forfatter og AITeL Lærestoffet er utviklet for faget LO151D Informatikk 1- databaser 1. I dette notatet skal vi se på hvordan vi kan lage ER-modeller ved å bruke
DetaljerForelesning INF1300. Simen Buodd. Plenumstime 8. September 2015
Forelesning INF1300 Simen Buodd Plenumstime 8. September 2015 Agenda Gjennomgå Oblig 3 Realisere Oblig 3 Gjennomgå oppgave side 8 på ORM-slide 3 Gjennomgå oppgave side 33 på ORM-slide 33 Oppgaver med eksterne
DetaljerInformasjonsbærende representasjoner
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Underbegreper Underbegrepsskranker Kombinerte totale roller Ekvivalente stier og joinskranker Behandling av tid Informasjonsbærende
DetaljerUNIVERSITETET I OSLO INF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Underbegreper Underbegrepsskranker Kombinerte totale roller Ekvivalente stier og joinskranker Behandling av tid Informasjonsbærende
DetaljerHva vi i alle fall bør huske fra INF1050
Hva vi i alle fall bør huske fra INF1050 Gerhard Skagestein 25. januar 2006 25. januar 2006 INF2120 Prosjekt i modellering 1 Figur 1-3. Et systems livssyklus Idé Krav og ønsker Utforming Realisering Ny
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Fra skranker til integritetsregler (restriksjoner) Klassifisering av integritetsregler Forekomstrestriksjoner Realisering av integritetsregler
DetaljerGerhard Skagestein: Systemutvikling fra kjernen og ut, fra skallet og inn.
Gerhard Skagestein: Systemutvikling fra kjernen og ut, fra skallet og inn. Oppgaver til kapittel 5 - Datamodellering med UML Oppgave 6. Ugruppert og gruppert modell Et mindre bilutleiefirma ønsker å få
DetaljerUNIVERSITETET I OSLO INF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Underbegreper og underbegrepsforklaringer Kombinerte påkrevde roller Undertrykking av begreper Ekvivalente stier og joinskranker Behandling
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Data, databaser og databasehånteringssystemer Data versus informasjon Beskrivelse av interesseområdet 100%-prinsippet og det begrepsmessige
DetaljerINF1050 Klasseromsoppgave Uke 6
INF1050 Klasseromsoppgave Uke 6 Løsningsforslag Mer avansert datamodellering med UML Oppgave 1 Her følger noen eksempler på opplysninger som brukeren ønsker å kunne trekke ut av informasjonssystemer. Foreslå
DetaljerSkranker og avledninger
Skranker og avledninger jfr. Fra kjernen og ut, fra skallet og inn kapittel 7 dmskranker&repr-1 Figur 7-1. Skrankene skal gjenspeile virkelighetens regler Forretningsregler Virkeligheten (interesseområdet)
DetaljerINF1300 Introduksjon til databaser
INF1300 Introduksjon til databaser Data (transiente, persistente) DBMS databser informasjon interesseområdet informasjonsmodeller informasjonssystemer Transiente og persistente data Når vi programmerer,
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Fra skranker til integritetsregler (restriksjoner) Klassifisering av integritetsregler Forekomstrestriksjoner Realisering av integritetsregler
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Ekvivalente stier Behandling av tid Informasjonsbærende representasjoner INF1300-17.9.2007 Ellen Munthe-Kaas 1 Stier Dette er en sti
DetaljerDatabaser: Relasjonsmodellen, del I
LC238D http://www.aitel.hist.no/fag/_dmdb/ Databaser: Relasjonsmodellen, del I En relasjon er en matematisk mengde side 2 Egenskaper ved relasjoner side 3 Entitetsintegritet side 4-5 Referanseintegritet
DetaljerIN2090 Introduksjon til databaser
UNIVERSITETET I OSLO IN2090 Introduksjon til databaser Dagens tema: Data, databaser og databasehåndteringssystemer Hva er data? Hva er informasjon? Fra idé til informasjonssystem Litt om modellering: Begreper
DetaljerIntermesso. Visjonen... samling av trådene. Veivalget. Et bedre bilde av visjonen?
Visjonen... Intermesso samling av trådene jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel INF02-Intermesso- Theodor Kittelsen: Og i det fjerne, langt, langt borte så han noe lyse og
DetaljerINF1050 Klasseromsoppgave Uke 7
INF1050 Klasseromsoppgave Uke 7 Løsningsforslag Skranker Oppgave 1 a) Vi skal lage en datamodell for utfallet av presidentvalgene i et land. Modellen skal inneholde begrepene Valg (identifisert med et
DetaljerINF1300 Introduksjon til databaser
INF1300 Introduksjon til databaser INF1300 Introduksjon til databaser INF1300 Introduksjon til databaser INF1300 Introduksjon til databaser databaser data (transiente, persistente) informasjon interesseområdet
DetaljerINF3100 Databasesystemer
INF3100 Databasesystemer Forelesere: Obligsjef: Naci Akkök, Ragnar Normann Norun Sanderson Mål: Kjennskap til databasesystemer Oppgaver og moduler Virkemåte Implementasjon Teoretiske og praktiske problemer
DetaljerGerhard Skagestein: Systemutvikling fra kjernen og ut, fra skallet og inn.
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
DetaljerU N I V E R S I T E T E T I O S L O
U N I V E R S I T E T E T I O S L O Det matematisk-naturvitenskapelige fakultet Eksamen i : IN 113 Dataorientert systemutvikling og databaser Eksamensdag : Mandag 12. desember 1994 Tid for eksamen : 09.00-15.00
DetaljerDagens tema: Realiseringsalgoritmen (også kalt "grupperingsalgoritmen") fra ORM-diagram til relasjonsskjema
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Realiseringsalgoritmen (også kalt "grupperingsalgoritmen") fra ORM-diagram til relasjonsskjema Institutt for informatikk INF1300 15.9.2016
DetaljerINF3100 Databasesystemer
INF3100 Databasesystemer Forelesere: Naci Akkök Ragnar Normann Mål: Kjennskap til databasesystemer Oppgaver og moduler Virkemåte Implementasjon Teoretiske og praktiske problemer INF3100-19-20.1.2004 -
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Data, databaser og databasehåndteringssystemer Hva er data? Hva er informasjon? Fra idé til informasjonssystem Litt om modellering:
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 2. desember 2013 Tid for eksamen: 09.00 15.00 Oppgavesettet er på 6 sider. Vedlegg: Tillatte hjelpemidler: INF1300
DetaljerVÆRSTASJONER Obligatorisk oppgave nr. 2 i INF1300 høsten 2011
VÆRSTASJONER Obligatorisk oppgave nr. 2 i INF1300 høsten 2011 Oppgaven skal løses og leveres individuelt (men det er lov å snakke og diskutere med medstudenter om løsningen). Skriv ditt fulle navn, kursnummeret
DetaljerINF212 - Databaseteori. Kursinnhold
INF212 - Databaseteori Forelesere: Naci Akkök Ellen Munthe-Kaas Mål: Kjennskap til databasesystemer Virkemåte Implementasjon Teoretiske og praktiske problemer INF212 v2003 1 Kursinnhold Databasedesign
DetaljerUNIVERSITETET I OSLO
INF050/INF02 vår2005 Bokmål UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF 050 Systemutvikling INF02 Utvikling av datasystemer Eksamensdag: Onsdag 5. juni 2005 Tid for
DetaljerDagens tema: Ringskranker Informasjonsbærende representasjoner Behandling av tid Tommelfingerregler
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Ringskranker Informasjonsbærende representasjoner Behandling av tid Tommelfingerregler Institutt for informatikk INF1300 21.09.2015
DetaljerDagens tema: Underbegreper og underbegrepsskranker Kombinerte totale roller Behandling av tid Informasjonsbærende representasjoner Ringskranker
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Underbegreper og underbegrepsskranker Kombinerte totale roller Behandling av tid Informasjonsbærende representasjoner Ringskranker Institutt
DetaljerSensorveiledning for IN2090 og INF desember :30 18:30 (4 timer)
Sensorveiledning for IN2090 og INF1300 6. desember 2018 14:30 18:30 (4 timer) 1. Eksterne skranker (5%) I modellene nedenfor (ORM2) skal du anta at alle begreper har en unik representasjon. Er plasseringen
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveeksamen i : INF1300 Introduksjon til databaser Eksamensdag: leveringsfrist 11. november 2016 Oppgavesettet er på 5 sider. Vedlegg:
Detaljer1. Datamodellering. 1.1. Kommentarer til læreboka
Tore Mallaug 20.10.2009 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for fagene LN323D Databaser 1. Datamodellering Resymé: Denne leksjonen viser et par eksempler på ER-modellering
DetaljerMetode for ansvarsdrevet OO. Dagens forelesning. Delegering av ansvar i en trelagsarkitektur
Dagens forelesning o Litt mer om design med UML sekvensdiagrammer Sentralisert og delegert kontrollstil Resultater fra et eksperiment o UML klassediagrammer Notasjon: UML klassediagram og objektdiagram
DetaljerINF130: Datahåndtering og analyse
INF130: Datahåndtering og analyse Modellering 1.1 Temaer Kapittel 7 Modellering 2 Datamodellering med E/R Fasene i systemutvikling og databasedesign E/R (Entity/Relationship) Entitet Attributt Identifikator
DetaljerGruppeøvelse 20/ Dagens tema: - Gruppering/realisering
Gruppeøvelse 20/9-2010 Dagens tema: - Gruppering/realisering Gruppering, regler - I Lange piler fjernes før grupperingen begynner Stikkord: Begrepsdannelse, ekstern entydighet September 20, 2010 2 Gruppering,
DetaljerDatamodellering med E/R
Datamodellering med E/R Fasene i systemutvikling og databasedesign E/R (Entity/Relationship) Entitet Attributt Identifikator Forhold og roller Kardinaliteter: 1:1, 1:M, M:N Oppløsing av mange-til-mange
DetaljerBeskjed fra Skagestein
Beskjed fra Skagestein "I forbindelse med prosjektoppgavens delinnlevering 4 vil gruppelærerne sette opp en PHP-orakeltjeneste torsdag 7. april kl 1415-1800 på termstua i Niels Henrik Abels hus." INF1050-klasser-1
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Ringskranker Klisjéer Tommelfingerregler ORM og normalisering Denormalisering og splitting ORM som metode INF1300 7.11.2016 Ellen Munthe-Kaas
DetaljerDagsorden. Hovedtemaene i INF102. Fra kjernen og ut. Produksjon av informasjonssystemer. Produksjon av informasjonssystemer
Dagsorden Hovedtemaene i INF02 Jus-forelesningen tas igjen onsdag 4. mai kl 05 hvis interesse Prosjektoppgaven o Kandidatnummerlisten o Anonymisering av prosjektoppgaven o Hvordan levere programkoden Åpen-bok-eksamen
DetaljerNB! Endring i undervisningsplanen
NB! Endring i undervisningsplanen Forelesningen 24. mars må dessverre avlyses på grunn av Fagkritisk dag Se beskjed som er lagt ut på kursets nettsider og den oppdaterte undervisningsplanen INF1050-klasser-1
DetaljerFra krav til objektdesign
Fra krav til objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer INF1050-ansvar-1 Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Hva skal systemet gjøre? UML: Bruksmønstermodeller
DetaljerINF1000: Forelesning 7
INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Repetisjon forts. Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en
DetaljerSpesifikasjon av Lag emne. Kursregistrering bruksmønstermodell (ny versjon) Dagens forelesning. Fra krav til objektdesign
Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Fra krav til objektdesign Hva skal systemet gjøre? UML: Bruksmønstermodeller o Objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer
DetaljerIN2090 Introduksjon til databaser
UNIVERSITETET I OSLO IN2090 Introduksjon til databaser Dagens tema: Relasjonsmodellen (funksjonelle avhengigheter og nøkler, integritetsregler) Institutt for informatikk IN2090 26.9.2018!1 Relasjonsmodellen
DetaljerInformasjonssystemer, DBMSer og databaser
UNIVERSITETET I OSLO Informasjonssystemer, DBMSer og databaser Institutt for Informatikk INF3100-21.1.2008 Ellen Munthe-Kaas 1 Interesseområdet (UoD = Universe of Discourse) Interesseområdet er en del
DetaljerINF1000: Forelesning 7. Konstruktører Static
INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en bestemt type. Objekter
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: IN212 Databaseteori Eksamensdag: Lørdag 3. juni 2000 Tid for eksamen: 09.00-15.00 Oppgavesettet er på: 4 sider Vedlegg: Ett ark
DetaljerØvelser uke 35. Oppgave
Øvelser uke 35 1. Else steker pizza. 2. Mons spiser grøt og drikker saft. 3. Per leser. 4. Stein Michael synger i Sangselskabet Guldbergs akademiske kor. 5. Anne høstet 50 kg poteter. 6. Ole-Johan Dahl
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO Dagens tema: INF1300 Introduksjon til databaser Relasjonsmodellen (funksjonelle avhengigheter og nøkler, integritetsregler) Institutt for informatikk INF1300 12.9.2016 1 Relasjonsmodellen
DetaljerSpesifikasjon av Lag emne
Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Fra krav til objekter Hva skal systemet gjøre? UML: Bruksmønstermodeller (Use Cases) o Objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer
DetaljerMATOPPSKRIFTER Obligatorisk oppgave nr. 2 i INF1300 høsten 2010
MATOPPSKRIFTER Obligatorisk oppgave nr. 2 i INF1300 høsten 2010 Oppgaven skal løses og leveres individuelt (men det er lov å snakke og diskutere med medstudenter om løsningen). Skriv ditt fulle navn, kursnummeret
Detaljer