ecomposition chema normalizationpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · •...

38
DECOMPOSITION & SCHEMA NORMALIZATION CS 564- Fall 2016 ACKs: Dan Suciu, Jignesh Patel, AnHai Doan

Upload: phungtram

Post on 20-Mar-2018

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

DECOMPOSITION &SCHEMA NORMALIZATION

CS564- Fall2016

ACKs:DanSuciu,Jignesh Patel,AnHai Doan

Page 2: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

HOW TO BUILD A DBAPPLICATION

• Pickanapplication• Figureoutwhattomodel(ERmodel)– Output:ERdiagram

• TransformtheERdiagramtoarelationalschema

• Refinetherelationalschema(normalization)

• Nowreadytoimplementtheschemaandloadthedata!

2CS564[Fall2016]- ParisKoutris

Page 3: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

DBDESIGN THEORY

• Helpsusidentifythe“bad”schemasandimprovethem1. expressconstraintsonthedata:functional

dependencies(FDs)2. usetheFDstodecomposetherelations

• Theprocess,callednormalization,obtainsaschemaina“normalform”thatguaranteescertainproperties– examplesofnormalforms:BCNF,3NF,…

3CS564[Fall2016]- ParisKoutris

Page 4: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

SCHEMA DECOMPOSITION

4CS564[Fall2016]- ParisKoutris

Page 5: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

WHAT IS DECOMPOSITION?

WedecomposeR(A1,…,An)bycreating• R1(B1,..,Bm)• R2(C1,…,Cl)• where{𝐵#,… ,𝐵&} ∪ {𝐶#,… , 𝐶+} = {𝐴#,…𝐴.}

• TheinstanceofR1 istheprojectionofR ontoB1,..,Bm• TheinstanceofR2 istheprojectionofR ontoC1,..,Cl

5CS564[Fall2016]- ParisKoutris

Page 6: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

EXAMPLE:DECOMPOSITION

SSN name age934729837 Paris 24123123645 John 30384475687 Arun 20

SSN name age phoneNumber934729837 Paris 24 608-374-8422934729837 Paris 24 603-534-8399123123645 John 30 608-321-1163384475687 Arun 20 206-473-8221

SSN phoneNumber934729837 608-374-8422934729837 603-534-8399123123645 608-321-1163384475687 206-473-8221

6CS564[Fall2016]- ParisKoutris

Page 7: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

DECOMPOSITION DESIDERATA

Whatshouldagood decompositionachieve?

1. minimizeredundancy2. avoidinformationloss(lossless-join)3. preservetheFDs(dependencypreserving)4. ensuregoodqueryperformance

7CS564[Fall2016]- ParisKoutris

Page 8: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

EXAMPLE:INFORMATION LOSS

8CS564[Fall2016]- ParisKoutris

name age phoneNumberParis 24 608-374-8422John 24 608-321-1163Arun 20 206-473-8221

Decomposeinto:R1(name,age)R2(age,phoneNumber)

name ageParis 24John 24Arun 20

age phoneNumber24 608-374-842224 608-321-116320 206-473-8221

Canweputitbacktogether?

Page 9: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

LOSSLESS-JOIN DECOMPOSITION

9CS564[Fall2016]- ParisKoutris

R(A,B,C)

R1(A,B) R2(B,C)

decompose(projection)

R’(A,B,C)

recover(naturaljoin)

Aschemadecompositionislossless-join ifforanyinitialinstanceR,R =R’

Page 10: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

LOSSLESS-JOIN CRITERION

• relationR(A)+setFofFDs• decompositionofR intoR1(A1)andR2(A2)

Adecompositionislossless-join ifandonlyifatleastoneoftheFDsisinF+ (theclosureofF):1. 𝑨𝟏 ∩ 𝑨𝟐 ⟶ 𝑨𝟏2. 𝑨𝟏 ∩ 𝑨𝟐 ⟶ 𝑨𝟐

10CS564[Fall2016]- ParisKoutris

Page 11: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

EXAMPLE

• relationR(A,B,C,D)• FD𝐴 ⟶ 𝐵, 𝐶

lossless-join• decompositionintoR1(A,B,C)andR2(A,D)

Not lossless-join• decompositionintoR1(A,B,C)andR2(D)

11CS564[Fall2016]- ParisKoutris

Page 12: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

DEPENDENCY PRESERVING

GivenR andasetofFDsF,wedecomposeR intoR1andR2. Suppose:– R1 hasasetofFDsF1– R2 hasasetofFDsF2– F1 andF2 arecomputedfromF

Adecompositionisdependencypreserving ifbyenforcingF1 overR1 andF2 overR2,wecanenforceFoverR

12CS564[Fall2016]- ParisKoutris

Page 13: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

GOOD EXAMPLE

Person(SSN,name,age,canDrink)• 𝑆𝑆𝑁 ⟶ 𝑛𝑎𝑚𝑒, 𝑎𝑔𝑒• 𝑎𝑔𝑒 ⟶ 𝑐𝑎𝑛𝐷𝑟𝑖𝑛𝑘

decomposesinto• R1(SSN,name,age)– 𝑆𝑆𝑁⟶ 𝑛𝑎𝑚𝑒, 𝑎𝑔𝑒

• R2(age,canDrink)– 𝑎𝑔𝑒 ⟶ 𝑐𝑎𝑛𝐷𝑟𝑖𝑛𝑘

13CS564[Fall2016]- ParisKoutris

Page 14: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

BAD EXAMPLE

R(A,B,C)• 𝐴 ⟶ 𝐵• 𝐵, 𝐶 ⟶ 𝐴

Decomposesinto:• R1(A,B)– 𝐴⟶ 𝐵

• R2(A,C)– noFDshere!!

14CS564[Fall2016]- ParisKoutris

A Ba1 ba2 b

R1A Ca1 ca2 c

R2

recover

A B Ca1 b ca2 b c

Therecoveredtableviolates𝐵, 𝐶 ⟶ 𝐴

Page 15: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

NORMAL FORMS

15CS564[Fall2016]- ParisKoutris

Anormalform representsa“good”schemadesign:

• 1NF(flattables/atomicvalues)• 2NF• 3NF• BCNF• 4NF• …

morerestrictive

Page 16: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

BCNFDECOMPOSITION

16CS564[Fall2016]- ParisKoutris

Page 17: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

BOYCE-CODD NORMAL FORM (BCNF)

Equivalentdefinition:foreveryattributesetX• either𝑋D = 𝑋• or𝑋D = 𝑎𝑙𝑙𝑎𝑡𝑡𝑟𝑖𝑏𝑢𝑡𝑒𝑠

17

ArelationR isinBCNF ifwhenever𝑋 ⟶ 𝐵 isanon-trivialFD,thenXisasuperkey inR

CS564[Fall2016]- ParisKoutris

Page 18: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

BCNFEXAMPLE 1

18

SSN name age phoneNumber934729837 Paris 24 608-374-8422934729837 Paris 24 603-534-8399123123645 John 30 608-321-1163384475687 Arun 20 206-473-8221

𝑆𝑆𝑁 ⟶ 𝑛𝑎𝑚𝑒, 𝑎𝑔𝑒

• key={𝑆𝑆𝑁, 𝑝ℎ𝑜𝑛𝑒𝑁𝑢𝑚𝑏𝑒𝑟}• 𝑆𝑆𝑁 ⟶ 𝑛𝑎𝑚𝑒, 𝑎𝑔𝑒 isa“bad”FD• Theaboverelationisnot inBCNF!

CS564[Fall2016]- ParisKoutris

Page 19: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

BCNFEXAMPLE 2

19

𝑆𝑆𝑁 ⟶ 𝑛𝑎𝑚𝑒, 𝑎𝑔𝑒

• key={𝑆𝑆𝑁}• TheaboverelationisinBCNF!

SSN name age934729837 Paris 24123123645 John 30384475687 Arun 20

CS564[Fall2016]- ParisKoutris

Page 20: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

BCNFEXAMPLE 3

20

• key={𝑆𝑆𝑁, 𝑝ℎ𝑜𝑛𝑒𝑁𝑢𝑚𝑏𝑒𝑟}• TheaboverelationisinBCNF!• Q:isitpossiblethatabinaryrelationisnotinBCNF?

SSN phoneNumber934729837 608-374-8422934729837 603-534-8399123123645 608-321-1163384475687 206-473-8221

CS564[Fall2016]- ParisKoutris

Page 21: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

BCNFDECOMPOSITION

• FindanFDthatviolatestheBCNFcondition𝐴#, 𝐴M,… , 𝐴. ⟶𝐵#, 𝐵M,…,𝐵&

• DecomposeR toR1 andR2:

• ContinueuntilnoBCNFviolationsareleft21

A’sB’s remainingattributes

R1 R2

CS564[Fall2016]- ParisKoutris

Page 22: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

EXAMPLESSN name age phoneNumber934729837 Paris 24 608-374-8422934729837 Paris 24 603-534-8399123123645 John 30 608-321-1163384475687 Arun 20 206-473-8221

22

• TheFD𝑆𝑆𝑁⟶ 𝑛𝑎𝑚𝑒, 𝑎𝑔𝑒 violatesBCNF• SplitintotworelationsR1,R2 asfollows:

SSNname

phoneNumber

R1 R2

age

CS564[Fall2016]- ParisKoutris

Page 23: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

EXAMPLE CONT’D

SSN name age934729837 Paris 24123123645 John 30384475687 Arun 20

SSN phoneNumber934729837 608-374-8422934729837 603-534-8399123123645 608-321-1163384475687 206-473-8221

23

SSNname

phoneNumber

R1 R2

age

𝑆𝑆𝑁 ⟶ 𝑛𝑎𝑚𝑒, 𝑎𝑔𝑒

CS564[Fall2016]- ParisKoutris

Page 24: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

BCNFDECOMPOSITION PROPERTIES

BCNFdecomposition:– removescertaintypesofredundancy– islossless-join– isnotalwaysdependencypreserving

24CS564[Fall2016]- ParisKoutris

Page 25: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

BCNFIS LOSSLESS-JOIN

Example:R(A,B,C)with𝐴 ⟶ 𝐵 decomposesinto:R1(A,B)andR2(A,C)

• BCNFdecompositionsatisfiesthelossless-joincriterion!

25CS564[Fall2016]- ParisKoutris

Page 26: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

BCNFIS NOT DEPENDENCY PRESERVING

26CS564[Fall2016]- ParisKoutris

R(A,B,C)• 𝐴 ⟶ 𝐵• 𝐵, 𝐶 ⟶ 𝐴

TheBCNFdecompositionis:• R1(A,B)withFD𝐴⟶ 𝐵• R2(A,C)withnoFDs

TheremaynotexistanyBCNFdecompositionthatisFDpreserving!

Page 27: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

BCNFEXAMPLE (1)

Books(author,gender,booktitle,genre,price)• 𝑎𝑢𝑡ℎ𝑜𝑟 ⟶ 𝑔𝑒𝑛𝑑𝑒𝑟• 𝑏𝑜𝑜𝑘𝑡𝑖𝑡𝑙𝑒⟶ 𝑔𝑒𝑛𝑟𝑒, 𝑝𝑟𝑖𝑐𝑒

Whatisthecandidatekey?• (author,booktitle)istheonlyone!

IsisinBCNF?• No,becausethelefthandsideofboth(nottrivial)FDsisnotasuperkey!

27CS564[Fall2016]- ParisKoutris

Page 28: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

BCNFEXAMPLE (2)

Books(author,gender,booktitle,genre,price)• 𝑎𝑢𝑡ℎ𝑜𝑟 ⟶ 𝑔𝑒𝑛𝑑𝑒𝑟• 𝑏𝑜𝑜𝑘𝑡𝑖𝑡𝑙𝑒 ⟶ 𝑔𝑒𝑛𝑟𝑒, 𝑝𝑟𝑖𝑐𝑒

SplittingBooks usingtheFD𝑎𝑢𝑡ℎ𝑜𝑟 ⟶ 𝑔𝑒𝑛𝑑𝑒𝑟:• Author(author,gender)FD:𝑎𝑢𝑡ℎ𝑜𝑟 ⟶ 𝑔𝑒𝑛𝑑𝑒𝑟 inBCNF!

• Books2(authos,booktitle,genre,price)FD: 𝑏𝑜𝑜𝑘𝑡𝑖𝑡𝑙𝑒 ⟶ 𝑔𝑒𝑛𝑟𝑒, 𝑝𝑟𝑖𝑐𝑒 notinBCNF!

28CS564[Fall2016]- ParisKoutris

Page 29: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

BCNFEXAMPLE (3)

Books(author,gender,booktitle,genre,price)• 𝑎𝑢𝑡ℎ𝑜𝑟 ⟶ 𝑔𝑒𝑛𝑑𝑒𝑟• 𝑏𝑜𝑜𝑘𝑡𝑖𝑡𝑙𝑒⟶ 𝑔𝑒𝑛𝑟𝑒, 𝑝𝑟𝑖𝑐𝑒

SplittingBooks usingtheFD𝑎𝑢𝑡ℎ𝑜𝑟 ⟶ 𝑔𝑒𝑛𝑑𝑒𝑟:• Author(author,gender)FD:𝑎𝑢𝑡ℎ𝑜𝑟 ⟶ 𝑔𝑒𝑛𝑑𝑒𝑟 inBCNF!

• Splitting Books2(author,booktitle,genre,price):– BookInfo (booktitle,genre,price)FD:𝑏𝑜𝑜𝑘𝑡𝑖𝑡𝑙𝑒⟶ 𝑔𝑒𝑛𝑟𝑒, 𝑝𝑟𝑖𝑐𝑒 inBCNF!

– BookAuthor (author,booktitle)inBCNF!

29CS564[Fall2016]- ParisKoutris

Page 30: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

THIRD NORMAL FORM (3NF)

30CS564[Fall2016]- ParisKoutris

Page 31: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

3NFDEFINITION

31

ArelationR isin3NF ifwhenever𝑋 ⟶ 𝐴, oneofthefollowingistrue:

• 𝐴 ∈ 𝑋 (trivialFD)

• X isasuperkey

• A ispartofsomekeyofR (primeattribute)

CS564[Fall2016]- ParisKoutris

BCNFimplies3NF

Page 32: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

3NFCONT’D

• Example:R(A,B,C)with𝐴, 𝐵 ⟶ 𝐶 and𝐶 ⟶ 𝐴– isin3NF.Why?– isnotinBCNF.Why?

• CompromiseusedwhenBCNFnotachievable:aimforBCNFandsettlefor3NF

• Lossless-joinanddependencypreservingdecompositionintoacollectionof3NFrelationsisalwayspossible!

32CS564[Fall2016]- ParisKoutris

Page 33: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

3NFALGORITHM

1. ApplythealgorithmforBCNFdecompositionuntilallrelationsarein3NF(wecanstopearlierthanBCNF)

2. ComputeaminimalbasisF’ ofF3. Foreachnon-preservedFD𝑋 ⟶ 𝐴 inF’,addanew

relationR(X,A)

33CS564[Fall2016]- ParisKoutris

Page 34: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

3NFEXAMPLE (1)

StartwithrelationR(A,B,C,D)withFDs:• 𝐴⟶ 𝐷• 𝐴,𝐵 ⟶ 𝐶• 𝐴,𝐷 ⟶ 𝐶• 𝐵 ⟶ 𝐶• 𝐷 ⟶ 𝐴,𝐵

Step1:findaBCNFdecomposition• R1 (B,C)• R2 (A,B,D)

34CS564[Fall2016]- ParisKoutris

Page 35: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

3NFEXAMPLE (2)

StartwithrelationR(A,B,C,D)withFDs:• 𝐴 ⟶𝐷• 𝐴,𝐵 ⟶ 𝐶• 𝐴,𝐷 ⟶ 𝐶• 𝐵 ⟶ 𝐶• 𝐷 ⟶ 𝐴,𝐵

Step2:computeaminimalbasisoftheoriginalsetofFDs:• 𝐴⟶ 𝐷• 𝐵 ⟶ 𝐶• 𝐷 ⟶ 𝐴• 𝐷 ⟶ 𝐵

35CS564[Fall2016]- ParisKoutris

Page 36: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

3NFEXAMPLE (3)

StartwithrelationR(A,B,C,D)withFDs:• 𝐴⟶ 𝐷• 𝐴,𝐵 ⟶ 𝐶• 𝐴,𝐷 ⟶ 𝐶• 𝐵 ⟶ 𝐶• 𝐷 ⟶ 𝐴,𝐵

Step3:addanewrelationforanyFDinthebasisthatisnotsatisfied:• allthedependenciesinF’aresatisfied!• theresultingdecompositionR1,R2 isalsoBCNF!

36CS564[Fall2016]- ParisKoutris

Page 37: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

IS NORMALIZATION ALWAYS GOOD?

• Example:supposeAandBarealwaysusedtogether,butnormalizationsaystheyshouldbeindifferenttables– decompositionmightproduceunacceptableperformanceloss

• Example:datawarehouses– hugehistoricalDBs,rarelyupdatedaftercreation– joinsexpensiveorimpractical

37CS564[Fall2016]- ParisKoutris

Page 38: ECOMPOSITION CHEMA NORMALIZATIONpages.cs.wisc.edu/~paris/cs564-f16/lectures/lecture-05.pdf · • 4NF • … more restrictive ... • Continue until no BCNF violations are left 21

RECAP

• Badschemasleadtoredundancy• To“correct”badschemas:decompose relations– lossless-join– dependencypreserving

• Desirednormalforms– BCNF:onlysuperkey FDs– 3NF:superkey FDs+dependencieswithprimeattributesontheRHS

38CS564[Fall2016]- ParisKoutris