How to prove that two sets of functional dependencies are equal or not - Proving equality of two sets of functional dependencies - How to find whether two sets of functional dependencies are equal or not? - Equivalent sets of functional dependencies
Exercise:
Let F = {A → C, AC →
D, E → AD}, and let G = {A → CD, E → AHE}. Are they
equivalent?
Solution:
To check whether
two sets of functional dependency are equivalent, we have to verify every
functional dependency (FD) of F is in G+ and every FD of G is in F+.
Theorem: If
F ⊆ G+ and G ⊆
F+, then F and G are
equivalent.
To check for F ⊆ G+
Let us take the
first FD of F, A → C and find the closure using FDs from G as follows;
- A+ = ACD through the FD A → CD of G. The result includes the RHS attribute of FD A → C. Hence, A → C is in G+.
Let us do the same
for other FDs of F;
- AC+ = ACD through the FD A → CD of G. The result includes the RHS attribute of FD AC → D. Hence, AC → D is in G+.
- E+ = AHECD through the FDs E → AHE and A → CD of G. The result includes the RHS attribute of FD E → AD. Hence, E → AD is in G+.
As all the FDs of F
can be derived using G, F ⊆ G+ is true.
To check for G ⊆ F+
- A+ = ACD through the FDs A → C and AC → D of F. The result includes the RHS attribute of FD A → CD. Hence, A → CD is in F+.
- E+ = ACDE through the FDs E → AD, A → C and AC → D of F. The result does not include the RHS attribute of FD E → AHE. Hence, E → AHE is in F+.
As all the FDs of G
cannot be derived using F, G ⊆ F+ is false.
Result:
We found that F ⊆
G+ is true but not G ⊆
F+. Hence, the given set of functional
dependencies F and G are not equivalent (F ≠ G).
******************
How to find closure of set of functional dependencies?
How to find closure of attributes?
How to find canonical cover for a set of functional dependencies?
How to find extraneous attribute?
Go back to Question/QUIZ page
Go back to Online Quizzes home page