4. normal forms - national university of singaporelingtw/normal forms.pdf · kent, william, \a...

58
Motivation 2NF 3NF EKNF BCNF Conclusion 4. Normal Forms St´ ephane Bressan January 27, 2015 1 / 58

Upload: others

Post on 12-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

4. Normal Forms

Stephane Bressan

January 27, 2015

1 / 58

Page 2: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

This lecture is based on material by Professor Ling Tok Wang.

1CS4221: The Relational Model

1CS4221: The Relational Model

1

CS 4221: Database Design

The Relational Model

Ling Tok WangNational University of Singapore

https://www.comp.nus.edu.sg/

~lingtw/cs4221/rm.pdf

2 / 58

Page 3: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Content

1 MotivationIntroductionreadings

2 2NFSecond Normal Form

3 3NFThird Normal Form

4 EKNFElementary Key Normal Form

5 BCNFBoyce-Codd Normal Form

6 ConclusionRelationships between Normal Forms

3 / 58

Page 4: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

readings

Readings

Kent, William, “A Simple Guide to Five Normal Forms inRelational Database Theory”, Communications of the ACM26 (2), Feb. 1983, pp. 120-125.

Zaniolo, Carlo, “A New Normal Form for the Design ofRelational Database Schemata.” ACM Transactions onDatabase Systems 7(3), September 1982.

Maier, David, “The Theory of Relational Databases”, http://web.cecs.pdx.edu/~maier/TheoryBook/TRD.html,(1983).

4 / 58

Page 5: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Second Normal Form

Second Normal Form

TAKE

STUDENT# DEPARTMENT FACULTY COURSE# SNAME CDESC MARK

95001 CS SoC CS1101 Tan CK Programming 7595023 CEG Eng CS1101 Lee SL Programming 5895023 CEG Eng CS2103 Tan CK D.S. and Alg. 64· · ·

5 / 58

Page 6: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Second Normal Form

Example

TAKE = {STUDENT#,DEPARTMENT,FACULTY,COURSE#,SNAME,CDESC,MARK}.Σ = {{STUDENT#} → {SNAME,DEPARTMENT},{DEPARTMENT} → {FACULTY},{COURSE#} → {CDESC},{STUDENT#,COURSE#} → {MARK}}The candidate key is {STUDENT#,COURSE#}

Problem

SNAME, DEPARTMENT, FACULTY, CDESC and MARK do notfully depend on the key! This creates anomalies.

6 / 58

Page 7: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Second Normal Form

Reminder

We say that Y is fully dependent on X if and only if there exists anon-trivial functional dependency X → Y such that no propersubset X ′ of X is such such that X ′ → Y ∈ Σ+.

SNAME is not fully dependent on the key{STUDENT#,COURSE#}.

{STUDENT#} → {SNAME}

7 / 58

Page 8: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Second Normal Form

First Idea

Let us make sure that every attribute fully depends on the primarykey.

8 / 58

Page 9: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Second Normal Form

But prime attributes do not fully depend on the key (if there isonly one)!

Example

STUDENT# is not fully dependent on the key{STUDENT#,COURSE#}.

{STUDENT#,COURSE#} → {STUDENT#}

is trivial.

First Idea (refined)

Let us make sure that every non-prime attribute fully depends onthe primary key.

9 / 58

Page 10: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Second Normal Form

But there could be more than one candidate key!

Example

R = {A,B,C ,D,E}.Σ = {{A,B} → {C ,D}, {C ,D} → {A,B}, {C} → {E}}The candidate keys are {A,B} and {C ,D}.E fully depends on {A,B}.Yet E does not fully depend on {C ,D}. This can create anomalies.

First Idea (further refined)

Let us make sure that every non-prime attribute fully depends oneach candidate key.

10 / 58

Page 11: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Second Normal Form

“A nonkey field must provide a fact about the key, the whole key[...]”, W. Kent in “A Simple Guide to Five Normal Forms inRelational Database Theory”, Communication of the ACM,Volume 26, Number 2 (1983).

11 / 58

Page 12: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Second Normal Form

Definition

A relation R with a set of functional dependencies Σ is in SecondNormal Form, or 2NF for short, if and and only if every non-primeattribute is fully dependent on each candidate key.

12 / 58

Page 13: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Second Normal Form

Theorem

A relation R with a set of functional dependencies Σ is in SecondNormal Form if and only if for every functional dependencyX → {A} ∈ Σ+:

X → {A} is trivial orX is not a proper subset of a candidate key or

A is a prime attribute.

It is sufficient to look at Σ.

13 / 58

Page 14: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Second Normal Form

This situation where X is a proper subset of a candidate key isforbidden:

Key

X

X cannot be proper subset of a candidate key.A must be fully dependent on each candidate key.

14 / 58

Page 15: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Second Normal Form

For all candidate keys, we must have one of the following:

Key X

X instersect with thecandidate key.

X

Key

X is a superset of thecandidate key

(X is a superkey).

Key X

X and the candidatekey are disjoint.

X = Key

X is a candidate key(X is a superkey).

15 / 58

Page 16: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Second Normal Form

STUDENT

STUDENT# DEPARTMENT FACULTY SNAME

95001 CS SoC Tan CK95023 CEG Eng Lee SL· · ·

COURSE

COURSE# CDESC

CS1101 ProgrammingCS2103 D.S. and Alg.· · ·

TAKE

STUDENT# COURSE# MARK

95001 CS1101 7595023 CS1101 5895023 CS2103 64· · ·

Verify that all relations are in 2NF.What are the (projected) functional dependencies? What are thecandidate keys? Is it prone to anomalies?

16 / 58

Page 17: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Second Normal Form

Example

A supplier with supplier number (S#) and name (SNAME)supplies a part with part number (P#) and name (PNAME) with aprice (PRICE).

SP = {S#,SNAME,P#,PNAME,PRICE}

Σ = {{S#} → {SNAME},

{P#} → {PNAME},

{S#,P#} → {PRICE}}

17 / 58

Page 18: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Second Normal Form

Question

Is SP with Σ in 2NF?

The only candidate key is {S#,P#}. How to prove it?

Compute all the attribute set closures or observe that PRICEcannot be prime as it appears in the right-hand-side of a functionaldependency and does not appear in the left-hand-side of afunctional dependency.

18 / 58

Page 19: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Second Normal Form

Question

Is SP with Σ in 2NF?

One way: SNAME is not fully dependent on the candidate key.

{S#} → {SNAME}

There is redudant information about SNAME and about PNAMEin SP.

Or another: {S#} → {SNAME} is neither trivial, nor is SNAME aprime attribute, and {S#} is a proper subset of a candidate key({S#} ⊂ {S#,P#} and {S#} 6= {S#,P#}).

Answer

SP with Σ in not in 2NF.

19 / 58

Page 20: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Third Normal Form

Third Normal Form

STUDENT

STUDENT# DEPARTMENT FACULTY SNAME

95001 CS SoC Tan CK95011 CS SoC Wee LK95023 CEG Eng Lee SL· · ·

20 / 58

Page 21: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Third Normal Form

Example

R = {STUDENT#,FACULTY,COURSE#, SNAME}.Σ = {{STUDENT#} → {SNAME,DEPARTMENT},{DEPARTMENT} → {FACULTY}}The candidate key is {STUDENT#}.The relation is in 2NF.

Problem

FACULTY is transitively dependent on the key! This createsanomalies.

21 / 58

Page 22: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Third Normal Form

Reminder

We say that a non-prime attribute A is transitively dependent on acandidate key if and only if there exists a set of attributes S suchthat S is not a superkey and S → {A} holds and is a non-trivialfunctional dependency.

FACULTY is transitively dependent on the key.{STUDENT#} → {DEPARTMENT} → {FACULTY}

22 / 58

Page 23: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Third Normal Form

Second Idea

Let us make sure that every non-prime attribute is not transitivelydependent on any candidate key.

23 / 58

Page 24: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Third Normal Form

Second Idea

“A nonkey field must provide a fact about the key, the whole key,and nothing but the key. [So help me Codd.]”,W. Kent in “A Simple Guide to Five Normal Forms in RelationalDatabase Theory”, Communication of the ACM, Volume 26,Number 2 (1983).

24 / 58

Page 25: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Third Normal Form

Definition

A relation R with a set of functional dependencies Σ is in (Codd)Third Normal Form, or 3NF for short, if and and only if it is inSecond Normal Form and no non-prime attribute is transitivelydependent on some candidate key.

25 / 58

Page 26: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Third Normal Form

The test requires to check every non-prime attribute with everycandidate key.

Theorem

If a non-prime attribute is not transitively dependent on a givencandidate key, then it fully depends on a candidate key.

Theorem

A relation R with a set of functional dependencies Σ is in ThirdNormal Form if and and only if it is in 2NF and every non-primeattribute is not transitively dependent on any given candidate key.

The test now only requires to check every non-prime attribute withone candidate key.

26 / 58

Page 27: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Third Normal Form

The test requires to check 2NF.

Theorem

If a non-prime attribute is not transitively dependent on any givencandidate key, then it fully depends on a candidate key.

Theorem

A relation R with a set of functional dependencies Σ is in ThirdNormal Form if and and only if every non-prime attribute is nottransitively dependent on any given candidate key.

The test now does not requires to check 2NF.

27 / 58

Page 28: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Third Normal Form

Theorem

A relation R with a set of functional dependencies Σ is in ThirdNormal Form, or 3NF for short, if and only if for every functionaldependency X → {A} ∈ Σ+:

X → {A} is trivial orA is a prime attribute or

X is a superkey.

It is sufficient to look at Σ.

28 / 58

Page 29: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Third Normal Form

For some candidate key, we must have one of the following:

X

Key

X is a superset of thecandidate key

(X is a superkey).

X = Key

X is the candidate key(X is a superkey).

29 / 58

Page 30: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Third Normal Form

STUDENT

STUDENT# DEPARTMENT SNAME

95001 CS Tan CK95011 CS Wee LK95023 CEG Lee SL· · ·

DEPARTMENT

DEPARTMENT FACULTY

CS SoCCS SoCCEG Eng· · ·

Verify that all relations are in 3NF.What are the (projected) functional dependencies? What are thecandidate keys? Is it prone to anomalies?

30 / 58

Page 31: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Third Normal Form

Example

A supplier with supplier number (S#) and name (SNAME)supplies a part with part number (P#) and name (PNAME) with aprice (PRICE).

SP = {S#,SNAME,P#,PNAME,PRICE}

Σ = {{S#} → {SNAME},

{P#} → {PNAME},

{S#,P#} → {PRICE}}

31 / 58

Page 32: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Third Normal Form

Question

Is SP with Σ in 3NF?

The only candidate key is {S#,P#}.

One way: SNAME is transitively dependent on the candidate key.

{S#,P#} → {S#} {S#} → {SNAME}

Or another: {S#} → {SNAME} is neither trivial, nor is SNAME aprime attribute, nor is {S#} a superkey.

Answer

SP with Σ in not in 3NF.

32 / 58

Page 33: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Elementary Key Normal Form

Elementary Key Normal Form

STAFF

DEPARTMENT HEAD PROFESSOR

Tan Kian Lee CS Lee Mong LiZhu Chengbo Math Frank StefanTan Kian Lee CS Frank StefanZhu Chengbo Math Bao Weizhu

· · ·

33 / 58

Page 34: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Elementary Key Normal Form

Example

STAFF = {DEPARTMENT,HEAD,PROFESSOR}.Σ = {{DEPARTMENT} → {HEAD}, {HEAD} →{DEPARTMENT}}The candidate keys are {PROFESSOR,HEAD} and{PROFESSOR,DEPARTMENT}.The relation is in 3NF. Every attribute is prime!

Problem

{HEAD} → {DEPARTMENT} and {DEPARTMENT} → {HEAD}cannot be enforced in most SQL dialects. This leads to anomalies.

34 / 58

Page 35: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Elementary Key Normal Form

Definition

An elementary functional dependency is a full dependency.

Definition

A candidate key K is an elementary candidate key if and only ifthere exists an attribute A such that K → {A} is an elementaryfunctional dependency.

Definition

An elementary prime attribute is an attribute of some elementarycandidate key.

35 / 58

Page 36: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Elementary Key Normal Form

The two candidate keys, {PROFESSOR,HEAD} and{PROFESSOR,DEPARTMENT}, are not elementary: there is noattribute that fully depends on them.

36 / 58

Page 37: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Elementary Key Normal Form

Third Idea

Let us make sure that some candidate keys and all transitivelydependent prime attributes are elementary.

37 / 58

Page 38: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Elementary Key Normal Form

Definition

A relation R with a set of functional dependencies Σ is inElementary Key Normal Form, or EKNF for short, if and only if forevery functional dependency X → {A} ∈ Σ+:

X → {A} is not elementary or

A is an elementary prime attribute or

X is an elementary candidate key.

It is sufficient to look at Σ.

38 / 58

Page 39: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Elementary Key Normal Form

Theorem

A relation R with a set of functional dependencies Σ is inElementary Key Normal Form, or EKNF for short, if and only if forevery functional dependency X → {A} ∈ Σ+:

X → {A} is trivial orA is an elementary prime attribute or

X is a superkey.

It is sufficient to look at Σ.

39 / 58

Page 40: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Elementary Key Normal Form

Example

STAFF = {DEPARTMENT,HEAD,PROFESSOR}.Σ = {{DEPARTMENT} → {HEAD}, {HEAD} →{DEPARTMENT}}The candidate keys are {PROFESSOR,HEAD} and{PROFESSOR,DEPARTMENT}.No candidate key is elementary.

The relation is not in EKNF.

40 / 58

Page 41: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Elementary Key Normal Form

STAFF

DEPARTMENT PROFESSOR

CS Lee Mong LiMath Frank StefanCS Frank Stefan

Math Bao Weizhu· · ·

MANAGEMENT

DEPARTMENT HEAD

Tan Kian Lee CSZhu Chengbo Math

· · ·

Verify that all relations are in EKNF.What are the (projected) functional dependencies? What are thecandidate keys? Is it prone to anomalies?

41 / 58

Page 42: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Boyce-Codd Normal Form

Boyce-Codd Normal Form

STAFF

DEPARTMENT HEAD PROFESSOR

Tan Kian Lee CS Lee Mong LiZhu Chengbo Math Frank StefanTan Kian Lee CS Frank StefanZhu Chengbo Math Bao Weizhu

· · ·

42 / 58

Page 43: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Boyce-Codd Normal Form

Example

STAFF = {DEPARTMENT,HEAD,PROFESSOR}.Σ = {{DEPARTMENT} → {HEAD}, {HEAD} →{DEPARTMENT}}The candidate keys are {PROFESSOR,HEAD} and{PROFESSOR,DEPARTMENT}.The relation is in 3NF. Every attribute is prime!

Problem

{HEAD} → {DEPARTMENT} and {DEPARTMENT} → {HEAD}cannot be enforced in most SQL dialects. This leads to anomalies.

43 / 58

Page 44: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Boyce-Codd Normal Form

Fourth Idea

Why do we focus on prime and elementary attributes?If something non-trivially depends on something else, then itshould be on

“a key, a whole key, and nothing but a key”

44 / 58

Page 45: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Boyce-Codd Normal Form

Definition

A relation R with a set of functional dependencies Σ is inBoyce-Codd Normal Form, or BCNF for short, if and only if forevery attribute set S ⊂ R, if any attribute of R not in S isfunctionally dependent on S , then all attributes in R arefunctionally dependent on S .

Theorem

A relation R with a set of functional dependencies Σ is in BCNF ifand only if no attribute is transitively dependent on any key.[David Maier]

45 / 58

Page 46: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Boyce-Codd Normal Form

Theorem

A relation R with a set of functional dependencies Σ is in BCNF ifand only if for every functional dependency X → {A} ∈ Σ+:

X → {A} is trivial orX is a superkey.

It is sufficient to look at Σ.

46 / 58

Page 47: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Boyce-Codd Normal Form

STAFF

DEPARTMENT PROFESSOR

CS Lee Mong LiMath Frank StefanCS Frank Stefan

Math Bao Weizhu· · ·

MANAGEMENT

DEPARTMENT HEAD

Tan Kian Lee CSZhu Chengbo Math

· · ·

Verify that all relations are in BCNF.What are the (projected) functional dependencies? What are thecandidate keys? Is it prone to anomalies?

47 / 58

Page 48: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Boyce-Codd Normal Form

The prototypical example of a relation in 3NF (and EKNF) andnot in BCNF is:

R(A,B,C )

with

{A,B} → {C}

and

{C} → {B}

The candidate keys are {A,B} and {A,C}.The only elementary candidate keys is {A,B}(Why isn’t {A,C} elementary?).{C} → {B} is non trivial, {C} is not a candidate key but B is anelementary prime attribute.

48 / 58

Page 49: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Boyce-Codd Normal Form

DIRECTORY

PROFESSOR UNIVERSITY TELEPHONE

Ling Tok wang NUS (65) 6516-2734Lee Mong Li NUS (65) 6516 2905Gillian Dobbie U. Auckland (64 9) 373-7599 83949Lee Mong Li U. Auckland (64 9) 373-7599 83949· · ·

49 / 58

Page 50: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Boyce-Codd Normal Form

Example

R = {PROFESSOR,UNIVERSITY,TELEPHONE}.Σ = {{PROFESSOR,UNIVERSITY} → {TELEPHONE},{TELEPHONE} → {UNIVERSITY}}The candidate keys are {PROFESSOR,UNIVERSITY} and{PROFESSOR,TELEPHONE}.The relation is in EKNF but not in BCNF.

Problem

{TELEPHONE} → {UNIVERSITY} cannot be enforced in mostSQL dialects).

50 / 58

Page 51: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Boyce-Codd Normal Form

DIRECTORY

PROFESSOR UNIVERSITY TELEPHONE

Ling Tok wang NUS (65) 6516-2734Lee Mong Li NUS (65) 6516 2905Gillian Dobbie U. Auckland (64 9) 373-7599 83949Lee Mong Li U. Auckland (64 9) 373-7599 83949· · ·

SUBDIRECTORY

UNIVERSITY TELEPHONE

NUS (65) 6516-2734NUS (65) 6516 2905

U. Auckland (64 9) 373-7599 83949· · ·

Verify that all relations are in EKNF but still not in BCNF.What are the (projected) functional dependencies? What are thecandidate keys? Is it prone to anomalies?

51 / 58

Page 52: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Boyce-Codd Normal Form

Example

DIRECTORY = {PROFESSOR,UNIVERSITY,TELEPHONE}.Σ1 = {{PROFESSOR,UNIVERSITY} → {TELEPHONE},{TELEPHONE} → {UNIVERSITY}}The candidate keys are {PROFESSOR,UNIVERSITY} and{PROFESSOR,TELEPHONE}.SUBDIRECTORY = {UNIVERSITY,TELEPHONE}.Σ2 = {{TELEPHONE} → {UNIVERSITY}}The candidate keys are {PROFESSOR,UNIVERSITY} and{PROFESSOR,TELEPHONE}.

In addition, one needs a referential constraintfrom {DIRECTORY.UNIVERSITY,DIRECTORY.TELEPHONE} to{SUBDIRECTORY.UNIVERSITY,SUBDIRECTORY.TELEPHONE}

52 / 58

Page 53: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Boyce-Codd Normal Form

One possible way is to declare a primary key which is a superkey.

CREATE TABLE DIRECTORY

UNIVERSITY ... ,

TELEPHONE ... UNIQUE NOT NULL,

PRIMARY KEY (UNIVERSITY, TELEPHONE))

And to declare the foreign key.

DIRECTORY(UNIVERSITY, TELEPHONE) REFERENCES

SUBDIRECTORY(UNIVERSITY, TELEPHONE)

53 / 58

Page 54: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Boyce-Codd Normal Form

DIRECTORY

PROFESSOR TELEPHONE

Ling Tok wang (65) 6516-2734Lee Mong Li (65) 6516 2905Gillian Dobbie (64 9) 373-7599 83949Lee Mong Li (64 9) 373-7599 83949· · ·

SUBDIRECTORY

UNIVERSITY TELEPHONE

NUS (65) 6516-2734NUS (65) 6516 2905

U. Auckland (64 9) 373-7599 83949· · ·

Verify that all relations are in BCNF.What are the (projected) functional dependencies? What are thecandidate keys? Is it prone to anomalies?

54 / 58

Page 55: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Boyce-Codd Normal Form

Example

DIRECTORY = {PROFESSOR,TELEPHONE}.Σ1 = ∅The candidate key is {PROFESSOR,TELEPHONE}.SUBDIRECTORY = {UNIVERSITY,TELEPHONE}.Σ2 = {{TELEPHONE} → {UNIVERSITY}}The candidate key is {TELEPHONE}.

But we have lost one functional dependency.{PROFESSOR,UNIVERSITY} → {TELEPHONE}

55 / 58

Page 56: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Boyce-Codd Normal Form

In some cases, there is no BCNF lossless dependency preservingdecomposition.

56 / 58

Page 57: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Relationships between Normal Forms

Theorem

1NF ⊂ 2NF ⊂ 3NF ⊂ EKNF ⊂ BCNF

Theorem

1NF 6= 2NF 6= 3NF 6= EKNF 6= BCNF

57 / 58

Page 58: 4. Normal Forms - National University of Singaporelingtw/normal forms.pdf · Kent, William, \A Simple Guide to Five Normal Forms in Relational Database Theory", Communications of

Motivation 2NF 3NF EKNF BCNF Conclusion

Relationships between Normal Forms

We have not discussed inter-relational dependencies.See https://www.comp.nus.edu.sg/~lingtw/ltk.pdf or readT.-W. Ling, F.W. Tompa, and T. Kameda, ”An Improved ThirdNormal Form for Relational Databases”, ACM Transactions onDatabase Systems, 6(2), June 1981, 329-346.

58 / 58