INF1300 Introduksjon til databaser

Like dokumenter
INF1300 Introduksjon til databaser

Informasjonsbærende representasjoner

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

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

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

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

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

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

INF1300 Introduksjon til databaser

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

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

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

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

Datamodellering med ORM

IN2090 Databaser og datamodellering ORM 1

PENSUM H2012 INF1300. Joakim Myrvoll Johansen. Pensum fra forelesnings-foilere

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

IN2090 Introduksjon til databaser

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

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

Relasjonsdatabasedesign

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

The Unified Modeling Language - UML

UNIVERSITETET. Relasjonsdatabasedesign

Datamodellering med UML

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

Dataorientert modellering

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

INF1050 Klasseromsoppgave Uke 6

INF1300 Introduksjon til databaser

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

UNIVERSITETET I OSLO

INF212 - Databaseteori. Kursinnhold

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

INF Introduksjon til databaser ORM I

INF1300 Introduksjon til databaser

UNIVERSITETET I OSLO

INF1300 Introduksjon til databaser

Språk for dataorientert modellering

UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet. INF1080 Logiske metoder for informatikk

Oppdateringsanomalier Normalformer

UNIVERSITETET I OSLO. Relasjonsmodellen. Relasjoner og funksjonelle avhengigheter. Institutt for Informatikk. INF Ellen Munthe-Kaas 1

Relasjonsdatabasedesign

Informasjonssystemer, DBMSer og databaser

Forelesning 30: Kompleksitetsteori

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

Dataorientert modellering

INF1300 Introduksjon til databaser

Datamodellering med UML (forts.)

Relasjonsdatabasedesign

IN2090 Introduksjon til databaser

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

INF1800 LOGIKK OG BEREGNBARHET

UNIVERSITETET I OSLO

MAT1140: Kort sammendrag av grafteorien

Etter uke 9 skal du. Introduksjon til objektorientert programmering. Innhold. Klasser som abstraksjoner

Fra krav til objekter. INF1050: Gjennomgang, uke 05

Realiseringsalgoritmen fra ORM til relasjoner Intro til mengdeskranker i ORM

INF2810: Funksjonell Programmering

Relasjonsdatabasedesign

Use Case-modellering. INF1050: Gjennomgang, uke 04

1. Designe ER-modeller med MS Visio

INF3100 Databasesystemer

Transkript:

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 fra A til B INF1300-17.9.2007 Ellen Munthe-Kaas 2

Ekvivalente stier Dersom vi har to stier fra A til B som er slik at hvis vi starter med én forekomst i A, så skal vi komme til samme forekomst i B uavhengig av hvilken av de to stiene vi følger, så kaller vi de to stiene ekvivalente. INF1300-17.9.2007 Ellen Munthe-Kaas 3

Avledbare data - 1 Unødvendig (avledbar) informasjon Merk de ekvivalente stiene! INF1300-17.9.2007 Ellen Munthe-Kaas 4

Avledbare data - 2 Unødvendig (avledbar) informasjon? Det kan være mange grunner til å lagre avledbar informasjon sum{x x = Konto.krediteres.med_beløp} sum{y y=konto.debiteres.med_beløp} = Konto.med_saldo INF1300-17.9.2007 Ellen Munthe-Kaas 5

Eksempel på ekvivalente stier INF1300-17.9.2007 Ellen Munthe-Kaas 6

Avanserte skranker Alle skranker vi ikke har grafiske symboler for, kalles avanserte skranker Disse skrives på ORM-UML-diagrammet som tekst Lovlig språk er førsteordens logikk og vanlig aritmetikk (regneformler) Lovlige variable er konstanter, roller, stier og inverse stier Se f.eks. foilen Avledbare data - 2 INF1300-17.9.2007 Ellen Munthe-Kaas 7

Behandling av tid Versjonering Hva er et tidspunkt Hva skal et tidsstempel reflektere Praktisk versjonsmodellering INF1300-17.9.2007 Ellen Munthe-Kaas 8

Versjonering Hvis vi ønsker at databasen skal vise historiske opplysninger, lagrer vi tidsstemplede versjoner av informasjonen Med en versjon mener vi her et øyeblikksbilde av all informasjon De tidsstemplede versjonene kan ordnes langs en tidsakse INF1300-17.9.2007 Ellen Munthe-Kaas 9

Versjoner med tidsstempel ansatt avdeling 120 salg 110 salg 081 produksjon 230 økonomi prosjekt ansatt prosj.timer Alfa 120 200 Beta 120 250 Alfa 110 75 Alfa 081 150 Beta 230 100 ansatt avdeling 120 salg 110 salg 081 produksjon 230 økonomi 2007 03 07 prosjekt ansatt prosj.timer Alfa 120 207 Beta 120 250 Alfa 110 81 Alfa 081 157 Beta 230 106 ansatt avdeling 120 salg 110 salg 081 produksjon 2007 03 08 230 salg prosjekt ansatt prosj.timer Alfa 120 207 Beta 120 256 Alfa 110 88 Alfa 081 164 Beta 230 113 2007 03 09 t INF1300-17.9.2007 Ellen Munthe-Kaas 10

Hva er et tidspunkt Tidsaksen består i praksis alltid av tidsintervaller i informasjonsmodellen Granulariteten til intervallene avhenger av behovet for nøyaktighet. Granularitet avgjør hvordan tidsintervallene skal representeres Hvert tidsintervall identifiseres ved et tidsstempel, f.eks. år+måned, år+ukenummer, år+mnd+dag+time+minutt hva som er samtidig Hendelser innen samme tidsintervall kan ikke skilles i tid En informasjonsmodell kan ha flere tidsakser med ulik oppdeling og granularitet det er ikke alltid mulig å bestemme samtidighet på tvers av ulike tidsakser INF1300-17.9.2007 Ellen Munthe-Kaas 11

Forskjellige tidsakser, eksempel september 2007 Uke ma ti on to fr lø sø 35 1 2 36 3 4 5 6 7 8 9 37 10 11 12 13 14 15 16 38 17 18 19 20 21 22 23 39 24 25 26 27 28 29 30 4: 11: 19: 26: dag uke måned 244 273 35 36 37 38 39 40 9 10 INF1300-17.9.2007 Ellen Munthe-Kaas 12

Tidsmessig isomorfi Utviklingen av versjonene må gjenspeile virkeligheten på en hensiktsmessig måte Hvilken type tidspunkter tidsstempelet skal inneholde, må velges etter hva modellen skal reflektere Versjonene må registreres i databasen slik at forsinkelsen fra hendelse til registrering er akseptabel INF1300-17.9.2007 Ellen Munthe-Kaas 13

Hva skal tidsstempelet reflektere 1. Når en hendelse faktisk inntraff? 2. Når versjonen ble lagt inn? 3. Når versjonen skal tre i kraft? 4. Når versjonen ble ugyldig? 5.... Maks én av disse! (men neppe nr.4) Merk: De fleste modeller ligger etter virkeligheten, f.eks. nr.1 (og nr. 2): Det tar tid før en hendelse i virkeligheten kan gjenfinnes som en versjon i databasen (mikrosekunder til dager, avhengig av registreringsprosess) Noen modeller må ligge foran virkeligheten, f.eks. nr.3 INF1300-17.9.2007 Ellen Munthe-Kaas 14

Tidsmessig kontinuitet Det er maksimalt én versjon pr. mulig tidsstempel Dersom det legges inn færre enn en versjon pr. mulig tidsstempel, så må det være mulig å avlede ikke-materaliserte versjoner for de tidsstemplene som ikke har en tilhørende versjon INF1300-17.9.2007 Ellen Munthe-Kaas 15

Tidsmessig kontinuitet ansatt avdeling 120 salg 110 salg 081 produksjon 230 økonomi prosjekt ansatt prosj.timer Alfa 120 200 Beta 120 250 Alfa 110 75 Alfa 081 150 Beta 230 100 ansatt avdeling 120 salg 110 salg 081 produksjon 230 økonomi 2007 03 07 prosjekt ansatt prosj.timer Alfa 120 203 Beta 120 253 Alfa 110 81 Alfa 081 157 Beta 230 106 ikke-materalisert versjon ansatt avdeling 120 salg 110 salg 081 produksjon 2007 03 08 230 salg prosjekt ansatt prosj.timer Alfa 120 207 Beta 120 256 Alfa 110 88 Alfa 081 164 Beta 230 113 2007 03 09 t INF1300-17.9.2007 Ellen Munthe-Kaas 16

Film- eller lysbildeprinsippet? filmprinsippet lysbildeprinsippet INF1300-17.9.2007 Ellen Munthe-Kaas 17

Film- og lysbildeprinsippet Filmprinsippet: Én ny versjon for hvert nytt mulig tidsstempel Trenger mye lagerplass ved fin granularitet Lysbildeprinsippet: Observerer og registrerer virkeligheten bare av og til Bygg inn nok kunnskap til at de ikkemateraliserte versjonene kan utledes INF1300-17.9.2007 Ellen Munthe-Kaas 18

Elementære setninger og tid Tre typer elementære setninger: De som ikke har noen tidsdimensjon De hvor vi bare ønsker å ta vare på siste aktuelle verdi De hvor vi ønsker å modellere en tidsdimensjon Virkeligheten har to typer endringer: Kontinuerlige Sprangvise Virkelighet kontra modell: Versjonene endrer seg alltid i rykk og napp Versjonene kan være tidsmessig forskjøvet i forhold til virkeligheten INF1300-17.9.2007 Ellen Munthe-Kaas 19

Begrepsdannelse med tidsaksen INF1300-17.9.2007 Ellen Munthe-Kaas 20

Eksempel INF1300-17.9.2007 Ellen Munthe-Kaas 21

Eksempel: Hvor lenge varer det? INF1300-17.9.2007 Ellen Munthe-Kaas 22

Angivelse av opphør INF1300-17.9.2007 Ellen Munthe-Kaas 23

Angivelse av varighet INF1300-17.9.2007 Ellen Munthe-Kaas 24

Representasjoner Alle begreper må kunne representeres Begrepsforekomster kan ikke lagres; det vi lagrer, er representasjonsforekomster Skal vi kunne realisere modellen som en relasjonsdatabase, må vi representere alle begrepene entydig INF1300-17.9.2007 Ellen Munthe-Kaas 25

Valg av representasjon Valg av representasjon: entydig assosiasjon mellom en forekomst av en representasjon og forekomsten av det tilhørende begrepet helst uforanderlig støtte utveksling av informasjon mellom systemer Identifikator = representasjon hvor det er en uforanderlig en-til-en-assosiasjon mellom begrep og representasjon INF1300-17.9.2007 Ellen Munthe-Kaas 26

Representasjonstyper navn, koder, forkortelser Booleske verdier tellbare størrelser tids- og romlige verdier fritekst representasjoner av bilde og lyd INF1300-17.9.2007 Ellen Munthe-Kaas 27

Ikke-informasjonsbærende representasjoner Representasjonen til begrepet identifiserer en forekomst av begrepet. Det fins ingen innkodet informasjon i representasjonen INF1300-17.9.2007 Ellen Munthe-Kaas 28

Delvis informasjonsbærende representasjoner Deler av representasjonen til et begrep identifiserer en forekomst av et annet begrep. Dette kan, men behøver ikke, være synlig i modellen INF1300-17.9.2007 Ellen Munthe-Kaas 29

Totalt informasjonsbærende representasjoner Representasjonen til begrepet består av en samling elementer der hvert element identifiserer en forekomst av et annet begrep. INF1300-17.9.2007 Ellen Munthe-Kaas 30

Synliggjøring eller ikke av informasjonsbærende representasjon i modellen? Hvis det er en mulighet for at brukeren etterspør denne informasjonen, bør den vises i modellen INF1300-17.9.2007 Ellen Munthe-Kaas 31

Representasjon via superbegrep Underbegreper arver alltid representasjonen til sitt superbegrep INF1300-17.9.2007 Ellen Munthe-Kaas 32

Representasjon via en-til-en-assosiasjon Begrep i påkrevd en-til-en-assosiasjon med et annet begrep kan identifiseres indirekte gjennom det assosierte begrepet INF1300-17.9.2007 Ellen Munthe-Kaas 33