Relasjonsdatabasedesign

Like dokumenter
Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign (forts.)

Relasjonsdatabasedesign (forts.)

Hva kjennetegner god relasjonsdatabasedesign? Eksempel: Grossistdatabase versjon 1

Relasjonsdatabasedesign

Relasjonsdatabasedesign. Ekstramateriale: Normalformer utover 4NF (ikke pensum)

Normalformer utover 4NF (ikke pensum)

Relasjonsdatabasedesign

Relasjonsdatabasedesign

UNIVERSITETET. Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

UNIVERSITETET I OSLO. Oppskriftsbok. FDer og MVDer Relasjonsalgebra. Institutt for Informatikk. INF3100 Ellen Munthe-Kaas 1

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Oppskriftsbok. FDer og MVDer - oversikt: se s. 3 Relasjonsalgebra - oversikt: se s. 45

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Oppdateringsanomalier Normalformer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

Relasjonsdatabasedesign

Dagens tema: Oppdateringsanomalier Normalformer

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Oppdateringsanomalier. Normalformer. Institutt for informatikk INF

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

Relasjonsdatabasedesign

Relasjonsdatabasedesign, ekstramateriale (ikke pensum)

Normalformer or Normalisering 1NF, 2NF, 3NF, BCNF

Relasjonsdatabaseteori

IN2090 Databaser og datamodellering. Databasedesign og normalformer

INF3100 Databasesystemer

God Databasedesign: På vei mot Normalformer

Oppgaver INF3100. Oversikt over innholdet

INF3100 Databasesystemer

UNIVERSITETET. Relasjonsalgebra. INF Ragnhild Kobro Runde

INF1300 Introduksjon til databaser

Universitetet i Oslo Institutt for informatikk. Relasjonsmodellen og normaliseringsteori. Til bruk i IN 212. Ragnar Normann.

Plenum: Nøkler, normalformer og funksjonelle avhengigheter

Oppgaver INF3100. Oversikt over innholdet

IN2090 Introduksjon til databaser

INF212 - Databaseteori. Kursinnhold

UNIVERSITETET I OSLO

Det matematisk-naturvitenskapelige fakultet. Kontroller at oppgavesettet er komplett før du begynner å besvare det.

UNIVERSITETET I OSLO

For alle ikke-trivielle FDer X A i R: eller A er et nøkkelattributt i R eller X K for noen kandidatnøkkel K i R

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk. INF Ellen Munthe-Kaas 1

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk. INF Ragnar Normann

Relasjonsalgebraen. Algebra

UNIVERSITETET RELASJONSALGEBRA. Regning g med relasjoner. Institutt for Informatikk. INF Ellen Munthe-Kaas 1

INF3100 V2015 Obligatorisk oppgave nr. 1

Det matematisk-naturvitenskapelige fakultet. Kontroller at oppgavesettet er komplett før du begynner å besvare det

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

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk INF Ellen Munthe-Kaas

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk INF Ellen Munthe-Kaas

INF1300 Introduksjon til databaser

INF3100 V2018 Obligatorisk oppgave nr. 1

Normalisering. Hva er normalisering?

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

Normalisering. Hva er normalisering?

Relasjonsmodellen og normaliseringsteori

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk. INF Ellen Munthe-Kaas

UNIVERSITETET I OSLO

INF1300 Introduksjon til databaser

UNIVERSITETET I OSLO

Normalisering. Hva er normalisering?

UNIVERSITETET I OSLO

INF3100 V2016 Obligatorisk oppgave nr. 1

Sekventkalkyle for utsagnslogikk

INF1300 Introduksjon til databaser

1. Normalisering Kommentarer til læreboka

UNIVERSITETET I OSLO

Spørsmålskompilering del 1

Mengdelære INF1800 LOGIKK OG BEREGNBARHET FORELESNING 2: MENGDELÆRE. Læreboken. Mengder. Definisjon (Mengde) Roger Antonsen

INF1800 LOGIKK OG BEREGNBARHET

Spørsmålskompilering del 1

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

Repetisjon: Normalformer og SQL

Systemfeil og logging

Aksiom 3.1 (Likhet av mengder). La A og B være mengder. Da er A og B like hvis og bare hvis de har akkurat de samme elementene.

UNIVERSITETET I OSLO

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

Det matematisk-naturvitenskapelige fakultet

Løsningsforslag maskindatabasen på Ifi SQL og normalisering

Databaser: Relasjonsmodellen, del I

Databaser. - Normalisering -

INF3170 Logikk. Forelesning 3: Utsagnslogikk, semantikk, sekventkalkyle. Roger Antonsen. Institutt for informatikk, Universitetet i Oslo

Tillegg til kapittel 11: Mer om relasjoner

UNIVERSITETET I OSLO

MAT1140: Partielle ordninger, Zorns lemma og utvalgsaksiomet

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker

SQL Structured Query Language. Definere tabeller Skranker Fylle tabeller med data

INF1800 LOGIKK OG BEREGNBARHET

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

Transkript:

UNIVERSITETET I OSLO Relasjonsdatabasedesign Flerverdiavhengigheter Høyere normalformer Institutt for Informatikk INF3100-27.1.2015 Ellen Munthe-Kaas 1

Flerverdiavhengigheter Flerverdiavhengigheter brukes for å uttrykke andre integritetsregler enn de som kan uttrykkes ved FDer INF3100-27.1.2015 Ellen Munthe-Kaas 2

Eksempel: Emnedatabase Emne(kode, lærebok, foreleser) Integritetsregler: Et emne har et sett av lærebøker Et emne kan ha flere forelesere Det er ingen sammenheng mellom forelesere og lærebøker Den siste regelen kan ikke uttrykkes med FDer INF3100-27.1.2015 Ellen Munthe-Kaas 3

Eksempelinstans Emne kode lærebok foreleser INF1000 Java Arne INF1000 Samfunn Siri INF1050 SE Dag INF1050 Agile Yngve INF1050 RR Bente Emne kode lærebok foreleser INF1000 Java Arne INF1000 Java Siri INF1000 Samfunn Arne INF1000 Samfunn Siri INF1050 SE Dag INF1050 Agile Yngve INF1050 RR Bente INF1050 SE Dag INF1050 Agile Yngve INF1050 RR Bente INF1050 SE Dag INF1050 Agile Yngve INF1050 RR Bente INF3100-27.1.2015 Ellen Munthe-Kaas 4

Orm og MVDer I Emne (kode) har pensum/er pensum i foreleses av/foreleser i Dette ORM-diagrammet ivaretar integritetsreglene i emneeksempelet Hvis vi (feilaktig) grupperer faktatypene i én tabell, får vi Emne(kode, lærebok, foreleser) Hvis denne tabellen skal ha samme egenskaper som det ORMdiagrammet uttrykker, er det ikke nok å si at (kode, lærebok, foreleser) er primærnøkkel, da får vi ikke utelukket instanser som den til høyre Lærebok (ISBN) Foreleser (navn) Emne kode lærebok foreleser INF1000 Java Arne INF1000 Samfunn Siri INF1050 SE Dag INF1050 Agile Yngve INF1050 RR Bente INF3100-27.1.2015 Ellen Munthe-Kaas 5

UML og MVDer INF3100-27.1.2015 Ellen Munthe-Kaas 6

Definisjon flerverdiavhengighet Gitt en relasjon R(A 1,A 2,,A n ) La X, Y være delmengder av {A 1,A 2,,A n } La Z være de attributtene som hverken er med i X eller Y Y er flerverdiavhengig av X hvis vi for enhver lovlig instans av R har at hvis instansen inneholder to tupler t 1 og t 2 hvor t 1 [X]=t 2 [X], så finnes det også to tupler u 1 og u 2 hvor 1) u 1 [X]=u 2 [X]=t 1 [X]=t 2 [X] 2) u 1 [Y]=t 1 [Y], u 2 [Y]=t 2 [Y] 3) u 1 [Z]=t 2 [Z], u 2 [Z]=t 1 [Z] INF3100-27.1.2015 Ellen Munthe-Kaas 7

Definisjon på norsk Y er flerverdiavhengig av X hvis vi for alle lovlige instanser av R har at hvis instansen inneholder to tupler t 1 og t 2 som er like på X, så må den også inneholde to tupler u 1 og u 2 hvor 1) u 1 er lik t 1 på X og Y og lik t 2 utenfor Y 2) u 2 er lik t 2 på X og Y og lik t 1 utenfor Y INF3100-27.1.2015 Ellen Munthe-Kaas 8

MVD Vi skriver X Y (pil med dobbelt hode) hvis Y er flerverdiavhengig av X Ofte snakker vi for korthets skyld om MVDen X Y der MVD står for Multi-Valued Dependency Hvis Y X, så X Y Bevis: La t 1 og t 2 være to tupler som er like på X. Velg u 1 =t 2 og u 2 =t 1. Da er u 1 =t 1 på X og Y og u 1 =t 2 utenfor Y, mens u 2 =t 2 på X og Y og u 2 =t 1 utenfor Y. Det er definisjonen på at X Y. INF3100-27.1.2015 Ellen Munthe-Kaas 9

Trivielle MVDer Hvis XY er samtlige attributter i R, så X Y Bevis: La t 1 og t 2 være to tupler som er like på X. Velg u 1 =t 1 og u 2 =t 2. Da er u 1 =t 1 på X og Y og u 1 =t 2 utenfor Y, mens u 2 =t 2 på X og Y og u 2 =t 1 utenfor Y. Det er definisjonen på at X Y. Definisjon av trivielle MVDer: X Y kalles triviell hvis og bare hvis vi enten har at Y X eller at XY er samtlige attributter i R INF3100-27.1.2015 Ellen Munthe-Kaas 10

Ekte MVDer Hvis X Y, så X Y (Bevis finnes i ekstramaterialet) La Z være de attributtene som ikke er i XY. En ikketriviell X Y hvor vi ikke har X Y og ikke X Z, kalles en ekte MVD INF3100-27.1.2015 Ellen Munthe-Kaas 11

Orm og MVDer II Emne (kode) har pensum/er pensum i foreleses av/foreleser i Lærebok (ISBN) Foreleser (navn) emne(kode, lærebok, foreleser) kode, lærebok, foreleser Ø 1 kode lærebok, kode foreleser 1 Triviell FD. Venstreside med samtlige attributter og høyreside uten attributter (den tomme mengden) uttrykker at samtlige attributter utgjør en kandidatnøkkel. (Så regelen er overflødig.) INF3100-27.1.2015 Ellen Munthe-Kaas 12

Når har vi MVDer MVDer benyttes til å uttrykke integritetsregler: kode lærebok, kode foreleser Ekte MVDer opptrer hovedsakelig hvis man plasserer to mange-til-mange-forhold i samme relasjon og de to forholdene ikke har avhengigheter seg imellom, f.eks.: Ansvarsforhold(person, hus, barn) når det burde ha vært to relasjoner Eierskap(person, hus) Forsørger(person, barn) Regler: person hus, person barn INF3100-27.1.2015 Ellen Munthe-Kaas 13

Når har vi MVDer II Det er ikke alltid opplagt at en integritetsregel i virkeligheten skjuler et mange-til-mange-forhold: Ølhandel(bryggeri, øltype, pub) Relasjonen beskriver hvilke øltyper et bryggeri tilbyr hver enkelt pub å kjøpe fra bryggeriet. Regel: Hvis et bryggeri lager en type øl, og en pub handler med bryggeriet, så skal bryggeriet tilby puben denne øltypen. Regelen kan formuleres som (en av) MVDene bryggeri øltype, bryggeri pub INF3100-27.1.2015 Ellen Munthe-Kaas 14

Høyere normalformer, oversikt 1NF BCNF 4NF ETNF RFNF = KCNF SKNF 5NF = PJNF INF3100-27.1.2015 Ellen Munthe-Kaas 15

Utgangspunkt for normalformen 4NF Alle integritetsregler er i form av FDer og MVDer (i tillegg kan det være domeneskranker og fremmednøkler) INF3100-27.1.2015 Ellen Munthe-Kaas 16

Fjerde normalform Definisjon 4NF (Fagin 1977): En relasjon R er på fjerde normalform hvis alle ikketrivielle MVDer X Y tilfredsstiller følgende: i. X er en supernøkkel i R INF3100-27.1.2015 Ellen Munthe-Kaas 17

Egenskaper ved 4NF Når R er på 4NF, er det ingen ekte MVDer, og alle ikketrivielle FDer oppfyller BCNF 4NF BCNF For å bevise dette må vi vise at hvis R er 4NF og X Y er en ikketriviell FD i R, så er X en supernøkkel (beviset følger på neste lysark) Når er en relasjon BCNF, men ikke 4NF? Svar: Når alle ikketrivielle FDer X Y er slik at X er en supernøkkel, samtidig som det finnes en ekte MVD Z W. Så MVDen Z W medfører at det er en begrensning på mengden av lovlige instanser utover det FDene angir. Eks: R(ABCDE), A BC, BCD AE INF3100-27.1.2015 Ellen Munthe-Kaas 18

Bevis for at 4NF BCNF Anta at R er 4NF og at vi har en ikketriviell FD X Y i R Siden FDer er MVDer, har vi at X Y Hvis denne MVDen er ikketriviell, er X en supernøkkel (fordi R er 4NF) Hvis MVDen er triviell, er R = XY, så X er en supernøkkel da også Altså er R på BCNF INF3100-27.1.2015 Ellen Munthe-Kaas 19

Normalformene EKNF-BCNF-4NF alle integritetsregler er i form av FDer 1NF EKNF BCNF alle integritetsregler er i form av FDer og ekte MVDer 4NF INF3100-27.1.2015 Ellen Munthe-Kaas 20

Emne kode lærebok foreleser INF1000 Java Arne INF1000 Java Siri INF1000 Samfunn Arne INF1000 Samfunn Siri INF1050 SE Dag INF1050 Agile Yngve INF1050 RR Bente INF1050 SE Dag INF1050 Agile Yngve INF1050 RR Bente INF1050 SE Dag INF1050 Agile Yngve INF1050 RR Bente Eksempel på brudd på 4NF Emne har ingen ikke-trivielle FDer (så den er på BCNF) Emne har ekte MVDer kode lærebok og kode foreleser (så den bryter 4NF) Emne kan og bør dekomponeres slik: kode INF1000 INF1000 INF1050 INF1050 INF1050 Lærebok lærebok Java Samfunn SE Agile RR kode INF1000 INF1000 INF1050 INF1050 INF1050 Foreleser foreleser Arne Siri Dag Yngve Bente INF3100-27.1.2015 Ellen Munthe-Kaas 21

Chasealgoritmen utvidet for MVDer Gitt en dekomposisjon av R(A,B,...) til relasjonene S 1,..., S k og et sett F med FDer og et sett M med MVDer for R. Er dekomposisjonen tapsfri? 1. Lag en tabell med en kolonne for hvert attributt i R og en rad for hver S i 2. I kolonnen for attributt A, for hver rad i: Skriv a hvis A er et attributt i S i Skriv a i hvis A ikke er et attributt i S i 3. Så lenge det skjer forandringer i tabellen og det ikke finnes en rad uten subskriptverdier: For hver FD X Y, for alle rader i tabellen med lik X-verdi, gjør Y- verdiene like. Hvis en av Y-ene er en verdi uten subskript, skal denne velges. For hver MVD X Y, for alle par av rader med lik X-verdi, lag to nye rader der Y-verdiene er byttet om. Hvis en rad er uten subskriptverdier, er dekomposisjonen tapsfri, ellers ikke. INF3100-27.1.2015 Ellen Munthe-Kaas 22

Annen bruk av chasealgoritmen For å vise en FD X Y, start med to rader i tabellen: Rad 1: I kolonnen for attributt A, skriv a Rad 2: I kolonnen for attributt A, skriv a hvis A er et attributt i X, og skriv a 2 ellers. Målet er å komme frem til en instans der Y-attributtene i rad 2 er uten subskripter. For å vise en MVD X Y, start tabellen med to rader der den ene raden har verdier uten subskript for attributtene i X og Y, mens den andre raden har verdier uten subskript for attributtene i X og Z, der Z er resten av attributtene i tabellen. Målet er å komme frem til en instans der en av radene er uten subskriptverdier. INF3100-27.1.2015 Ellen Munthe-Kaas 23

Annen bruk av chasealgoritmen: Eksempel Gitt R(A,B,C,D) med A B og B C. Vis A C. (Instans av slutningsregel 6 transitivitet.) Start chase med tabellen A B C D a b 1 c d 1 a b c 2 d INF3100-27.1.2015 Ellen Munthe-Kaas 24

Tapsfri dekomposisjon Gitt en relasjon R med en mengde FDer F og en mengde MVDer M. Dekomponer i henhold til enten punkt 1 eller punkt 2 inntil det ikke lenger er noen brudd på BCNF og ikke lenger noen ekte MVDer i noen av relasjonene: 1. Hvis X A er et brudd på BCNF i R: La Y være størst mulig slik at X Y. La Z være de attributtene i R som ikke er i XY. Dekomponer R til S(XY) og T(XZ). 2. Hvis X Y er en ekte MVD i R: La Z være de attributtene i R som ikke er i XY. Dekomponer R til S(XY) og T(XZ). Bruk chasealgoritmen på en tabell med to rader der den første raden er fullstendig uten subscripts, og den andre er uten subscripts i X, men med subscripts i resten av attributtene. De av attributtene i andre rad som er uten subscripts når chasealgoritmen avslutter, er med i Y. Resten er i Z. INF3100-27.1.2015 Ellen Munthe-Kaas 25

Hvordan finne alle kandidatnøkler i nærvær av MVDer I Gitt en relasjon R med en mengde FDer F og en mengde MVDer M. La W være samtlige attributter i R. Da er X en kandidatnøkkel i R hvis og bare hvis begge følgende punkter holder: (a) X W følger fra F og M. (b) Uansett valg av en A i X er det ikke slik at (X-A) W følger fra F og M. Vi finner kandidatnøklene ved systematisk å bygge alle mulige attributtmengder X (bottom-up) og undersøke for hver om X W oppfyller kriteriene (a) og (b). Til dette brukes chasealgoritmen. INF3100-27.1.2015 Ellen Munthe-Kaas 26

Hvordan finne alle kandidatnøkler i nærvær av MVDer II For å begrense hvor mange X-er vi må anvende chasealgoritmen på, bruker vi følgende observasjoner: 1. Hvis et attributt A ikke forekommer i noen høyreside i F, må A være med i alle kandidatnøklene. 2. Hvis et attributt A er med i minst én høyreside i F, men ingen venstresider i F eller M, er A ikke med i noen av kandidatnøklene. INF3100-27.1.2015 Ellen Munthe-Kaas 27

Hvordan finne alle kandidatnøkler i nærvær av MVDer III Algoritme for å finne alle kandidatnøkler. 1. Sett X lik mengden av attributter som ikke forekommer i noen høyreside i F. 2. Utvid systematisk X på alle mulige måter med attributter som forekommer i minst én venstreside i F eller M. For hver slik X, undersøk med chasealgoritmen om X W (der W er samtlige attributter). Stans utvidelsen av en X hvis X W holder, dvs. X oppfyller kriterium (a). Hvis X også oppfyller kriterium (b), er X en kandidatnøkkel. INF3100-27.1.2015 Ellen Munthe-Kaas 28

Oppsummering normalformer I Hvis en relasjon inneholder ekte MVDer, skal den alltid dekomponeres for å bli kvitt disse Dette gjelder også selv om det ikke er mulig å finne en dekomposisjon som er FD-bevarende Grunnen er at ekte MVDer innen en relasjon gir eksplosjon i plassbehovet INF3100-27.1.2015 Ellen Munthe-Kaas 29

Oppsummering normalformer II Hvis en relasjon ikke inneholder ekte MVDer (dvs. integritetsreglene kan uttrykkes ved bare FDer) og noen av FDene bryter BCNF, skal vi vurdere å dekomponere. Graden av dekomposisjon må balanseres mot behovet for joinoperasjoner siden joinoperasjoner er så ressurskrevende. Hva som er best, kommer an på om det finnes en dekomposisjon som er FD-bevarende eller ikke frekvensen av lese- kontra skriveoperasjoner: Skriveoperasjoner som involverer sjekk av FDer som går på tvers av relasjoner, krever joinoperasjoner hva slags queries som kan forekomme, og frekvensen av forskjellige typer queries: Leseoperasjoner som involverer flere relasjoner, krever joinoperasjoner INF3100-27.1.2015 Ellen Munthe-Kaas 30

Ekstramateriale INF3100-27.1.2015 Ellen Munthe-Kaas 31

Armstrongs slutningsregler utvidet til MVDer 1. Refleksivitet FD: Hvis Y X, så X Y 2. Utvidelse FD: Hvis X Y, så XZ YZ 3. Transitivitet FD: Hvis X Y og Y Z, så X Z 4. Komplement MVD: Hvis Z er de attributtene som XY ikke omfatter, og X Y, så X Z. 5. Utvidelse MVD: Hvis X Y og Z W, så XW YZ 6. Transitivitet MVD: Hvis X Y og Y Z, så X Z Y 7. FDer er MVDer: Hvis X Y så X Y 8. Sammensmeltning: Hvis X Y, W Z, W Y= og Z Y, så X Z Regelsettet er sunt og komplett for MVDer og FDer INF3100-27.1.2015 Ellen Munthe-Kaas 32

Bevis for slutningsregel 7 Hvis X Y, så X Y Bevis: Anta at t 1 [X] = t 2 [X] Siden X Y, er t 1 [Y] = t 2 [Y] Velg u 1 = t 2 og u 2 = t 1 Da er u 1 lik t 1 på X og Y og lik t 2 utenfor Y, mens u 2 er lik t 2 på X og Y og lik t 1 utenfor Y Men da har vi pr. def. en MVD X Y INF3100-27.1.2015 Ellen Munthe-Kaas 33

Bevis for slutningsregel 8 Hvis X Y, W Z, W Y= og Z Y, så X Z Bevis: Anta at t 1 [X] = t 2 [X] Siden X Y, finnes u 1 og u 2 der u 1 er lik t 1 på X og Y og lik t 2 utenfor Y, og u 2 er lik t 2 på X og Y og lik t 1 utenfor Y Spesielt er t 1 [W] = u 2 [W], og siden W Z, er t 1 [Z] = u 2 [Z] = t 2 [Z] (den siste fordi Z Y) Altså har vi en FD X Z INF3100-27.1.2015 Ellen Munthe-Kaas 34

Alternative regelsett 1. Refleksivitet FD: Hvis Y X, så X Y 2. En av følgende: Ekstensjon FD: Hvis X Y, så X XY Union FD: Hvis X Y og X Z, så X YZ 3. Transitivitet FD: Hvis X Y og Y Z, så X Z 4. R-aksiom: R (der R er samtlige attributter) 5. En av følgende: Union MVD: Hvis X Y og X Z, så X YZ Snitt MVD: Hvis X Y og X Z, så X Y Z Differanse MVD: Hvis X Y og X Z, så X Z Y 6. Pseudotransitivitet MVD og MVD: Hvis X Y og Y Z, så X Z Y 7. FDer er MVDer: Hvis X Y, så X Y 8. Pseudotransitivitet MVD og FD: Hvis X Y og Y Z, så X Z Y Regelsettene er sunne og komplette for MVDer og FDer. INF3100-27.1.2015 Ellen Munthe-Kaas 35