Compute the closure of the following set of functional dependencies for relation schema .
List the candidate keys for .
Note: It is not reasonable to expect students to enumerate all of . Some shorthand representation of the result should be acceptable as long as the nontrivial members of are found.
Starting with , we can conclude that: and .
Since and , (decomposition, transitive)
Since and , (union, decomposition, transitive)
Since , we have from the above steps (reflexive, union)
Since , (transitive)
Since , (transitive)
Since and , (augmentative, transitive)
Also, , , , etc.
Therefore, any functional dependency with or on the left-hand side of the arrow is in , no matter which other attributes appear in the functional dependency. Allow to represent any set of attributes in , the is , , , , , , , , and all functional dependencies of the form , , , where is any subset of . The candidate keys are , , , and .