- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Find the canonical cover of FD {A->BC, B->AC, C->AB} in DBMS
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 and 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}.
Problem
Find the canonical cover of FD {A->BC, B->AC, C->AB}.
Solution
Relational schema R(A,B,C) F: {A->BC, B->AC, C->AB}
Step 1 − Create a singleton right hand side
dependency A->BC will break into A->B, A->C.
F: { A->B A->C B->A B->C C->A C->B}
Step 2 − Remove extraneous attributes if any exists.
F:{ A->B A->C B->A B->C C->A C->B} NO extraneous attributes exists
Step 3 − Remove the redundant FD
F: { A->B A->C B->A B->C C->A C->B }
Remove B->A dependency and we can get A from B through B->C and C->A.
F= {A->B A->C B->C C->A C->B}
By removing C->B dependency we get B from C through C->A , A->B.
F={A->B B->C C->A A->C}
By removing A->C dependency we can determine C from A through A->B, B->C
Step 4 − The final canonical cover is as follows −
FC ={ A->B, B->C, C->A } [A]+ =BC [B]+=AC [C]+=AB.