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

Like dokumenter
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

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

Informasjonsbærende representasjoner

INF1300 Introduksjon til databaser

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

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

UNIVERSITETET I OSLO INF1300. Dagens tema: Ringskranker. Tommelfingerregler. Institutt for informatikk. INF Ellen Munthe-Kaas 1

Dagens tema: Ringskranker Klisjéer (mønstre) Tommelfingerregler

INF1300 Introduksjon til databaser

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

Flere skranker i ORM Integritetsregler med «CHECK» i SQL

INF1300 Introduksjon til databaser

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

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

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Verdiskranker Mengdeskranker

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

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker

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

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

Vegard Nossum. 21. oktober 2010

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

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

Notater: INF1300. Veronika Heimsbakk 8. januar 2013

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

INF1800 LOGIKK OG BEREGNBARHET

Repetisjon INF1800 LOGIKK OG BEREGNBARHET FORELESNING 3: MENGDELÆRE, RELASJONER, FUNKSJONER. Mengder. Multimengder og tupler.

Datamodellering med ORM

IN2090 Databaser og datamodellering ORM 1

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

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

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

IN2090 Introduksjon til databaser

Den redundansfri datamodellen

Dataorientert modellering

INF1300 Introduksjon til databaser

{(1,0), (2,0), (2,1), (3,0), (3,1), (3,2), (4,0), (4,1), (4,2), (4,3) } {(1,0), (1,1), (1,2), (1,3), (2,0), (2,2), (3,0), (3,3), (4,0)}

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

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

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

INF1300 Introduksjon til databaser

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

UNIVERSITETET I OSLO

Realiseringsalgoritmen fra ORM til relasjoner Intro til mengdeskranker i ORM

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

Forelesning 30: Kompleksitetsteori

Relasjonsdatabasedesign

Relasjonsdatabasedesign

R for alle a A. (, så er a, En relasjon R på en mengde A er en Ekvivalensrelasjon hvis den er refleksiv, symmetrisk og transitiv.

MAT1030 Diskret Matematikk

Kapittel 5: Relasjoner

Dagens plan. INF3170 Logikk

INF1050 Klasseromsoppgave Uke 7

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

Relasjonsdatabasedesign

IN2090 Introduksjon til databaser

R for alle a A. (, så er a, En relasjon R på en mengde A er en Ekvivalensrelasjon hvis den er refleksiv, symmetrisk og transitiv.

INF Introduksjon til databaser ORM I

Dataorientert modellering

INF3100 Databasesystemer

Datamodellering med UML (forts.)

Relasjonsdatabasedesign

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

Tillegg til kapittel 11: Mer om relasjoner

Relasjoner. Ekvivalensrelasjoner. En relasjon R på en mengde A er en delmengde av produktmengden. La R være en relasjon på en mengde A.

Repetisjonsforelesning - INF1080

Oppsummering. MAT1030 Diskret matematikk. Relasjoner. Relasjoner. Forelesning 11: Relasjoner

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

UNIVERSITETET I OSLO

Notat 05 for MAT Relasjoner, operasjoner, ringer. 5.1 Relasjoner

Relasjonsdatabasedesign

INF1300 Introduksjon til databaser

Parallelle og distribuerte databaser del III

INF1300. Grunnbegrepene i ORM: fakta, begreper, roller, faktatyper, broer, entydighetsskranker, totale roller, funksjonelle avhengigheter

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

MAT1030 Diskret Matematikk

INF1300 Introduksjon til databaser

Forelesning 29: Kompleksitetsteori

MAT1030 Forelesning 11

Eksamen i tdt4120 Algoritmer og datastrukturer

Forelesning INF1300. Simen Buodd. Plenumstime 8. September 2015

INF1800 LOGIKK OG BEREGNBARHET

Dagens plan. INF3170 Logikk. Mengder. Definisjon. Notasjon. Forelesning 0: Mengdelære, Induksjon. Martin Giese. 23. januar 2008.

Forelesning 11. Relasjoner. Dag Normann februar Oppsummering. Relasjoner. Relasjoner. Relasjoner

MAT1030 Diskret Matematikk

Kapittel 5: Mengdelære

Løsningsforslag Øving 9 TMA4140 Diskret matematikk Høsten i for i = 0, 1, 2, 3, 4, og så er W 4 svaret

UNIVERSITETET. Relasjonsdatabasedesign

INF3170 Forelesning 1

Relasjonsdatabasedesign

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

INF1300 Introduksjon til databaser

UNIVERSITETET I OSLO

Språk for dataorientert modellering

Transkript:

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Underbegreper og underbegrepsskranker Kombinerte totale roller Behandling av tid Informasjonsbærende representasjoner Ringskranker Institutt for informatikk Evgenij Thorstensen 1

Underbegreper Kjernespørsmål: Kan alle tenkelige forekomster av et begrep spille alle roller som er knyttet til begrepet? Hvis nei: Kan få en mer presis modell ved å innføre underbegreper B er et underbegrep av A hvis vi alltid har at pop(b) pop(a) Notasjon: 2

Underbegrepsskranke 3

Underbegreper Underbegreper arver representasjon og roller fra superbegrepet. I tillegg har de sine egne roller Underbegrepsskranker brukes til å bestemme hvilket underbegrep hver enkelt forekomst tilhører Underbegreper kan overlappe eller være disjunkte Underbegrepene kan, men må ikke, være uttømmende mhp. sitt superbegrep Resonnementer over entydighetsskranker, totale roller og underbegrepsskrankene avslører om underbegrepene er overlappende og/eller uttømmende 4

Eksempel på overlappende og ikke-uttømmende underbegreper 5

Underbegreper i flere nivåer Det transitive underbegrepet tegnes ikke inn! 6

Kombinert total rolle A skal ha enten rollen r1 eller rollen r2. pop(r1) pop(r2) = pop(a) for alle tilstander 7

Eksempel på kombinert total rolle og underbegrep 8

Generell kombinert total rolle pop(r1) pop(r2)... pop(rk) = pop(a) 9

Se opp for manglende totale roller Mangel på totale roller kan indikere et underbegrep 10

Spesialisering og generalisering 11

Behandling av tid Versjonering Hva er et tidspunkt Hva skal et tidsstempel reflektere Praktisk versjonsmodellering 12

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 13

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 2007 03 23007 økonomi 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 230 03 08 salg prosjekt ansatt prosj.timer Alfa 120 207 Beta 120 256 Alfa 110 88 Alfa 081 164 Beta 230 113 2007 03 09 t 14

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, å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 15

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

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 17

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 18

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-materialiserte versjoner for de tidsstemplene som ikke har en tilhørende versjon 19

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 204 Beta 120 253 Alfa 110 82 Alfa 081 157 Beta 230 107 ikke-materialisert 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 20

Film- eller lysbildeprinsippet? lysbildeprinsippet filmprinsippet 21

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 ikkematerialiserte versjonene kan utledes 22

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 23

Begrepsdannelse med tidsaksen 24

Eksempel 25

Eksempel: Hvor lenge varer det? 26

Angivelse av opphør 27

Angivelse av varighet 28

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 29

Valg av representasjon Valg av representasjon: entydig bro 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-bro mellom begrep og representasjon 30

Representasjonstyper navn, koder, forkortelser boolske verdier tellbare størrelser tids- og romlige verdier fritekst representasjoner av bilde og lyd 31

Ikke-informasjonsbærende representasjoner Representasjonen til begrepet identifiserer en forekomst av begrepet Det fins ingen innkodet informasjon i representasjonen 32

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 33

Totalt informasjonsbærende representasjoner Representasjonen til begrepet består av en samling elementer der hvert element identifiserer en forekomst av et annet begrep 34

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 35

Representasjon via superbegrep Underbegreper arver alltid representasjonen til sitt superbegrep 36

Representasjon via en-til-en-faktatype Et begrep med en påkrevd rolle i en en-til-enfaktatype til et annet begrep kan identifiseres indirekte gjennom det andre begrepet Eksempel: En hovedstad kan identifiseres med det landet den er hovedstad i 37

Ringskranker 38

Refleksiv skranke x pop(r1) pop(r2) (x,x) pop(r1,r2) 39

Irrefleksiv skranke (x,x) pop(r1,r2) 40

Symmetriskranke (x,y) pop(r1,r2) (y,x) pop(r1,r2) 41

Antisymmetriskranke (x,y) pop(r1,r2) x y (y,x) pop(r1,r2) 42

Asymmetriskranke = antisymmetri + irrefleksivitet 43

Transitiv skranke (x,y) pop(r1,r2) (y,z) pop(r1,r2) (x,z) pop(r1,r2) 44

Intransitiv skranke (x,y) pop(r1,r2) (y,z) pop(r1,r2) (x,z) pop(r1,r2) 45

Asyklisk skranke (x 1,x 2 ) pop(r1,r2)... (x n-1, x n ) pop(r1,r2) (x n, x 1 ) pop(r1,r2) 46

Kombinerte ringskranker asyklisk og intransitiv asymmetrisk og intransitiv symmetrisk og intransitiv symmetrisk og irrefleksiv 47