Functional dependencies in a relational database and propositional logic

  • Authors:
  • R. Fagin

  • Affiliations:
  • IBM Research Division laboratory, San Jose, California

  • Venue:
  • IBM Journal of Research and Development
  • Year:
  • 1977

Quantified Score

Hi-index 0.00

Visualization

Abstract

An equivalence is shown between functional dependency statements of a relational database, where "→" has the meaning of "determines," and implicational statements of propositional logic, where"⇒" has the meaning of "implies." Specifically, it is shown that a dependency statement is a consequence of a set of dependency statements if the corresponding implicational statement is a consequence of the corresponding set of implicational statements. The database designer can take advantage of this equivalence to reduce problems of interest to him to simpler problems in propositional logic. A detailed algorithm is presented for such an application. Two proofs of the equivalence are presented: a "syntactic" proof and a "semantic" proof. The syntactic proof proceeds in several steps. It is shown that 1) Armstrong's Dependency Axioms are complete for dependency statements in the usual logical sense that they are strong enough to prove every consequence, and that 2) Armstrong's Axioms are also complete for implicational statements in propositional logic. The equivalence then follows from 1) and 2). The other proof proceeds by considering appropriate semantic interpretations for the propositional variables. The Delobel-Casey Relational Database Decomposition Theorems, which heretofore have seemed somewhat fortuitous, are immediate and natural corollaries of the equivalence. Furthermore, a counterexample is demonstrated, which shows that what seems to be a mild extension of the equivalence fails.