We describe an algorithm that constructs for a given set of (functional and multivalued) dependencies Σ and a set of attributes X, the dependency basis of X. The algorithm runs in time O(min(k,log p)|Σ|), where p is the number of sets in the dependency basis of X and k is the number of dependencies in Σ. A variant of the algorithm tests whether a dependency σ is implied by Σ in time O(min(k,log p) |Σ|), where p is the number of sets in the dependency basis of the left-hand side of σ that intersect the right-hand side of σ. Whenever all the dependencies in ΣU{σ} are functional dependencies these algorithms are linear time.
更多
查看译文
关键词
Relational Database,Functional Dependency,Propositional Logic,Linear Time Algorithm,Correctness Proof