Normalformer utover 4NF (ikke pensum)

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

Relasjonsdatabasedesign, ekstramateriale (ikke pensum)

Relasjonsdatabasedesign (forts.)

Relasjonsdatabasedesign

Relasjonsdatabasedesign (forts.)

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

UNIVERSITETET. Relasjonsdatabasedesign

Hva kjennetegner god relasjonsdatabasedesign? Eksempel: Grossistdatabase versjon 1

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

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Oppdateringsanomalier Normalformer

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

INF1300 Introduksjon til databaser

Dagens tema: Oppdateringsanomalier Normalformer

INF1300 Introduksjon til databaser

Oppdateringsanomalier. Normalformer. Institutt for informatikk INF

INF3100 Databasesystemer

IN2090 Databaser og datamodellering. Databasedesign og normalformer

Relasjonsdatabaseteori

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

God Databasedesign: På vei mot Normalformer

INF1300 Introduksjon til databaser

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

INF3100 Databasesystemer

IN2090 Introduksjon til databaser

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

Oppgaver INF3100. Oversikt over innholdet

INF212 - Databaseteori. Kursinnhold

Plenum: Nøkler, normalformer og funksjonelle avhengigheter

Normalisering. Hva er normalisering?

Oppgaver INF3100. Oversikt over innholdet

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

Normalisering. Hva er normalisering?

Normalisering. Hva er normalisering?

Databaser. - Normalisering -

UNIVERSITETET I OSLO

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

INF3100 V2015 Obligatorisk oppgave nr. 1

INF3100 V2016 Obligatorisk oppgave nr. 1

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

UNIVERSITETET. Relasjonsalgebra. INF Ragnhild Kobro Runde

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

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

INF3100 V2018 Obligatorisk oppgave nr. 1

UNIVERSITETET I OSLO

Relasjonsmodellen og normaliseringsteori

UNIVERSITETET I OSLO

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

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

INF1300 Introduksjon til databaser

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

Databaser fra et logikkperspektiv

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

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

Relasjonsalgebraen. Algebra

MA2401 Geometri Vår 2018

Løsningsforslag maskindatabasen på Ifi SQL og normalisering

UNIVERSITETET I OSLO

Løsningsforslag for Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

Repetisjon: Normalformer og SQL

INF1300 Introduksjon til databaser

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

INF1800 LOGIKK OG BEREGNBARHET

UNIVERSITETET I OSLO

INF1300 Introduksjon til databaser

TMA 4140 Diskret Matematikk, 3. forelesning

INF1300 Relasjonsalgebra og SQL, mengder og bager. Lysark for forelesning v. 2.1

Spørsmålskompilering del 1

Databaser: Relasjonsmodellen, del I

Effektiv eksekvering av spørsmål

Øving 5: Transaksjonshåndtering, logging og normalisering

Spørsmålskompilering del 1

Oppgave 1 ER- og relasjonsmodell 10 %

Effektiv eksekvering av spørsmål

1. Normalisering Kommentarer til læreboka

UNIVERSITETET I OSLO

Systemfeil og logging

UNIVERSITETET I OSLO

INF1800 Forelesning 2

Databaser fra et logikkperspektiv del 2

4 Matriser TMA4110 høsten 2018

Utvalgsaksiomet, velordningsprinsippet og Zorns lemma

Transkript:

UNIVERSITETET I OSLO Normalformer utover 4NF (ikke pensum) Institutt for Informatikk INF3100 - Ellen Munthe-Kaas 1

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

Normalformer utover 4NF ETNF Essential Tuple Normal Form (Darwen, Date, Fagin 2012) KCNF Key-Complete Normal Form (Maier 1983) RFNF Redundancy Free Normal Form (Vincent 1995) SKNF Superkey Normal Form (Maier 1983) 5NF Femte normalform (Fagin 1979) INF3100 - Ellen Munthe-Kaas 3

Joinavhengigheter La R være en relasjon med attributtene R={A 1,,A k }, og la {C 1,,C m } være en samling av komponenter over R (dvs. C i R for alle i og C 1 C m = R). Vanligvis overlapper hver C i med minst én annen komponent C j (der j i). Vi sier at R tilfredsstiller joinavhengigheten eller JDen (Join Dependency) J = {C 1,,C m } hvis vi for enhver gyldig instans av R har at dekomposisjonen av instansen i henhold til komponentene i J er tapsfri. Enhver gyldig instans i R har altså den egenskapen at hvis vi projiserer den på C 1,,C m, og deretter beregner C 1 C m, så får vi tilbake instansen. INF3100 - Ellen Munthe-Kaas 4

JDer og MVDer Joinavhengigheter gir opphav til en større klasse integritetsregler enn de som kan uttrykkes ved bare FDer og MVDer. Teorem. Hvis m=2, dvs. J= {C 1,C 2 }, så tilfredsstiller R JDen J hvis og bare hvis vi har en MVD X Y der X=C 1 C 2 og Y=C 2 C 1 Dette betyr at en MVD er det samme som en JD med 2 komponenter INF3100 - Ellen Munthe-Kaas 5

Armstrongs slutningsregler og JDer Armstrongs slutningsregler kan ikke utvides til å omfatte JDer: Det finnes intet sunt, komplett og endelig regelsett for JDer. (Det finnes sunne regelsett, men til ethvert slikt regelsett går det alltid an å konstruere eksempelrelasjoner der regelsettet ikke er tilstrekkelig til å vise alt som holder.) INF3100 - Ellen Munthe-Kaas 6

Utgangspunkt for normalformene utover 4NF Alle integritetsregler er i form av FDer og JDer Dette omfatter også MVDer siden alle MVDer kan uttrykkes som JDer Generelt er altså utgangspunktet for alle normalformene en relasjon R der de gyldige instansene er karakterisert ved at de tilfredsstiller en mengde FDer F og en mengde JDer J INF3100 - Ellen Munthe-Kaas 7

Trivielle JDer En JD kalles triviell dersom en av komponentene omfatter samtlige attributter. Trivielle JDer holder for alle instanser uansett hvilke andre FDer og JDer som gjelder. INF3100 - Ellen Munthe-Kaas 8

Irredusible JDer En JD J= {C 1,,C m } er reduserbar hvis det finnes en komponent C i der også J = {C 1,,C i-1,c i+1,...,c m } holder (dvs. der J følger logisk fra de integritetsreglene F og J som gjelder). Hvis det finnes en slik C i, vil C i alltid være overflødig fordi den ikke gir noen begrensninger på mengden av mulige instanser utover det de øvrige komponentene i J gir. En JD der det ikke fins noen slik komponent, kalles irredusibel. INF3100 - Ellen Munthe-Kaas 9

Utgangspunkt for normalformene utover 4NF (forts.) Vi kan uten tap av generalitet begrense oss til relasjoner R der de gyldige instansene er karakterisert ved at de tilfredsstiller en mengde ikketrivielle FDer F og en mengde ikketrivielle og irredusible JDer J. Så på resten av lysarkene har vi underforstått en relasjon R der mengden av gyldige instanser er karakterisert ved at de oppfyller reglene i to mengder F og J der FDene i F er ikketrivielle og JDene i J er ikketrivielle og irredusible. INF3100 - Ellen Munthe-Kaas 10

Eksplisitte og implisitte integritetsregler Vi skiller mellom eksplisitte og implisitte FDer og JDer: De eksplisitte er de integritetsreglene som er listet opp i henholdsvis F og J. De implisitte er de som følger logisk fra (kan utledes fra) F og J INF3100 - Ellen Munthe-Kaas 11

Partielt redundante tupler La r være en instans av R. Et tuppel t i r er partielt redundant hvis det finnes et annet tuppel t t i r og en ikketriviell (eksplisitt eller implisitt) FD X A slik at t [X] = t[x]. Intuitivt betyr dette at informasjonen i t [A] er representert to ganger (i t[a] og i t [A]). INF3100 - Ellen Munthe-Kaas 12

Fullt redundante tupler Et tuppel i en instans r er fullt redundant hvis det finnes en mengde av tupler S i r der t S og det er slik at t følger logisk fra S. Intuitivt betyr dette at informasjonen i tuppelet både finnes indirekte (kan utledes fra andre tupler i instansen) og direkte (i tuppelet selv). Tuppelet kan imidlertid ikke uten videre fjernes, for da risikerer vi at den resulterende mengden av tupler ikke lenger oppfyller alle integritetsreglene. INF3100 - Ellen Munthe-Kaas 13

Essensielle tupler Et tuppel er essensielt hvis det hverken er partielt eller fullt redundant. INF3100 - Ellen Munthe-Kaas 14

Verdiredundans La R være en relasjon, r en instans av R, t et tuppel i r og A et attributt. Da er verdien t[a] redundant i r hvis det er slik at hvis vi erstatter t med et annet tuppel t der t [A] t[a] og t [B] = t[b] for alle attributter B A, så får vi noe som ikke er en gyldig instans i R. Intuitivt betyr dette at verdien i t[a] er entydig bestemt av de andre attributtverdiene i r. Merk at verdiredundans og partielt redundante tupler ikke er det samme. INF3100 - Ellen Munthe-Kaas 15

BCNF Boyce-Codd Normal Form Alternativ definisjon av BCNF: En relasjon R er på BCNF hvis alle eksplisitte og implisitte FDer følger logisk fra kandidatnøklene i R. Teorem. En relasjon er på BCNF hvis og bare hvis ingen instans har noe partielt redundant tuppel. INF3100 - Ellen Munthe-Kaas 16

4NF Alternativ definisjon av 4NF: En relasjon R er på 4NF hvis alle eksplisitte og implisitte MVDer følger logisk fra kandidatnøklene i R. INF3100 - Ellen Munthe-Kaas 17

ETNF Essential Tuple Normal Form En relasjon R er på ETNF hvis alle tupler i alle instanser er essensielle. Teorem. En relasjon R er på ETNF hvis og bare hvis den er på BCNF og hver eksplisitt JD har minst én komponent som er en supernøkkel. INF3100 - Ellen Munthe-Kaas 18

KCNF Key-Complete Normal Form En relasjon R er på KCNF hvis den oppfyller de to kravene under: 1. Relasjonen er på BCNF. 2. For hver eksplisitt eller implisitt JD J er det slik at hvis vi tar unionen av de komponentene i J som er supernøkler, så får vi samtlige attributter i R. INF3100 - Ellen Munthe-Kaas 19

RFNF Redundancy-Free Normal Form En relasjon R er på RFNF hvis det ikke finnes noen instans med et tuppel t der verdien av t er redundant i ett av attributtene. Teorem. RFNF = KCNF INF3100 - Ellen Munthe-Kaas 20

SKNF Superkey Normal Form En relasjon R er på SKNF hvis R er på BCNF og hver komponent i hver irredusibel eksplisitt eller implisitt JD er en supernøkkel. INF3100 - Ellen Munthe-Kaas 21

5NF Femte normalform En relasjon R er på 5NF hvis alle eksplisitte og implisitte JDer følger logisk fra kandidatnøklene i R. INF3100 - Ellen Munthe-Kaas 22

Nøkkelsammenhengende JDer 5NF forklart på en annen måte: En relasjon R er på 5NF hvis alle eksplisitte og implisitte JDer J er nøkkelsammenhengende i henhold til følgende algoritme: Så lenge det finnes to komponenter i J hvor snittet er en supernøkkel eller hvor den ene komponenten er inneholdt i den andre, så bytt ut de to komponentene med unionen av de to Hvis prosessen terminerer med R (dvs. samtlige attributter) som en av komponentene, er J nøkkelsammenhengende, ellers ikke INF3100 - Ellen Munthe-Kaas 23

BCNF, 4NF og 5NF Sammenlikn definisjonene under: En relasjon R er på BCNF hvis alle eksplisitte og implisitte FDer følger logisk fra kandidatnøklene i R. En relasjon R er på 4NF hvis alle eksplisitte og implisitte MVDer følger logisk fra kandidatnøklene i R. En relasjon R er på 5NF hvis alle eksplisitte og implisitte JDer følger logisk fra kandidatnøklene i R. INF3100 - Ellen Munthe-Kaas 24

5NF, PJNF og SKNF 5NF kalles også PJNF Project-Join Normal Form Vær oppmerksom på at mange lærebøker definerer 5NF feil det de kaller 5NF, er i realiteten SKNF. Dette skyldes en tidlig misforståelse/feil i definisjonen av 5NF i David Maiers lærebok The Theory of Relational Databases (Computer Science Press, 1983) og at denne definisjonen ukritisk er blitt kopiert til andre lærebøker INF3100 - Ellen Munthe-Kaas 25

Oppsummering av høye normalformer 5NF er (ekte) inneholdt i SKNF, SKNF er (ekte) inneholdt i RFNF, RFNF er (ekte) inneholdt i ETNF og ETNF er (ekte) inneholdt i 4NF RFNF = KCNF En relasjon R er på 4NF hvis og bare hvis alle (eksplisitte og implisitte) JDer 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) Hvis vi fortsetter å tapsfritt dekomponere en relasjon på ETNF, så vil ikke dekomposisjonen bety noen reduksjon i antall tupler eller verdier som må lagres, tvert imot vil lagerbehovet øke INF3100 - Ellen Munthe-Kaas 26

Høyere normalformer, oversikt Ingen JDer med tre eller flere komponenter Ingen ekte MVDer 1NF EKNF BCNF Minst én ekte MVD Minst én ekte 1 JD med tre eller flere komponenter 1 Med ekte JD mener vi at JDen ikke følger fra de andre reglene 5NF SKNF RFNF=KCNF ETNF BCNF = 4NF når vi ikke har noen ekte MVDer. BCNF = 4NF = ETNF = RFNF = SKNF = 5NF når alle integritetsregler kan formuleres med bare FDer. 4NF INF3100 - Ellen Munthe-Kaas 27

Chasealgoritmen utvidet for JDer Gitt en dekomposisjon av R(A,B,...) til relasjonene S 1,..., S k og et sett F med FDer og et sett J med JDer 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 JD {C 1,...,C m }, for hvert utvalg av m rader t 1,...,t m der t i [C i C j ]=t j [C i C j ] for alle par (i,j), lag en ny rad t der t[c i ]=t i [C i ] for alle i. Hvis en rad er uten subskriptverdier, er dekomposisjonen tapsfri, ellers ikke. INF3100 - Ellen Munthe-Kaas 28

Annen bruk av chasealgoritmen For å vise en JD {C 1,...,C m }, start tabellen med m rader der rad j har verdier uten subskript for attributtene i C j og verdier med subskript forøvrig. Målet er å komme frem til en instans der en av disse radene er uten subskriptverdier. INF3100 - Ellen Munthe-Kaas 29

Eksempel 1: JDer og begrepene ikketriviell og irredusibel Betrakt R(A,B,C) der A BC er eneste integritetsregel. Da holder de implisitte JDene J 1 = {AB,AC,ABC} J 2 = {AB,AC,BC} J 3 = {AB,AC} Dette kan vises ved å bruke chasealgoritmen INF3100 - Ellen Munthe-Kaas 30

Eksempel 1 (forts.) J 1 er triviell; den inneholder komponenten ABC. J 1 er reduserbar; den kan reduseres til {ABC}. Hverken J 2 eller J 3 er trivielle. J 2 er reduserbar: komponenten BC er overflødig; når vi tar den bort, reduseres J 2 til J 3. J 3 er irredusibel; vi kan ikke fjerne noen av komponentene AB eller AC uten at vi bryter kravet om at alle attributtene skal være representert i minst én komponent. INF3100 - Ellen Munthe-Kaas 31

Eksempel 2: Relasjon som er på ETNF, men ikke RFNF Gitt relasjonen R(A,B,C) der A er leverandør, B er reservedel og C er prosjekt. Følgende integritetsregler skal holde: Hvis leverandør A leverer en reservedel B, og B leveres til prosjekt C, og C får leveranser fra A, så skal A levere B til C. Dvs. JDen {AB,BC,CA} skal gjelde. Hvert prosjekt C mottar en reservedel B fra maksimalt én leverandør A. Dvs. FDen BC A skal gjelde. INF3100 - Ellen Munthe-Kaas 32

Eksempel 2 (forts.) Hva sier JDen {AB,BC,CA}? A B C a b c a b c a b c a b c Hvis disse tre tuplene er med, må dette tuppelet også være med (tuppelet er i såfall fullt redundant) Hva sier FDen BC A? a og a i instansen over skal være like så instansen må se slik ut: A B C a b c a b c a b c (ingen redundante tupler; det redundante tuppelet forsvinner ) INF3100 - Ellen Munthe-Kaas 33

Eksempel 2 (forts.) Relasjonen er på BCNF: Bruk chasealgoritmen til å sjekke at ingen av FDene AB C, B A, C A eller C B holder. Relasjonen er på ETNF: Eneste kandidatnøkkel er BC. Så JDen {AB,BC,CA} inneholder en komponent som er en supernøkkel (nemlig BC). Relasjonen er ikke på RFNF: Siden RFNF=KCNF, er det tilstrekkelig å undersøke om unionen av supernøkkelkomponentene i {AB,BC,CA} omfatter samtlige attributter. Men BC er eneste supernøkkelkomponent, så A er ikke dekket av noen supernøkkelkomponent. INF3100 - Ellen Munthe-Kaas 34

Domenerestriksjoner Det er viktig å være klar over at en av forutsetningene for normalformene slik de er formulert over, er at integritetsreglene bare er i form av FDer og JDer Hvis vi i tillegg til FDer og JDer kan ha restriksjoner på hvilke verdier et attributt kan inneholde, f.eks. at ett attributt har domenet boolean og et annet har en av verdiene {gull, sølv, bronse}, så holder ikke nødvendigvis teoremene lenger. I tillegg må (noen av) normalformdefinisjonene endres litt. INF3100 - Ellen Munthe-Kaas 35

Høyere normalformer med domenerestriksjoner, oversikt For alle normalformer merket med * blir definisjonene og/eller teoremene påvirket hvis vi kan ha domenerestriksjoner. For 4NF og lavere er det tilstrekkelig å forutsette at alle domener har minst to elementer; da holder teoremene. I praksis er dette alltid oppfylt. For *-normalformene høyere enn 4NF holder alle teoremene når vi i tillegg har at nøkkelattributtenes domener er store nok 1 1NF BCNF* 4NF* ETNF* RFNF*, KCNF* SKNF* 5NF* DKNF INF3100 - Ellen Munthe-Kaas 36

DKNF Domain-Key Normal Form En relasjon R er på DKNF hvis de eneste integritetsreglene i R er FDer som oppfyller BCNF (også kalt nøkkelrestriksjoner ) og domenerestriksjoner (Fagin 1981) 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 - Ellen Munthe-Kaas 37

Eksempel 3: ETNF-teoremet bryter sammen ved domenerestriksjoner Gitt relasjonen R (A,B,C,D,E,F). Følgende integritetsregler gjelder: dom(a) = dom(b) = {0,1} dom(c, D, E, F) = {0,1,2,...} ABC DEF, DEF ABD (så ABC og DEF er kandidatnøkler) J = {ACDE, ACDF, ACEF, BCDE, BCDF, BCEF} INF3100 - Ellen Munthe-Kaas 38

Eksempel 3 (forts.) Det kan vises at J følger fra FDene og domenerestriksjonene alene, så vi får nøyaktig samme mengde gyldige instanser (nøyaktig samme relasjon R) om vi fjerner J. Relasjonen R oppfyller derfor BCNF og DKNF. På lysark 18 stod følgende teorem: En relasjon er på ETNF hvis og bare hvis den er på BCNF og hver eksplisitt JD har minst én komponent som er en supernøkkel. J inneholder ingen supernøkkelkomponent, så hvis vi bruker teoremet, får vi at R ikke er i ETNF. Samtidig er det slik at om vi fjerner J, og deretter bruker teoremet, får vi at R er i ETNF. Så vi har en inkonsistens (selvmotsigelse): R kan vises å både tilhøre og ikke tilhøre ETNF. Problemet skyldes at teoremet ikke er gyldig i nærvær av for små domener. Derfor må alle definisjoner og beviser revurderes i nærvær av domenerestriksjoner. INF3100 - Ellen Munthe-Kaas 39