Relasjonsdatabasedesign

Like dokumenter
Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign (forts.)

Relasjonsdatabasedesign (forts.)

Hva kjennetegner god relasjonsdatabasedesign? Eksempel: Grossistdatabase versjon 1

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

Normalformer utover 4NF (ikke pensum)

Relasjonsdatabasedesign

Relasjonsdatabasedesign

UNIVERSITETET. Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

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

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

Relasjonsdatabasedesign

Oppdateringsanomalier Normalformer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

Relasjonsdatabasedesign

Dagens tema: Oppdateringsanomalier Normalformer

Relasjonsdatabasedesign

Relasjonsdatabasedesign, ekstramateriale (ikke pensum)

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

Oppdateringsanomalier. Normalformer. Institutt for informatikk INF

Relasjonsdatabasedesign

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

Relasjonsdatabaseteori

INF3100 Databasesystemer

IN2090 Databaser og datamodellering. Databasedesign og normalformer

Oppgaver INF3100. Oversikt over innholdet

God Databasedesign: På vei mot Normalformer

INF3100 Databasesystemer

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

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

Oppgaver INF3100. Oversikt over innholdet

UNIVERSITETET I OSLO

Plenum: Nøkler, normalformer og funksjonelle avhengigheter

INF1300 Introduksjon til databaser

INF212 - Databaseteori. Kursinnhold

UNIVERSITETET. Relasjonsalgebra. INF Ragnhild Kobro Runde

INF3100 V2015 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

IN2090 Introduksjon til databaser

UNIVERSITETET I OSLO

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

INF3100 V2016 Obligatorisk oppgave nr. 1

INF3100 V2018 Obligatorisk oppgave nr. 1

UNIVERSITETET I OSLO

Relasjonsmodellen og normaliseringsteori

INF1300 Introduksjon til databaser

UNIVERSITETET I OSLO

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

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

INF1300 Introduksjon til databaser

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Normalisering. Hva er normalisering?

Normalisering. Hva er normalisering?

Det matematisk-naturvitenskapelige fakultet

Normalisering. Hva er normalisering?

UNIVERSITETET I OSLO

1. Normalisering Kommentarer til læreboka

UNIVERSITETET I OSLO

Repetisjon: Normalformer og SQL

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

INF1800 LOGIKK OG BEREGNBARHET

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

Løsningsforslag maskindatabasen på Ifi SQL og normalisering

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

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

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

Databaser: Relasjonsmodellen, del I

INF1800 LOGIKK OG BEREGNBARHET

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Sekventkalkyle for utsagnslogikk

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

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

Databaser. - Normalisering -

INF1300 Introduksjon til databaser

Spørsmålskompilering del 1

INF1300 Introduksjon til databaser

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

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

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

Løsningsforslag for Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

INF1300 Introduksjon til databaser

Relasjonsalgebraen. Algebra

INF1300 Introduksjon til databaser

Spørsmålskompilering del 1

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Verdiskranker Mengdeskranker

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

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker

Transkript:

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

Flerverdiavhengigheter Flerverdiavhengigheter brukes for å uttrykke andre integritetsregler enn de som kan uttrykkes ved FDer INF3100-24.1.2014 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-24.1.2014 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-24.1.2014 Ellen Munthe-Kaas 4

Orm og MVDer I Emne (kode) 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 har pensum/er pensum i 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-24.1.2014 Ellen Munthe-Kaas 5

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

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-24.1.2014 Ellen Munthe-Kaas 7

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

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-24.1.2014 Ellen Munthe-Kaas 9

Ekte MVDer Hvis X Y, så X Y (Bevis følger senere) 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-24.1.2014 Ellen Munthe-Kaas 10

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 INF3100-24.1.2014 Ellen Munthe-Kaas 11

Når har vi MVDer MVDer benyttes til å uttrykke integritetsregler: kode lærebok, kode foreleser Ekte MVDer opptrer hvis man plasserer to mange-til-mangeforhold 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 12

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

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-24.1.2014 Ellen Munthe-Kaas 14

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-24.1.2014 Ellen Munthe-Kaas 15

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

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

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

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-24.1.2014 Ellen Munthe-Kaas 19

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-24.1.2014 Ellen Munthe-Kaas 20

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 21

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-24.1.2014 Ellen Munthe-Kaas 22

Tapsfri dekomposisjon Gitt en relasjon R med integritetsregler i form av FDer og MVDer. 1. Hvis noen av FDene bryter noen av normalformene 2NF-BCNF, dekomponer tapsfritt til BCNF (eller tapsfritt og FD-bevarende til EKNF). 2. For hver av komponentene S: Hvis X Y er en ekte MVD i S, dekomponer S til S 1 (XY) og S 2 (XZ) der Z er alle attributtene i S som ikke er i XY. Fortsett på samme måte med S 1 og S 2 inntil alle ekte MVDer er fjernet. INF3100-24.1.2014 Ellen Munthe-Kaas 23

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 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-24.1.2014 Ellen Munthe-Kaas 24

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 disse 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 radene er uten subskriptverdier. INF3100-24.1.2014 Ellen Munthe-Kaas 25

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-24.1.2014 Ellen Munthe-Kaas 26