

- 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
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.
- Related Questions & Answers
- What is the minimal set of functional dependencies or canonical cover of FD?
- Find all pairs (a,b) and (c,d) in array which satisfy ab = cd in C++
- C++ Program to Implement a Heuristic to Find the Vertex Cover of a Graph
- How to create a B-Tree in DBMS?
- Larger of a^b or b^a in C++
- C++ program to Calculate the Edge Cover of a Graph
- Program to find N-th term of series a, b, b, c, c, c…in C++
- Find 2^(2^A) % B in C++
- Find FIRST & FOLLOW for the following Grammar. S → A a A | B b B A → b B B → ε
- Check which FD violates 3NF in a given relation and decompose R into 3NF(DBMS)
- Find A and B from list of divisors in C++
- Find multiple of x closest to or a ^ b (a raised to power b) in C++
- Find a palindromic string B such that given String A is a subsequence of B in C++
- Find the last digit when factorial of A divides factorial of B in C++
- Find the multiple of x which is closest to a^b in C++