Please visit, subscribe and share 10 Minutes Lectures in Computer Science
Showing posts with label Normal Forms. Show all posts
Showing posts with label Normal Forms. Show all posts

## Canonical Cover

### Definition:

A Canonical Cover for a set of functional dependencies F is another set of functional dependencies Fc such that all the functional dependencies in F logically imply all the functional dependencies in Fc and vice versa. We insist the Fc to meet the following requirements;
1. F should logically imply all FDs in Fc, [F = Fc]
2. Fc should logically imply all FDs in F,
3. Functional dependencies of Fc should not contain any Extraneous attribute. (Refer for Extraneous attributes)
4. The left side of all the functional dependencies in Fc should be unique.

Actually, a Canonical cover Fc is a minimal set of functional dependencies that is equivalent to F, and have no redundant functional dependencies or redundant attributes as part of functional dependencies.

In other words, every functional dependency of Fc is very much needed and it is as small as possible when compared to the size of F.

Canonical Cover Algorithm:
ALGORITHM CanonicalCover(FD set F)
BEGIN
REPEAT UNTIL STABLE
1. Wherever possible, apply UNION rule from Armstrong’s Axioms
(e.g., A BC, A CD becomes A BCD)
2. Remove “extraneous attributes”, if any, from every FD
(e.g., ABC, AB becomes AB, BC i.e., A is extraneous in ABC)
END

Example:

### Redundant Functional Dependency:

A C is redundant in {A B, B C, A C}
Observe from the given set of functional dependencies, A B and B C will automatically include A C as a result of Transitivity. Hence, we do not need to check whether C is uniquely determined by A or not [in other words, A uniquely determines C or not]. Hence, A C is redundant.
And, the set of functional dependencies {A B, B C} is semantically equivalent to given set of functional dependencies {A B, B C, A C}.

### Redundant Attributes or Redundant Part of Set of Attributes:

Attribute C is redundant on the Right Hand Side (RHS) of FD A CD in {A B, B C, A CD}.
Here, C is already determined by B. Hence, we do not need to include in another FD to check the dependency. So, the given set of functional dependencies can be simplified as {A B, B C, A D}. And, this is equivalent.
Attribute C is redundant on the Left Hand Side (LHS) of FD AC D in {A B, B C, AC D}.
Here, if we know A, intuitively we know C as well through Transitivity rule. Hence, A D is suffice to represent. So, the given set of functional dependencies can be simplified as {A B, B C, A D}. And, this is equivalent to the given set of FDs.

## Difference between 1NF and 2NF / Comparison of 1NF and 2NF / Compare 1NF and 2NF / 1NF and 2NF Comparison / 1NF and 2NF difference

### Properties to be satisfied for 1NF and 2NF (recall)

1NF – All attribute values are atomic values, i.e, no repeating group or no composite attributes present.
2NF – Table should be in 1NF and no partial functional dependency presents.

 Properties 1NF 2NF Attribute Domain Should be Atomic Should be Atomic Functional Dependencies Identification Not necessary Must Handling of Update Anomalies Does not handle. It deals with the basic structure of a relation. Handle update anomalies. Composite Key as Primary Key Primary Key can be Composite key Primary Key cannot be Composite key always. It may violate 2NF if partial key dependency exists. That is, no partial functional dependency is permitted Goal Eliminate Redundant Data Ensure Data Dependencies

*********

# Compare first normal form 1nf with second normal form 2nf in dbms

## Featured Content

### Multiple choice questions in Natural Language Processing Home

MCQ in Natural Language Processing, Quiz questions with answers in NLP, Top interview questions in NLP with answers Multiple Choice Que...

data recovery