- Trending Categories
- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP

- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who

# What is the minimal set of functional dependencies or canonical cover of FD?

A minimal cover of a set of functional dependencies (FD) E is a minimal set of dependencies F that is equivalent to E.

The formal definition is: A set of FD F to be minimal if it satisfies the following conditions −

Every dependency in F has a single attribute for its right-hand side.

We cannot replace any dependency X->A in F with a dependency Y->A, where Y is a proper subset of X, and still have a set of dependencies that is equivalent to F.

We cannot remove any dependency from F and still have a set of dependencies that are equivalent to F.

Canonical cover is called minimal cover which is called the minimum set of FDs. A set of FD FC is called canonical cover of F if each FD in FC is a −

- Simple FD.
- Left reduced FD.
- Non-redundant FD.

**Simple FD** − X->Y is a simple FD if Y is a single attribute.

**Left reduced FD** − X->Y is a left reduced FD if there are no extraneous attributes in X. {extraneous attributes: Let XA->Y then, A is a extraneous attribute if X_>Y}

**Non-redundant FD** − X->Y is a Non-redundant FD if it cannot be derived from F- {X->y}.

## Example

Consider an example to find canonical cover of F.

The given functional dependencies are as follows −

A -> BC

B -> C

A -> B

AB -> C

Minimal cover: The minimal cover is the set of FDs which are equivalent to the given FDs.

Canonical cover: In canonical cover, the LHS (Left Hand Side) must be unique.

First of all, we will find the minimal cover and then the canonical cover.

**First step** − Convert RHS attribute into singleton attribute.

A -> B

A -> C

B -> C

A -> B

AB -> C

**Second step** − Remove the extra LHS attribute

Find the closure of A.

A+ = {A, B, C}

So, AB -> C can be converted into A -> C

A -> B

A -> C

B -> C

A -> B

A -> C

**Third step** − Remove the redundant FDs.

A -> B

B -> C

Now, we will convert the above set of FDs into canonical cover.

The canonical cover for the above set of FDs will be as follows −

A -> BC

B -> C

- Related Questions & Answers
- What is an equivalence of sets of functional dependencies?
- Find the canonical cover of FD {A->BC, B->AC, C->AB} in DBMS
- What is the canonical label?
- Which normal form is the highest that satisfies the functional dependencies(DBMS)?
- What is the basic minimal structure of HTML document?
- Explain the inference rules for functional dependencies in DBMS
- What is the role of test automation in functional testing?
- What is Canonical Collection of LR (0) items in compiler design?
- Write the dependencies of backbone.js in javascript?
- Types of dependencies in DBMS
- What is the generic functional interface in Java?
- what is functional testing in QA
- What is non functional testing example
- What is functional dependency in DBMS?
- What are Control dependencies?