Informasjonsbærende representasjoner

Like dokumenter
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

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

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

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

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

INF1300 Introduksjon til databaser

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

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Verdiskranker Mengdeskranker

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

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

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker

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

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

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

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

INF1300 Introduksjon til databaser

Notater: INF1300. Veronika Heimsbakk 8. januar 2013

INF1300 Introduksjon til databaser

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

Vegard Nossum. 21. oktober 2010

INF1300 Introduksjon til databaser

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

INF1300 Introduksjon til databaser

Realiseringsalgoritmen fra ORM til relasjoner Intro til mengdeskranker i ORM

INF1300 Introduksjon til databaser

Relasjonsdatabasedesign

IN2090 Databaser og datamodellering ORM 1

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

Datamodellering med ORM

INF1300 Introduksjon til databaser

UNIVERSITETET. Relasjonsdatabasedesign

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

Relasjonsdatabasedesign

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

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

Relasjonsdatabasedesign

Dataorientert modellering

Relasjonsdatabasedesign

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.) Fra naturlig språk til datamodell. Figur 5-2. Ogdens trekant

INF1300 Introduksjon til databaser

INF4170 Logikk. Forelesning 12: Automatisk bevissøk IV matriser og koblingskalkyle. Bjarne Holen. Institutt for informatikk, Universitetet i Oslo

INF1300 Introduksjon til databaser

INF Introduksjon til databaser ORM I

UNIVERSITETET I OSLO

Dagens tema: Relasjonsmodellen Funksjonelle avhengigheter og nøkler Realisering: Fra ORM til relasjoner

Forelesning INF1300. Simen Buodd. Plenumstime 8. September 2015

INF1300 Introduksjon til databaser

Relasjonsdatabasedesign

IN2090 Introduksjon til databaser

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Dagens plan. INF3170 Logikk. Redundans i LK-utledninger. Bevissøk med koblinger. Forelesning 13: Automatisk bevissøk IV matriser og koblingskalkyle

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

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

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

IN2090 Introduksjon til databaser

Den redundansfri datamodellen

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

Parallelle og distribuerte databaser del III

Forelesning 30: Kompleksitetsteori

Dataorientert modellering

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

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

Relasjonsdatabasedesign

Flere skranker i ORM Integritetsregler med «CHECK» i SQL

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

Datamodellering med UML (forts.)

INF1050 Klasseromsoppgave Uke 7

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

Oppdateringsanomalier Normalformer

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

UNIVERSITETET I OSLO

INF1300 Introduksjon til databaser

Relasjonsdatabasedesign

MAT1030 Diskret Matematikk

Kapittel 5: Mengdelære

INF1300 Introduksjon til databaser

Datamodellering med UML

INF september Relasjonsmodellen funksjonelle avhengigheter og nøkler Realisering: Fra ORM til relasjoner

Forelesning 14: Automatisk bevissøk IV matriser og koblingskalkyle Christian Mahesh Hansen mai 2006

INF1300 Introduksjon til databaser

Relasjonsdatabasedesign

Språk for dataorientert modellering

Forelesning 13: Automatisk bevissøk IV matriser og koblingskalkyle Bjarne Holen - 7. mai 2007

Dagens plan. INF3170 Logikk. Syntaks: Utsagnslogiske formler. Motivasjon

INF1800 LOGIKK OG BEREGNBARHET

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

INF1800 LOGIKK OG BEREGNBARHET

The Unified Modeling Language - UML

Relasjonsdatabasedesign

Transkript:

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Underbegreper Underbegrepsskranker Kombinerte totale roller Ekvivalente stier og joinskranker Behandling av tid Informasjonsbærende representasjoner Institutt for informatikk INF1300 21.09.2009 Ellen Munthe-Kaas 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: INF1300 21.09.2009 Ellen Munthe-Kaas 2

Underbegrepsskranke INF1300 21.09.2009 Ellen Munthe-Kaas 3

Underbegreper Underbegreper arver representasjon og roller fra superbegrepet. I tillegg har de sine egne roller Underbegrepsskranker k 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 INF1300 21.09.2009 Ellen Munthe-Kaas 4

Eksempel på overlappende og ikke-uttømmende underbegreper INF1300 21.09.2009 Ellen Munthe-Kaas 5

Underbegreper i flere nivåer Det transitive underbegrepet tegnes ikke inn! INF1300 21.09.2009 Ellen Munthe-Kaas 6

Kombinert total rolle A skal ha enten rollen r1 eller rollen r2. pop(r1) pop(r2) = pop(a) for alle tilstander Kombinert total rolle i storm: INF1300 21.09.2009 Ellen Munthe-Kaas 7

Eksempel på kombinert total rolle og underbegrep INF1300 21.09.2009 Ellen Munthe-Kaas 8

Generell kombinert total rolle pop(r1) pop(r2)... pop(rk) = pop(a) INF1300 21.09.2009 Ellen Munthe-Kaas 9

Se opp for manglende totale roller Mangel på totale roller kan indikere et underbegrep INF1300 21.09.2009 Ellen Munthe-Kaas 10

Spesialisering og generalisering INF1300 21.09.2009 Ellen Munthe-Kaas 11

Stier Dette er en sti fra A til B INF1300 21.09.2009 Ellen Munthe-Kaas 12

Ekvivalente stier Dersom vi har to stier fra A til B som er slik at hvis vi starter t 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 21.09.2009 Ellen Munthe-Kaas 13

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

Avledbare data - 2 Unødvendig di (avledbar) informasjon? Det kan være mange grunner til å lagre avledbar informasjon INF1300 21.09.2009 Ellen Munthe-Kaas 15

Eksempel på ekvivalente stier INF1300 21.09.2009 Ellen Munthe-Kaas 16

Joinskranker Ekvivalente stier er et viktig eksempel på det vi kaller joinskranker For å håndheve disse skrankene kan det være nødvendig å foreta en join mellom tabeller Alle mengdeskranker kan opptre som joinskranker Ekvivalente stier er en joinlikhetsskranke INF1300 21.09.2009 Ellen Munthe-Kaas 17

Avanserte skranker Alle skranker vi ikke har grafiske symboler for, kalles avanserte skranker Disse skrives på ORM-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. lysarket Avledbare data 2 ORM 2 har et eget språk for avanserte skranker INF1300 21.09.2009 Ellen Munthe-Kaas 18

Behandling av tid Versjonering Hva er et tidspunkt Hva skal et tidsstempel t reflektere Praktisk versjonsmodellering INF1300 21.09.2009 Ellen Munthe-Kaas 19

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 21.09.2009 Ellen Munthe-Kaas 20

Versjoner med tidsstempel ansatt avdeling 120 salg 110 salg 081 produksjon 230 økonomi ansatt avdeling 2007 03 07 120 salg prosjekt ansatt prosj.timer 110 salg Alfa 120 207 081 produksjon 230 økonomi Beta 120 250 Alfa 110 81 prosjekt ansatt prosj.timer Alfa 120 200 Beta 120 250 Alfa 110 75 Alfa 081 150 Beta 230 100 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 INF1300 21.09.2009 Ellen Munthe-Kaas 21

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, feks f.eks. år+måned måned, år+ukenummer ukenummer, år+mnd+dag dag, år+mnd+dag+time+minutt hva som er «samtidig» Hendelser innen samme tidsintervall i t 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 21.09.2009 Ellen Munthe-Kaas 22

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 INF1300 21.09.2009 Ellen Munthe-Kaas 23

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 21.09.2009 Ellen Munthe-Kaas 24

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 21.09.2009 Ellen Munthe-Kaas 25

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 INF1300 21.09.2009 Ellen Munthe-Kaas 26

Tidsmessig kontinuitet ansatt avdeling 120 salg 110 salg 081 produksjon ansatt avdeling 230 økonomi 2007 03 07 120 salg prosjekt ansatt prosj.timer 110 salg Alfa 120 203 081 produksjon Beta 120 253 230 økonomi Alfa 110 81 prosjekt ansatt prosj.timer Alfa 120 200 Beta 120 250 Alfa 110 75 Alfa 081 150 Beta 230 100 Alfa 081 157 Beta 230 106 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 INF1300 21.09.2009 Ellen Munthe-Kaas 27

Film- eller lysbildeprinsippet? lysbildeprinsippet filmprinsippet INF1300 21.09.2009 Ellen Munthe-Kaas 28

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

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 21.09.2009 Ellen Munthe-Kaas 30

Begrepsdannelse med tidsaksen INF1300 21.09.2009 Ellen Munthe-Kaas 31

Eksempel INF1300 21.09.2009 Ellen Munthe-Kaas 32

Eksempel: Hvor lenge varer det? INF1300 21.09.2009 Ellen Munthe-Kaas 33

Angivelse av opphør INF1300 21.09.2009 Ellen Munthe-Kaas 34

Angivelse av varighet INF1300 21.09.2009 Ellen Munthe-Kaas 35

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 21.09.2009 Ellen Munthe-Kaas 36

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 INF1300 21.09.2009 Ellen Munthe-Kaas 37

Representasjonstyper navn, koder, forkortelser boolske verdier tellbare størrelser tids- og romlige verdier fritekst representasjoner av bilde og lyd INF1300 21.09.2009 Ellen Munthe-Kaas 38

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

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 21.09.2009 Ellen Munthe-Kaas 40

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

Synliggjøring g 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 21.09.2009 Ellen Munthe-Kaas 42

Representasjon via superbegrep Underbegreper arver alltid representasjonen til sitt superbegrep INF1300 21.09.2009 Ellen Munthe-Kaas 43

Representasjon via en-til-en-faktatype Et begrep med en påkrevd rolle i en en-til-en- faktatype til et annet begrep kan identifiseres indirekte gjennom det andre begrepet Eksempel: En hovedstad kan identifiseres med det landet den er hovedstad i INF1300 21.09.2009 Ellen Munthe-Kaas 44

Referansebegreper Et begrep som ikke spiller noen andre grupperer- roller enn de som inngår i den prefererte referansen, og som spiller minst en referanserolle, kalles et referansebegrep Tabeller som kommer fra referansebegreper, kan fjernes (undertrykkes) fra relasjonsdatabaseskjemaet Alle begrepene nedenfor er referansebegreper INF1300 21.09.2009 Ellen Munthe-Kaas 45