Abstract
It is shown that testing whether a dependency o is unpiled by a set Ʃ of functional and join dependencies is NP-hard if σ is a join dependency, but it reqmres only O(|U| ||Ʃ||) time ff σ Is either a funcuonal or a multivalued dependency (|U| is the number of elements in the set of all the attributes U, and ||Ʃ|| as the space required to write down Ʃ). The fact that inferring join dependencies is NP-hard follows from the followmg stronger result. It is proved that if Ʃ is a set of one join dependency and several funcuonal dependencies, then testing whether Ʃ implies a join dependency σ is NP-complete By combming this result with a recent result of Beeri and Vardi can be proved that if Ʃ is a set of one join dependency and several multivalued dependencies, then testing whether Ʃ unphes a join dependency σ is NP-hard It is also shown that the problem of deciding whether a JD-rule can be applied to a tableau T and the problem of testing whether a relation r does not obey a join dependency are NP-complete. The first problem is NP-complete even if T can be obtamed from a tableau corresponding to a join dependency by applying some FD-rules. As a result, It follows that deciding whether the join of several relations obtained by projecUon from a umversal instance is not equal to the universal instance is NP-complete. Finally, it is proved that there is no umversal constant n such that for every set of multlvalued dependencies Ʃ and a join dependency σ that is not unpiled by Ʃ, there is a relation with no more than n tuples in which holds but σ fails.
Original language | English |
---|---|
Pages (from-to) | 680-695 |
Number of pages | 16 |
Journal | Journal of the ACM |
Volume | 28 |
Issue number | 4 |
DOIs | |
State | Published - 1 Oct 1981 |
Externally published | Yes |
Keywords
- functional dependency
- join
- join dependency
- membership algorithm
- multivalued dependency
- NP-complete
- relational database