On the Complexity of Testing Implications of Functional and Join Dependencies

David Maier, Yehoshua Sagiv*, Mihalis Yannakakis

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

51 Scopus citations

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 languageEnglish
Pages (from-to)680-695
Number of pages16
JournalJournal of the ACM
Volume28
Issue number4
DOIs
StatePublished - 1 Oct 1981
Externally publishedYes

Keywords

  • functional dependency
  • join
  • join dependency
  • membership algorithm
  • multivalued dependency
  • NP-complete
  • relational database

Fingerprint

Dive into the research topics of 'On the Complexity of Testing Implications of Functional and Join Dependencies'. Together they form a unique fingerprint.

Cite this