Relasjonsdatabasedesign

Like dokumenter
Relasjonsdatabasedesign (forts.)

Relasjonsdatabasedesign (forts.)

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

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

Normalformer utover 4NF (ikke pensum)

Relasjonsdatabasedesign

Hva kjennetegner god relasjonsdatabasedesign? Eksempel: Grossistdatabase versjon 1

UNIVERSITETET. Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

INF1300 Introduksjon til databaser

Relasjonsdatabasedesign, ekstramateriale (ikke pensum)

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

Oppdateringsanomalier Normalformer

INF1300 Introduksjon til databaser

INF3100 Databasesystemer

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

Relasjonsdatabasedesign

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

Dagens tema: Oppdateringsanomalier Normalformer

Oppdateringsanomalier. Normalformer. Institutt for informatikk INF

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

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

INF1300 Introduksjon til databaser

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

UNIVERSITETET. Relasjonsalgebra. INF Ragnhild Kobro Runde

IN2090 Introduksjon til databaser

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

INF212 - Databaseteori. Kursinnhold

Plenum: Nøkler, normalformer og funksjonelle avhengigheter

UNIVERSITETET I OSLO

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

INF1300 Introduksjon til databaser

Relasjonsmodellen og normaliseringsteori

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

Oppgaver INF3100. Oversikt over innholdet

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

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

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

INF3100 V2015 Obligatorisk oppgave nr. 1

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

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

Relasjonsalgebraen. Algebra

UNIVERSITETET I OSLO

Normalisering. Hva er normalisering?

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

INF3100 V2016 Obligatorisk oppgave nr. 1

INF3100 V2018 Obligatorisk oppgave nr. 1

1. Normalisering Kommentarer til læreboka

Normalisering. Hva er normalisering?

Normalisering. Hva er normalisering?

UNIVERSITETET I OSLO

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

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

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

Repetisjon: Normalformer og SQL

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

INF1300 Introduksjon til databaser

MAT1030 Diskret Matematikk

Kapittel 5: Mengdelære

Databaser. - Normalisering -

Spørsmålskompilering del 1

INF1300 Introduksjon til databaser

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

Det matematisk-naturvitenskapelige fakultet

UNIVERSITETET I OSLO

Spørsmålskompilering del 1

Løsningsforslag til eksamen i IN2090 Databaser og datamodellering og INF1300 Introduksjon til databaser 6. desember :30 18:30 (4 timer)

INF1800 LOGIKK OG BEREGNBARHET

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

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

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

INF1300 Introduksjon til databaser

Informasjonsbærende representasjoner

Databaser fra et logikkperspektiv del 2

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Verdiskranker Mengdeskranker

Utvalgsaksiomet, velordningsprinsippet og Zorns lemma

MAT1030 Diskret Matematikk

Dagens plan. INF3170 Logikk. Semantikk for sekventer. Definisjon (Motmodell/falsifiserbar sekvent) Definisjon (Gyldig sekvent) Eksempel.

Transkript:

UNIVERSITETET IOSLO Relasjonsdatabasedesign Flerverdiavhengigheter Høyere normalformer Institutt for Informatikk INF3100-1.2.2011 Ellen Munthe-Kaas 1

Flerverdiavhengigheter Generalisering av FDer Flerverdiavhengigheter gg gir opphav til en større klasse integritetsregler enn de som kan uttrykkes ved bare FDer INF3100-1.2.2011 Ellen Munthe-Kaas 2

Eksempel: Øldatabase Utvalg(pub, øltype, bryggeri) Hver pub har et utvalg av øl. Et øl er kjennetegnet ved øltype og hvilket bryggeri som produserer det Flere bryggerier kan produsere den samme øltypen En pub som handler med et bryggeri, får ikke selge en øltype produsert av et annet bryggeri uten at puben også tilbyr denne øltypen fra førstnevnte bryggeri INF3100-1.2.2011 Ellen Munthe-Kaas 3

Eksempelekstensjon Utvalg Utvalg pub øltype bryggeri pub øltype bryggeri Andy s Andy s Juleøl Bokkøl Lager Bokkøl Fatøl Aass Mack Ringnes Gran Aass Andy s Andy s Andy s Andy s Juleøl Juleøl Bokkøl Bokkøl Lager Lager Lager Bokkøl Bokkøl Bokkøl Fatøl Fatøl Fatøl Aass Mack Aass Mack Ringnes Gran Aass Ringnes Gran Aass Ringnes Gran Aass INF3100-1.2.2011 Ellen Munthe-Kaas 4

Definisjon flerverdiavhengighet Gitt et relasjonsskjema 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å fins 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-1.2.2011 Ellen Munthe-Kaas 5

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

MVD Vi skriver X Y 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-1.2.2011 Ellen Munthe-Kaas 7

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-1.2.2011 Ellen Munthe-Kaas 8

Ekte MVDer Hvis X Y, så X Y (Bevis følger senere) En ikketriviell X YhvorX Y ikke holder, kalles en ekte MVD INF3100-1.2.2011 Ellen Munthe-Kaas 9

Når har vi MVDer MVDer benyttes til å uttrykke integritetsregler: pub øltype, pub bryggeri MVDer opptrer hvis man plasserer to m:n-forhold (m 1) i samme relasjon, og de to forholdene ikke har avhengigheter gg seg imellom INF3100-1.2.2011 Ellen Munthe-Kaas 10

Armstrongs slutningsregler utvidet til MVDer (for spesielt interesserte) 1. Refleksivitet FD: Hvis Y X, så X Y 2. Utvidelse FD: Hvis X Y, så XZ YZ 3. Transitivitet t FD: Hvis X Y og Y Z, så X Z 4. Komplement: 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-1.2.2011 Ellen Munthe-Kaas 11

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-1.2.2011 Ellen Munthe-Kaas 12

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-1.2.2011 Ellen Munthe-Kaas 13

Høyere normalformer, oversikt 1NF BCNF 4NF 5NF PJNF og DKNF INF3100-1.2.2011 Ellen Munthe-Kaas 14

Utgangspunkt for normalformen 4NF Alle integritetsregler er i form av FDer og MVDer (foruten domeneskranker og fremmednøkler) INF3100-1.2.2011 Ellen Munthe-Kaas 15

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-1.2.2011 Ellen Munthe-Kaas 16

Egenskaper ved 4NF Når R er på 4NF, er det ingen ekte MVDer 4NF BCNF For å bevise det 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 fins en ekte MVD Z W INF3100-1.2.2011 Ellen Munthe-Kaas 17

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-1.2.2011 Ellen Munthe-Kaas 18

Utvalg Eksempel på brudd på 4NF pub øltype bryggeri Andy s Andy s Andy s Andy s Juleøl Juleøl Bokkøl Bokkøl Lager Lager Lager Bokkøl Bokkøl Bokkøl Fatøl Fatøl Fatøl Aass Mack Aass Mack Ringnes Gran Aass Ringnes Gran Aass Ringnes Gran Aass Utvalg har ingen ikke-trivielle FDer Utvalg har ekte MVDer pub øltype og pub bryggeri Utvalg kan dekomponeres slik: Tilgjengelig øltype pub Andy s Andy s øltype Juleøl Bokkøl Lager Bokkøl Fatøl Tilgjengelig bryggeri pub Andy s Andy s bryggeri Aass Mack Ringnes Gran Aass INF3100-1.2.2011 Ellen Munthe-Kaas 19

Tapsfri dekomposisjon til 4NF Gitt en relasjon R med et sett MVDer M. 1. Hvis X Y er et brudd på 4NF: Dekomponer R i R 1 og R 2 der R 1 er lik XY og R 2 er lik X samt alle attributtene i R som ikke er i Y. 2. Fortsett på samme måte med R 1 og R 2 inntil alle relasjonene i dekomposisjonen tilfredsstiller 4NF. INF3100-1.2.2011 Ellen Munthe-Kaas 20

Chasealgoritmen utvidet for MVDer Gitt en dekomposisjon av R(A,B,...) til relasjonsskjemaene 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 fins en rad uten subskript-verdier: 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 R, for alle par av rader med lik X-verdi, lag to nye rader der Y-verdiene er byttet om. 4.Hvis en rad er uten subskript-verdier, er dekomposisjonen tapsfri, ellers ikke. INF3100-1.2.2011 Ellen Munthe-Kaas 21

Annen bruk av Chasealgoritmen For å vise en FD X Y starter tabellen med to rader som er like for attributtene i X, og ulike for de resterende attributtene. Målet er at de to radene skal bli like også for attributtene i Y. For å vise en MVD X Y starter 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 rad uten subskript-verdier. INF3100-1.2.2011 Ellen Munthe-Kaas 22

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.) INF3100-1.2.2011 Ellen Munthe-Kaas 23

Ekstramateriale: t ORM og MVDer Normalformer utover 4NF (kursorisk pensum) INF3100-1.2.2011 Ellen Munthe-Kaas 24

Orm og MVDer Dette ORM-diagrammet ivaretar integritetsreglene i øleksempelet Hvis vi (feilaktig) grupperer faktatypene i én tabell, får vi Utvalg(pub, øltype, bryggeri) Hvis denne tabellen skal ha samme egenskaper som det ORM- diagrammet uttrykker, er det ikke nok å si at (pub, øltype, bryggeri) er primærnøkkel, da får vi ikke utelukket instanser som den til høyre Utvalg pub øltype bryggeri Andy s Andy s Juleøl Bokkøl Lager Bokkøl Fatøl Aass Mack Ringnes Gran Aass INF3100-1.2.2011 Ellen Munthe-Kaas 25

Orm og MVDer (forts.) utvalg(pub, øltype, bryggeri) pub, øltype, bryggeri Ø (fra primærnøkkelen) pub pub øltype bryggeri INF3100-1.2.2011 Ellen Munthe-Kaas 26

ORM og høyere normalformer Gruppering av korrekte ORM-diagrammer gir som regel 4NF. I fravær av ekvivalente stier gir gruppering av korrekte ORM-diagrammer alltid 4NF. INF3100-1.2.2011 Ellen Munthe-Kaas 27

ORM og 4NF Hvis de to faktatypene med lange piler feilaktig grupperes til samme relasjon, vil 4NF bli brutt INF3100-1.2.2011 Ellen Munthe-Kaas 28

Normalformer utover 4NF 5NF (Maier 1983) PJNF: Project-Join Normal Form (Fagin 1979) DKNF: Domain Key Normal Form (Fagin 1981) INF3100-1.2.2011 Ellen Munthe-Kaas 29

Joinavhengigheter La R være en relasjon og la D={R 1,,R m } være en dekomposisjon av R. Dersom D er tapsfri, sier vi at D tilfredsstiller en JD (Join Dependency) En JD kalles triviell dersom R D Teorem (Fagin 1977): Hvis m=2, dvs D={R 1,R 2 }, tilfredsstiller D en JD hvis, og bare hvis, vi har en MVD X Y der X=R 1 R 2 og Y=R 2 R 1 Dette betyr at en MVD er det samme som en JD for en dekomposisjon med 2 komponenter INF3100-1.2.2011 Ellen Munthe-Kaas 30

Ekte dekomposisjoner og 5NF En dekomposisjon D={R 1,,R m }k kalles ekte hvis det ikke finnes i og j med i j og R i R j (en slik R i vil alltid være overflødig fordi den ikke kan bidra til å gjøre D tapsfri) En relasjon R er på 5NF hvis alle ekte tapsfri dekomposisjoner av R bare består av supernøkler Hvis vi fortsetter å tapsfritt dekomponere en relasjon på 5NF, så vil ikke dekomposisjonen bety noen reduksjon i antall tupler eller verdier som må lagres, tvert imot vil lagerbehovet øke INF3100-1.2.2011 Ellen Munthe-Kaas 31

PJNF (Project/Join Normal Form) En relasjon R er på PJNF hvis alle JDer i R er en konsekvens av kandidatnøklene Mer presist: R er på PJNF hvis alle ekte tapsfri dekomposisjoner D er nøkkelsammenhengende i henhold til følgende algoritme: Så lenge det finnes to komponenter i D hvor snittet er en supernøkkel, så bytt ut de to komponentene med deres union Hvis prosessen terminerer med D={R}, er D nøkkelsammenhengende, ellers ikke INF3100-1.2.2011 Ellen Munthe-Kaas 32

DKNF (Domain-Key Normal Form) En relasjon R er på DKNF hvis de eneste integritetsreglene i R er nøkkelrestriksjoner og domenerestriksjoner DKNF er lett å håndheve, men det er for mange integritetsregler som ikke kan uttrykkes på denne måten til at vi kan begrense oss til å ha komponenter på DKNF INF3100-1.2.2011 Ellen Munthe-Kaas 33

Oppsummering av høye normalformer En relasjon R er på 4NF hvis og bare hvis alle ekte tapsfri dekomposisjoner med to komponenter består av to supernøkler (Dette bevises ved å vise at en join av to supernøkler er tapsfri hvis og bare hvis deres snitt er en supernøkkel) 5NF er (ekte) inneholdt i 4NF Både PJNF og DKNF er (ekte) inneholdt i 5NF Det finnes relasjoner som er i PJNF, men ikke i DKNF, og omvendt Ragnar Normann: 5NF og PJNF burde bytte navn (det burde 3NF og BCNF også, men vi kan ikke forandre historien) INF3100-1.2.2011 Ellen Munthe-Kaas 34