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)

UNIVERSITETET. Relasjonsdatabasedesign

Relasjonsdatabasedesign

Normalformer utover 4NF (ikke pensum)

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

INF1300 Introduksjon til databaser

Relasjonsdatabasedesign

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

Oppdateringsanomalier Normalformer

Relasjonsdatabasedesign

INF1300 Introduksjon til databaser

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

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

Relasjonsdatabasedesign, ekstramateriale (ikke pensum)

Dagens tema: Oppdateringsanomalier Normalformer

Relasjonsdatabasedesign

Oppdateringsanomalier. Normalformer. Institutt for informatikk INF

INF3100 Databasesystemer

Relasjonsdatabaseteori

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

INF3100 Databasesystemer

Oppgaver INF3100. Oversikt over innholdet

God Databasedesign: På vei mot Normalformer

IN2090 Databaser og datamodellering. Databasedesign og normalformer

INF1300 Introduksjon til databaser

INF212 - Databaseteori. Kursinnhold

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.

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

Oppgaver INF3100. Oversikt over innholdet

UNIVERSITETET I OSLO

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

INF1300 Introduksjon til databaser

INF3100 V2015 Obligatorisk oppgave nr. 1

Plenum: Nøkler, normalformer og funksjonelle avhengigheter

UNIVERSITETET I OSLO

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

INF3100 V2016 Obligatorisk oppgave nr. 1

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

Relasjonsmodellen og normaliseringsteori

INF3100 V2018 Obligatorisk oppgave nr. 1

INF1300 Introduksjon til databaser

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

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

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

Det matematisk-naturvitenskapelige fakultet

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

Normalisering. Hva er normalisering?

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

Normalisering. Hva er normalisering?

UNIVERSITETET I OSLO

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

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Normalisering. Hva er normalisering?

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

Relasjonsalgebraen. Algebra

INF1300 Introduksjon til databaser

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

1. Normalisering Kommentarer til læreboka

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

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

INF1300 Introduksjon til databaser

INF1800 LOGIKK OG BEREGNBARHET

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

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker

INF1300 Introduksjon til databaser

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

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Verdiskranker Mengdeskranker

UNIVERSITETET I OSLO

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

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

INF1300 Introduksjon til databaser

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

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

Spørsmålskompilering del 1

INF1300 Introduksjon til databaser

Databaser: Relasjonsmodellen, del I

INF1300 Introduksjon til databaser

Transkript:

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

Flerverdiavhengigheter Flerverdiavhengigheter gir opphav til en større klasse integritetsregler enn de som kan uttrykkes ved bare FDer INF3100-26.1.2012 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 INF3100-26.1.2012 Ellen Munthe-Kaas 3

Eksempelekstensjon Emne kode lærebok foreleser Emne kode lærebok foreleser Java Samfunn SE Agile RR Arne Siri Dag Yngve Bente Java Java Samfunn Samfunn SE SE SE Agile Agile Agile RR RR RR Arne Siri Arne Siri Dag Yngve Bente Dag Yngve Bente Dag Yngve Bente INF3100-26.1.2012 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å 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-26.1.2012 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-26.1.2012 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-26.1.2012 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-26.1.2012 Ellen Munthe-Kaas 8

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

Når har vi MVDer MVDer benyttes til å uttrykke integritetsregler: emne lærebok, emne foreleser MVDer opptrer blant annet hvis man plasserer to mange-til-mange-forhold i samme relasjon og de to forholdene ikke har avhengigheter seg imellom (se lysark 26-27) INF3100-26.1.2012 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 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-26.1.2012 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-26.1.2012 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-26.1.2012 Ellen Munthe-Kaas 13

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

Utgangspunkt for normalformen 4NF Alle integritetsregler er i form av FDer og MVDer (i tillegg kan det være domeneskranker og fremmednøkler) INF3100-26.1.2012 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-26.1.2012 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 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.) INF3100-26.1.2012 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-26.1.2012 Ellen Munthe-Kaas 18

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

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

Tapsfri dekomposisjon til 4NF Gitt en relasjon R med et sett MVDer M. 0. Dekomponer først R tapsfritt til BCNF. 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-26.1.2012 Ellen Munthe-Kaas 21

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 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 R, 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-26.1.2012 Ellen Munthe-Kaas 22

Annen bruk av chasealgoritmen For å vise en FD X Y, start 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, 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 disse radene er uten subskriptverdier. INF3100-26.1.2012 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-26.1.2012 Ellen Munthe-Kaas 24

Ekstramateriale: ORM og MVDer (kursorisk pensum) INF3100-26.1.2012 Ellen Munthe-Kaas 25

Orm og MVDer Emne (kode) har pensum/er pensum i foreleses av/foreleser i Lærebok (ISBN) Foreleser (navn) 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 Emne kode lærebok foreleser Java Samfunn SE Agile RR Arne Siri Dag Yngve Bente INF3100-26.1.2012 Ellen Munthe-Kaas 26

Orm og MVDer (forts.) 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 Ø (fra primærnøkkelen) kode lærebok (og kode foreleser, men dette følger automatisk fra MVDen kode lærebok) INF3100-26.1.2012 Ellen Munthe-Kaas 27

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-26.1.2012 Ellen Munthe-Kaas 28

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