Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
91 views15 pages

Canonical Cover & Normal Forms

The document discusses canonical covers and normal forms. It defines a canonical cover as a minimal set of functional dependencies (FDs) that are equivalent to the original set of FDs. It provides an algorithm to compute the canonical cover by putting FDs in simple form, minimizing left sides, and removing redundant FDs. The document also defines various normal forms including 1NF, 2NF, 3NF, and BCNF, with increasingly restrictive requirements on attribute dependencies. It gives examples of relations and sets of FDs to determine whether they satisfy the normal forms.

Uploaded by

Nikola Kadic
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
91 views15 pages

Canonical Cover & Normal Forms

The document discusses canonical covers and normal forms. It defines a canonical cover as a minimal set of functional dependencies (FDs) that are equivalent to the original set of FDs. It provides an algorithm to compute the canonical cover by putting FDs in simple form, minimizing left sides, and removing redundant FDs. The document also defines various normal forms including 1NF, 2NF, 3NF, and BCNF, with increasingly restrictive requirements on attribute dependencies. It gives examples of relations and sets of FDs to determine whether they satisfy the normal forms.

Uploaded by

Nikola Kadic
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Canonical Cover &

Normal Forms

1
Canonical Cover

 The number closure computation depends on the


number of FD’s in F
 Question: Can we “minimize” F?
 Let F and G be sets of FD’s. F ≡ G iff F+ ≡ G+
 If F ≡ G we may say: G is a cover of F and vice
versa

2
Canonical Cover
 A canonical / minimal cover of F is a set G of
FDs that satisfies the following:
1. G is equivalent to F; that is, G ≡ F
2. G is minimal; that is, if we obtain a set H of FD’s
from G by deleting one or more of its FD’s, or by
deleting one or more attributes from some FD in
G, then F ≢ H
3. Every FD in G is of the form X  A, where A is a
single attribute 3
Computing Canonical Cover
 Step 1: Put the FD’s in the simple form
 Initialize G := F
 Replace each FD X → A1A2…Ak in G with X→A1,
X→A2, …, X→Ak
 Step 2: Minimize the left hand side of each FD
 E.g., for each FD AB → C in G, check if A or B on the
LHS is redundant , i.e., (G  {AB → C } ⋃ {A → C })+ ≡
F+?
 Step 3: Delete redundant FD’s
 For each FD X → A in G, check if it is redundant, i.e.,
whether (G  {X → A })+ ≡ F+?
4
Exercise #1
 Consider R = {A, B, C, D, E, F, G, H} with a
set of FDs
 F = {CD→A, EC→H, GHB→AB, C→D,
EG→A, H→B, BE→CD, EC→B}

Find a canonical cover for F

5
Normal Forms

 Given a relation schema R, we want to determine


whether it has problems related to redundancy. If
so, we need to decompose it into smaller relations.
 To address these issues, we need to study normal
forms

6
Types of Normal Forms
 Examples of normal forms:
 First normal form (1NF)
 Second normal form (2NF)
 Third normal form (3NF)
 Boyce-Codd normal form (BCNF)
 These normal forms have increasingly restrictive
requirements

BCNF 3NF 2NF 1NF

7
First Normal Form (1NF)
 A relation schema R is in the first normal
form if the domain of its each attribute has
only atomic values (No attribute is allowed to
be composite or multi valued)
 Example: The following relation is not in 1NF
 Student (SID, SName, {(CourseId, CouseName,
Grade)})

8
Second Normal Form (2NF)
 A relation schema R w.r.t. F is in 2NF if:
1. It is in 1NF
2. Every Non-Primary-Key attribute is fully
functionally dependent upon the ENTIRE
Primary-Key for its existence
 For each non-key attribute, ask:
 If I knew the value for part of the Primary-Key,
could I tell what the value for non-key attribute
would be?

9
2NF – Example - 1
 Inventory (Item, Supplier, Cost, Supplier Address)
 We first check if Cost is fully functionally dependent upon
the ENTIRE Primary-Key
 If I know just Item, can I find out Cost?
 No. We can have > 1 supplier for the same product.

 If I know just Supplier, and I find out Cost?


 No. We need to know what the Item is as well.

 So, Cost is fully functionally dependent upon the


ENTIRE Primary-Key

10
2NF – Example - 2
 Inventory (Item, Supplier, Cost, Supplier Address)
 We then check if Supplier Address is fully functionally
dependent upon the ENTIRE Primary-Key
 If I know just Item, can I find out Supplier Address?
 No. We can have > 1 supplier for the same product.

 If I know just Supplier, and I find out Supplier Address?


 Yes. The supplier’s address does not depend on the
Item.
 So, Supplier Address is NOT fully functionally
dependent upon the ENTIRE Primary-Key  NOT 2NF
11
Third Normal Form (3NF)
 A relation schema R w.r.t. F is in 3NF if, for every
FD X  A in F, at least one of the following
conditions holds:
 A  X, that is, X  A is a trivial FD, or
 X is a superkey, or
 If X is not a key, then A is part of some key of R
 To determine if a relation <R, F> is in 3NF, we
 Check whether the LHS of each nontrivial FD in
F is a superkey
 If not, check whether its RHS is part of any key
of R
12
Boyce-Codd Normal Form (BCNF)

A relation schema R w.r.t. F is in BCNF if, for


every FD X  A in F, at least one of the following
conditions is true:
 A  X, that is, X  A is a trivial FD, or

 X is a super key

 To determine whether R w.r.t. F is in BCNF


 Check whether the LHS X of each nontrivial FD
in F is a superkey
 How? Simply compute X+ (w.r.t. F) and check
if X+ = R
13
Exercise #2
 Consider R = {A, B, C, D, E, F, G, H} with a
set of FDs
 F = {CD→A, EC→H, GHB→AB, C→D,
EG→A, H→B, BE→CD, EC→B}

Is R w.r.t. F in 3NF?

14
Exercise #3
 Consider R = {A, B, C, D, E, F, G} with a set
of FDs
 F = {ABC→DE, AB→D, DE→ABCF, E→C}
 Is R in BCNF, 3NF, or neither?

15

You might also like