Språk for dataorientert modellering

Størrelse: px
Begynne med side:

Download "Språk for dataorientert modellering"

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

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

Detaljer

Dataorientert modellering

Dataorientert 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

Detaljer

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

Dagens 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

Detaljer

INF1300 Introduksjon til databaser

INF1300 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

Detaljer

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Verdiskranker Mengdeskranker

Dagens 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

Detaljer

INF1300 Introduksjon til databaser

INF1300 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

Detaljer

IN2090 Databaser og datamodellering ORM 1

IN2090 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

Detaljer

INF1300 Introduksjon til databaser

INF1300 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

Detaljer

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

Dagens 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

Detaljer

INF1300 Introduksjon til databaser

INF1300 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

Detaljer

INF1300 Introduksjon til databaser

INF1300 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

Detaljer

INF Introduksjon til databaser ORM I

INF 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

Detaljer

INF1300. 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 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

Detaljer

Realiseringsalgoritmen fra ORM til relasjoner Intro til mengdeskranker i ORM

Realiseringsalgoritmen 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

Detaljer

INF1300 Introduksjon til databaser

INF1300 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

Detaljer

Datamodellering med ORM

Datamodellering 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

Detaljer

Vegard Nossum. 21. oktober 2010

Vegard 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

Detaljer

Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering

Repetisjon: (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

Detaljer

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker

Dagens 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å

Detaljer

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Verdiskranker Mengdeskranker Underbegreper og underbegrepsskranker Kombinerte totale roller

Dagens 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

Detaljer

Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering

Repetisjon: (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

Detaljer

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

Dagens 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

Detaljer

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

Modellenes 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

Detaljer

Datamodellering med UML

Datamodellering 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

Detaljer

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

Modellenes 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

Detaljer

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

Datamodellering 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

Detaljer

Datamodellering med UML (forts.)

Datamodellering 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

Detaljer

The Unified Modeling Language - UML

The 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

Detaljer

Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering

Repetisjon: (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

Detaljer

INF1300 Introduksjon til databaser

INF1300 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

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Fra skranker til integritetsregler (restriksjoner) Klassifisering av integritetsregler Forekomstrestriksjoner Realisering av integritetsregler

Detaljer

INF1300 Introduksjon til databaser

INF1300 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

Detaljer

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

Modellenes 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

Detaljer

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

Dagens 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 *UXSSHULQJ IRU JUDXWVNDOOHU (QYLVXHOOJXLGHJMHQQRPQRHQ DY1,$0JUXSSHULQJHQV XQGHUIXQGLJKHWHU Historikk (Ikke bruk tid på å lese dette, den nyttige informasjonen begynner på neste side...) Ideen til å lage

Detaljer

Flere skranker i ORM Integritetsregler med «CHECK» i SQL

Flere 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

Detaljer

Notater: INF1300. Veronika Heimsbakk 8. januar 2013

Notater: 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

Detaljer

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

Datamodellering 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

Detaljer

INF1300 Introduksjon til databaser

INF1300 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

Detaljer

Dagens tema: Ekvivalente stier og joinskranker Ringskranker Informasjonsbærende representasjoner Behandling av tid

Dagens 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

Detaljer

Den redundansfri datamodellen

Den 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

Detaljer

INF1300 Introduksjon til databaser

INF1300 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

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Fra skranker til integritetsregler (restriksjoner) Klassifisering av integritetsregler Forekomstrestriksjoner Realisering av integritetsregler

Detaljer

Skranker og avledninger

Skranker 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

Detaljer

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

Dagens 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

Detaljer

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

UNIVERSITETET 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

Detaljer

INF1300 Introduksjon til databaser

INF1300 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

Detaljer

1. Designe ER-modeller med MS Visio

1. 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

Detaljer

Forelesning INF1300. Simen Buodd. Plenumstime 8. September 2015

Forelesning 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

Detaljer

Informasjonsbærende representasjoner

Informasjonsbæ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

Detaljer

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

UNIVERSITETET 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

Detaljer

Hva vi i alle fall bør huske fra INF1050

Hva 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

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Fra skranker til integritetsregler (restriksjoner) Klassifisering av integritetsregler Forekomstrestriksjoner Realisering av integritetsregler

Detaljer

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

Gerhard 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å

Detaljer

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

UNIVERSITETET 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

Detaljer

INF1300 Introduksjon til databaser

INF1300 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

Detaljer

INF1050 Klasseromsoppgave Uke 6

INF1050 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å

Detaljer

Skranker og avledninger

Skranker 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)

Detaljer

INF1300 Introduksjon til databaser

INF1300 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,

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Fra skranker til integritetsregler (restriksjoner) Klassifisering av integritetsregler Forekomstrestriksjoner Realisering av integritetsregler

Detaljer

INF1300 Introduksjon til databaser

INF1300 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

Detaljer

Databaser: Relasjonsmodellen, del I

Databaser: 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

Detaljer

IN2090 Introduksjon til databaser

IN2090 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

Detaljer

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

Intermesso. 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

Detaljer

INF1050 Klasseromsoppgave Uke 7

INF1050 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

Detaljer

INF1300 Introduksjon til databaser

INF1300 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

Detaljer

INF3100 Databasesystemer

INF3100 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

Detaljer

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

Gerhard 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

Detaljer

U 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 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

Detaljer

Dagens tema: Realiseringsalgoritmen (også kalt "grupperingsalgoritmen") fra ORM-diagram til relasjonsskjema

Dagens 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

Detaljer

INF3100 Databasesystemer

INF3100 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 -

Detaljer

INF1300 Introduksjon til databaser

INF1300 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:

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET 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

Detaljer

VÆRSTASJONER Obligatorisk oppgave nr. 2 i INF1300 høsten 2011

VÆ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

Detaljer

INF212 - Databaseteori. Kursinnhold

INF212 - 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

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET 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

Detaljer

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

Dagens 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

Detaljer

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

Dagens 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

Detaljer

Sensorveiledning for IN2090 og INF desember :30 18:30 (4 timer)

Sensorveiledning 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

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET 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:

Detaljer

1. Datamodellering. 1.1. Kommentarer til læreboka

1. 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

Detaljer

Metode for ansvarsdrevet OO. Dagens forelesning. Delegering av ansvar i en trelagsarkitektur

Metode 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

Detaljer

INF130: Datahåndtering og analyse

INF130: 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

Detaljer

Gruppeøvelse 20/ Dagens tema: - Gruppering/realisering

Gruppeø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,

Detaljer

Datamodellering med E/R

Datamodellering 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

Detaljer

Beskjed fra Skagestein

Beskjed 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

Detaljer

INF1300 Introduksjon til databaser

INF1300 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

Detaljer

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

Dagsorden. 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

Detaljer

NB! Endring i undervisningsplanen

NB! 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

Detaljer

Fra krav til objektdesign

Fra 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

Detaljer

INF1000: Forelesning 7

INF1000: 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

Detaljer

Spesifikasjon av Lag emne. Kursregistrering bruksmønstermodell (ny versjon) Dagens forelesning. Fra krav til objektdesign

Spesifikasjon 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

Detaljer

IN2090 Introduksjon til databaser

IN2090 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

Detaljer

Informasjonssystemer, DBMSer og databaser

Informasjonssystemer, 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

Detaljer

INF1000: Forelesning 7. Konstruktører Static

INF1000: 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

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET 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. 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

Detaljer

INF1300 Introduksjon til databaser

INF1300 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

Detaljer

Spesifikasjon av Lag emne

Spesifikasjon 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

Detaljer

MATOPPSKRIFTER Obligatorisk oppgave nr. 2 i INF1300 høsten 2010

MATOPPSKRIFTER 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