INF1300 Introduksjon til databaser

Like dokumenter
INF1300 Introduksjon til databaser

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Verdiskranker Mengdeskranker

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

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

Flere skranker i ORM Integritetsregler med «CHECK» i SQL

Informasjonsbærende representasjoner

INF1300 Introduksjon til databaser

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 Behandling av tid Informasjonsbærende representasjoner Ringskranker

Vegard Nossum. 21. oktober 2010

Notater: INF1300. Veronika Heimsbakk 8. januar 2013

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

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

INF1300 Introduksjon til databaser

Forelesning INF1300. Simen Buodd. Plenumstime 8. September 2015

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

Realiseringsalgoritmen fra ORM til relasjoner Intro til mengdeskranker i ORM

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

Språk for dataorientert modellering

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

Dataorientert modellering

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

Skranker og avledninger

INF1300 Introduksjon til databaser

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

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

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

INF1050 Klasseromsoppgave Uke 6

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

Datamodellering med UML (forts.)

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

IN2090 Introduksjon til databaser

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

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

Dataorientert modellering

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

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

Den redundansfri datamodellen

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

Datamodellering med ORM

INF1300 Introduksjon til databaser

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

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

INF Introduksjon til databaser ORM I

INF1300 Introduksjon til databaser

INF1050 Klasseromsoppgave Uke 7

IN2090 Databaser og datamodellering ORM 1

Relasjonsdatabasedesign

Relasjonsdatabasedesign

LO118D Forelesning 5 (DM)

INF1800 LOGIKK OG BEREGNBARHET

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

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

UNIVERSITETET I OSLO

Fra krav til objektdesign

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

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

Parallelle og distribuerte databaser del III

Oppdateringsanomalier Normalformer

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

INF1800 LOGIKK OG BEREGNBARHET

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

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

Objektorientering i ER-modeller EER-modeller Enhanced Entity Relationship Models

Datamodellering med UML

LØSNINGSFORSLAG UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet. Oppgave 1 Mengdelære (10 poeng)

MAT1030 Diskret Matematikk

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

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.

UNIVERSITETET I OSLO

Normalisering. Partielle avhengigheter Transitive avhengigheter Normalformer: 1NF, 2NF, 3NF, BCNF Normaliseringsstegene Denormalisering

Forelesning 29: Kompleksitetsteori

INF2080 Logikk og beregninger

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

Underbegreper. Homogenitetsregelen. Bruk av homogenitetsregelen

Systemutfikling Revisited. Rolf Borgen Guescini, Heidi-Christin Bernhoff-Jacobsen. Fikling for Examen. Studentrapport

The Unified Modeling Language - UML

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

BESLUTNINGER UNDER USIKKERHET

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

INF1300 Introduksjon til databaser

MAT1030 Diskret Matematikk

Kapittel 5: Relasjoner

Relasjonsdatabasedesign

INF3100 Databasesystemer

Retningslinjer for aggregering av risiko. Ketil Stølen

INF3170 Forelesning 1

Spesifikasjon av Lag emne

Transkript:

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Verdiskranker Underbegreper Underbegrepsskranker Mengdeskranker Delmengdeskranker INF1300-10.9.2007 Ellen Munthe-Kaas 1

Verdiskranker INF1300-10.9.2007 Ellen Munthe-Kaas 2

Verdiskranker Begrenser mulige forekomster av et begrep I praksis: Angir en mengde verdier som er lovlige representasjoner f.eks. ved direkte opprams av verdiene, angivelse av en nedre og/eller øvre grense, innebygde kontrollsifre (eks. fødselsnumre) INF1300-10.9.2007 Ellen Munthe-Kaas 3

Populasjoner Populasjon for en rolle: Hvis r er en rolle, betegner pop(r) mengden av forekomster i kolonnen for r i forekomsttabellen Populasjon for et begrep: Begreper har egentlig ikke forekomster løsrevet fra roller, men vi definerer likevel populasjonen til et begrep A som har roller r 1, r 2,..., r n ved pop(a) = pop(r 1 ) pop(r 2 )... pop(r n ) Merk: Populasjonen til en rolle/et begrep varierer med tiden INF1300-10.9.2007 Ellen Munthe-Kaas 4

Populasjoner - eksempel pop(land.vinnerland) = {Tyskland, USA, Østerrike} pop(land.har_deltaker) = {Norge, USA, Frankrike} pop(land) = {Tyskland, USA, Østerrike, Norge, Frankrike} INF1300-10.9.2007 Ellen Munthe-Kaas 5

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-10.9.2007 Ellen Munthe-Kaas 6

Underbegrepsskranke INF1300-10.9.2007 Ellen Munthe-Kaas 7

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, påkrevde roller og underbegrepsskrankene avslører om underbegrepene er overlappende og/eller uttømmende INF1300-10.9.2007 Ellen Munthe-Kaas 8

Eksempel på overlappende og ikke-uttømmende underbegreper INF1300-10.9.2007 Ellen Munthe-Kaas 9

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

Påkrevd rollekombinasjon A skal ha enten rollen r1 eller rollen r2. pop(r1) pop(r2) = pop(a) for alle tilstander INF1300-10.9.2007 Ellen Munthe-Kaas 11

Eksempel på påkrevd rollekombinasjon og underbegrep INF1300-10.9.2007 Ellen Munthe-Kaas 12

Generell påkrevd rollekombinasjon pop(r1) pop(r2)... pop(rk) = pop(a) INF1300-10.9.2007 Ellen Munthe-Kaas 13

Se opp for manglende påkrevde roller Mangel på påkrevde roller kan indikere et underbegrep INF1300-10.9.2007 Ellen Munthe-Kaas 14

Spesialisering og generalisering INF1300-10.9.2007 Ellen Munthe-Kaas 15

Mengdeskranker Mengdeskrankene begrenser mengden av forekomster i en eller flere roller i forhold til forekomstene i andre roller Finnes i følgende varianter: Likhetsskranke Ulikhetsskranke Delmengdeskranke INF1300-10.9.2007 Ellen Munthe-Kaas 16

Mengdelikhetsskranken A skal ha rollen r1 hvis og bare hvis A har rollen r2. pop(r1) = pop(r2) for alle tilstander INF1300-10.9.2007 Ellen Munthe-Kaas 17

Mengdelikhetsskranken, eksempel Konsekvens: Oppdatering av har lønn krever oppdatering av har lønnstrekk og omvendt INF1300-10.9.2007 Ellen Munthe-Kaas 18

Mengdeulikhetsskranken A skal ikke ha både rollen r1 og r2. pop(r1) pop(r2) = for alle tilstander INF1300-10.9.2007 Ellen Munthe-Kaas 19

Mengdeulikhetsskranken, eksempel INF1300-10.9.2007 Ellen Munthe-Kaas 20

Mengdeulikhetsskranken A skal ikke ha både rollen r1 og r2. Det kan være forekomster av A som verken er i r1 eller r2 A skal ha en og bare en av rollene r1 og r2 - samme som INF1300-10.9.2007 Ellen Munthe-Kaas 21

Mengdeulikhetsskranke over to roller Det skal ikke være forekomster av A og B som er relatert gjennom begge assosiasjonene INF1300-10.9.2007 Ellen Munthe-Kaas 22

Mengdeulikhetsskranken, eksempel Sag ikke av en gren når du sitter på en annen gren Sag ikke av en gren som noen sitter på Sag ikke av den grenen du selv sitter på INF1300-10.9.2007 Ellen Munthe-Kaas 23

Den generelle mengdeulikhetsskranken pop(r i ) pop(r j ) = for alle i j (1 i k, 1 j k) INF1300-10.9.2007 Ellen Munthe-Kaas 24

Delmengdeskranken Hvis A har rollen r2, så skal A også ha rollen r1. pop(r2) pop(r1) for alle tilstander INF1300-10.9.2007 Ellen Munthe-Kaas 25

Delmengdeskranken, eksempel INF1300-10.9.2007 Ellen Munthe-Kaas 26

Eksempel fra forrige forelesning På en gitt dag låner en person debitoren - et beløp fra en annen person - kreditoren Oppgave: Hvilken skranke mangler? Hvor skal den plasseres? INF1300-10.9.2007 Ellen Munthe-Kaas 27

<<equal>>? <<unequal>>? <<subset>>???? INF1300-10.9.2007 Ellen Munthe-Kaas 28

Oppgaver Ikke selg skinnet før bjørnen er skutt Kast ikke stein når du sitter i glasshus INF1300-10.9.2007 Ellen Munthe-Kaas 29

Impliserte skranker skal ikke tegnes Implisert likhetsskranke skal ikke tegnes Implisert delmengdeskranke skal ikke tegnes INF1300-10.9.2007 Ellen Munthe-Kaas 30

Impliserte skranker skal ikke tegnes Impliserte delmengdeskranker skal ikke tegnes Implisert ulikhetsskranke skal ikke tegnes INF1300-10.9.2007 Ellen Munthe-Kaas 31

Mengdelikhetsskranke over flere roller er vanligvis ikke lov INF1300-10.9.2007 Ellen Munthe-Kaas 32