Functional Dependency Solving Algorithm for Minimal Cover

  • Context: Comp Sci 
  • Thread starter Thread starter chopnhack
  • Start date Start date
  • Tags Tags
    Algorithm Functional
Click For Summary
SUMMARY

The discussion focuses on the Functional Dependency Solving Algorithm for Minimal Cover, specifically the steps to reduce a set of functional dependencies. The original set F includes dependencies such as AB->C and C->A, which undergoes reduction through steps that involve eliminating redundant attributes and dependencies. The final reduced set F' consists of AB->C, C->A, BC->D, D->E, D->G, BE->C, CG->B, and CE->G. The participants clarify that transitivity cannot be applied to remove AB->A, as it contradicts the definition of functional dependencies.

PREREQUISITES
  • Understanding of functional dependencies in relational databases
  • Familiarity with closure of attributes in functional dependency analysis
  • Knowledge of minimal cover concepts in database normalization
  • Experience with algorithms for reducing functional dependencies
NEXT STEPS
  • Study the concept of attribute closure in depth
  • Learn about the algorithm for finding minimal covers in functional dependencies
  • Explore transitive dependencies and their implications in database design
  • Investigate advanced normalization techniques in relational database management systems
USEFUL FOR

Database designers, data analysts, and anyone involved in database normalization and optimization will benefit from this discussion, particularly those working with functional dependencies in relational databases.

chopnhack
Messages
53
Reaction score
3
Homework Statement
Solve the minimal cover of F={AB-->C, C-->A, BC-->D, ACD-->B, D-->EG, BE-->C, CG-->BD, CE-->G}
Relevant Equations
1st - Reduce RHS to singletons
2nd - Reduce LHS redundant attributes where permitted using closure of attributes where desired
attribute is in the closure
3rd - Reduce redundant functional dependencies using closure of attributes
Step 1: Reduce RHS into singletons
F = {AB->C, C->A, BC->D, ACD->B, D->E, D->G, BE->C, CG->B, CG->D, CE->G}
Step 2: Reduce LHS redundant attributes
ACD->B has closure of A: A, C: C,A and D: D,E,G since A is in the closure of C we can remove A from ACD->B making it CD->B no other LHS could be reduced.
Step 3: Remove redundant functional dependencies
ACD closure = ACDEGB since B is in the closure and also in the functional dependency ACD->B , we can remove it from the list of fd's
CG closure = CGBD since D is in the closure and also in the functional dependency CG->D, we can also remove it from the list of fd's

This leaves F'={AB->C, C->A, BC->D, D->E, D->G, BE->C, CG->B, CE->G}
Can I use transitivity to reduce this further, i.e. - AB->C and C->A becomes AB->A which can be removed since it becomes trivial?
Is {BC->D, D->EG, BE->C, CG->B, CE->G} the minimal set? If not, can you give me some advice on how to further refine the solution set?
Thank you.
 
Physics news on Phys.org
chopnhack said:
3rd - Reduce redundant functional dependencies using closure of attributes
ACD closure = ACDEGB since B is in the closure and also in the functional dependency ACD->B , we can remove it from the list of fd's
CG closure = CGBD since D is in the closure and also in the functional dependency CG->D, we can also remove it from the list of fd's
Neither of these is valid. What rule are you trying to use here? The way you've written it cannot be a rule since by definition, an item that is in the RHS of a fd is always in the closure of the LHS of that fd.
In fact you can remove either of the two rules you have removed, but not both.
 

Similar threads

  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
Replies
7
Views
2K
Replies
2
Views
1K
  • · Replies 16 ·
Replies
16
Views
4K
  • · Replies 13 ·
Replies
13
Views
2K
Replies
7
Views
2K
Replies
2
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K