Relasjonsdatabasedesign (forts.)

Like dokumenter
Relasjonsdatabasedesign (forts.)

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Hva kjennetegner god relasjonsdatabasedesign? Eksempel: Grossistdatabase versjon 1

Relasjonsdatabasedesign

Relasjonsdatabasedesign

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

Relasjonsdatabasedesign

Normalformer utover 4NF (ikke pensum)

Relasjonsdatabasedesign

Relasjonsdatabasedesign

UNIVERSITETET. Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

INF3100 Databasesystemer

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign, ekstramateriale (ikke pensum)

Relasjonsdatabasedesign

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

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

Oppdateringsanomalier Normalformer

Dagens tema: Oppdateringsanomalier Normalformer

Relasjonsdatabaseteori

INF3100 Databasesystemer

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

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

Oppdateringsanomalier. Normalformer. Institutt for informatikk INF

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

IN2090 Databaser og datamodellering. Databasedesign og normalformer

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

God Databasedesign: På vei mot Normalformer

Oppgaver INF3100. Oversikt over innholdet

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

Plenum: Nøkler, normalformer og funksjonelle avhengigheter

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

INF1300 Introduksjon til databaser

INF212 - Databaseteori. Kursinnhold

IN2090 Introduksjon til databaser

Relasjonsmodellen og normaliseringsteori

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. Relasjonsalgebra. INF Ragnhild Kobro Runde

UNIVERSITETET I OSLO

Oppgaver INF3100. Oversikt over innholdet

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

INF3100 V2015 Obligatorisk oppgave nr. 1

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

1. Normalisering Kommentarer til læreboka

INF3100 V2018 Obligatorisk oppgave nr. 1

INF3100 V2016 Obligatorisk oppgave nr. 1

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

INF1300 Introduksjon til databaser

Det matematisk-naturvitenskapelige fakultet

Repetisjon: Normalformer og SQL

Normalisering. Hva er normalisering?

Normalisering. Hva er normalisering?

UNIVERSITETET I OSLO

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

Relasjonsalgebraen. Algebra

Normalisering. Hva er normalisering?

Løsningsforslag for Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Repetisjonsforelesning - INF1080

Utvalgsaksiomet, velordningsprinsippet og Zorns lemma

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

Databaser fra et logikkperspektiv del 2

MAT1030 Diskret Matematikk

Kapittel 5: Mengdelære

Databaser fra et logikkperspektiv

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

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

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

Sekventkalkyle for utsagnslogikk

INF1800 LOGIKK OG BEREGNBARHET

Databaser. - Normalisering -

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

Obligatorisk oppgave 1 i MAT1140, Høst Løsninger med kommentarer

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

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

Skisse til løsning av eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

INF3140 Modeller for parallellitet INF3140/4140: Programanalyse

Partielle ordninger, Zorns lemma og utvalgsaksiomet

Oppgave: Avgjør om følgende to mengder er like: 1) (A B) C 2) A (B C)

MAT1030 Forelesning 10

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

MAT1030 Diskret Matematikk

UNIVERSITETET I OSLO

Mer om mengder: Tillegg til Kapittel 1. 1 Regneregler for Booleske operasjoner

Notater fra forelesning i MAT1100 torsdag

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Transkript:

Relasjonsdatabasedesign (forts.) Flerverdiavhengigheter Høyere normalformer INF3100-25.1.2005 - Ragnar Normann 1

Flerverdiavhengigheter Generalisering av FDer Flerverdiavhengigheter gir opphav til en større klasse integritetsregler enn de som kan uttrykkes ved FDer INF3100-25.1.2005 - Ragnar Normann 2

Eksempel: Emnedatabase Emne(Kode, Lærebok, Foreleser) Skranker: Et emne har et sett av lærebøker som er uavhengig av hvem som foreleser emnet Et emne kan ha flere forelesere, og det er ingen sammenheng mellom forelesere og lærebøker INF3100-25.1.2005 - Ragnar Normann 3

Eksempelekstensjon Emne Kode Lærebok Foreleser Emne Kode Lærebok Foreleser INF1010 INF1010 Java-II OOhefte Kjernen PHP Web Arne Ellen Erik Tone Gerhard INF1010 INF1010 INF1010 INF1010 Java-II Java-II OOhefte OOhefte Kjernen Kjernen Kjernen PHP PHP PHP Web Web Web Arne Ellen Arne Ellen Erik Tone Gerhard Erik Tone Gerhard Erik Tone Gerhard INF3100-25.1.2005 - Ragnar Normann 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-25.1.2005 - Ragnar Normann 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å Y og lik t 2 utenfor Y 2. u 2 er lik t 2 på Y og lik t 1 utenfor Y INF3100-25.1.2005 - Ragnar Normann 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. Hvis XY er samtlige attributter i R, så X Y. Hvis X Y, så X Y. Definisjon triviell MVD: X Y hvor Y X eller XY er samtlige attributter i R. Definisjon ekte MVD: En ikketriviell X Y hvor X Y ikke holder. MVDer benyttes til å uttrykke integritetsregler: Kode Lærebok, Kode Foreleser MVDer opptrer hvis man plasserer to m:n-forhold (m 1) i samme relasjon og de to forholdene ikke har avhengigheter seg imellom INF3100-25.1.2005 - Ragnar Normann 7

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-25.1.2005 - Ragnar Normann 8

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å Y og lik t 2 utenfor Y, mens u 2 er lik t 2 på Y og lik t 1 utenfor Y Men da har vi per def. en MVD X Y INF3100-25.1.2005 - Ragnar Normann 9

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å Y og lik t 2 utenfor Y, og u 2 er lik t 2 på 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-25.1.2005 - Ragnar Normann 10

Høyere normalformer, oversikt 1NF BCNF 4NF 5NF PJNF og DKNF INF3100-25.1.2005 - Ragnar Normann 11

Utgangspunkt for normalformen 4NF Alle integritetsregler er i form av FDer og MVDer (og fremmednøkler) INF3100-25.1.2005 - Ragnar Normann 12

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-25.1.2005 - Ragnar Normann 13

Egenskaper 4NF 4NF BCNF: Anta at R er 4NF. Må vise at for enhver ikketriviell FD X Y i R er X en supernøkkel 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 og det fins en ekte MVD Z W der Z ikke er en supernøkkel. INF3100-25.1.2005 - Ragnar Normann 14

Bevis for at 4NF BCNF Anta at R er 4NF og at vi har en ikketriviell FD X Y i R Siden FD-er er MVD-er, har vi at X Y Hvis denne MVD-en er ikketriviell, er X en supernøkkel (fordi R er 4NF) Hvis MVD-en er triviell, er R = XY, så X er en supernøkkel da også Altså er R på BCNF INF3100-25.1.2005 - Ragnar Normann 15

Normalformer utover 4NF (Kursorisk pensum) 5NF (Maier 1983) PJNF: Project-Join Normal Form (Fagin 1979) DKNF: Domain Key Normal Form (Fagin 1981) INF3100-25.1.2005 - Ragnar Normann 16

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-25.1.2005 - Ragnar Normann 17

Ekte dekomposisjoner og 5NF En dekomposisjon D={R 1,,R m } 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-25.1.2005 - Ragnar Normann 18

PJNF (Project/Join Normal Form) En relasjon R er på PJNF hvis alle JD-er 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 hvis snitt 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-25.1.2005 - Ragnar Normann 19

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-25.1.2005 - Ragnar Normann 20

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 Personlig mening: 5NF og PJNF burde bytte navn (det burde 3NF og BCNF også, men vi kan ikke forandre historien) INF3100-25.1.2005 - Ragnar Normann 21