Equality-generating dependency

From HandWiki

In relational database theory, an equality-generating dependency (EGD) is a certain kind of constraint on data. It is a subclass of the class of embedded dependencies (ED). An algorithm known as the chase takes as input an instance that may or may not satisfy a set of EGDs (or, more generally, a set of EDs), and, if it terminates (which is a priori undecidable), output an instance that does satisfy the EGDs.

An important subclass of equality-generating dependencies are functional dependencies.

Definition

An equality-generating dependency is a sentence in first-order logic of the form:

x1,,xn.ϕ(x1,,xn)ψ(y1,,ym)

where {y1,,ym}{x1,,xn}, ϕ is a conjunction of relational and equality atoms and ψ is a non-empty conjunction of equality atoms. A relational atom has the form R(w1,,wh) and an equality atom has the form wi=wj, where each of the terms w,...,wh,wi,wj are variables or constants.

Actually, one can remove all equality atoms from the body of the dependency without loss of generality.[1] For instance, if the body consists in the conjunction A(x,y)B(y,z,w)y=3z=w, then it can be replaced with A(x,3)B(3,z,z) (analogously replacing possible occurrences of the variables y and w in the head).

An equivalent definition is the following:[2]

x1,,xn.ϕ(x1,,xn)xi=xj

where i,j{1,,n}. Indeed, generating a conjunction of equalities is equivalent to have multiple dependencies which generate only one equality.

References

  1. (Abiteboul Hull)
  2. Calì, Andrea; Pieris, Andreas (2011). "On Equality-Generating Dependencies in Ontology Querying - Preliminary Report". Alberto Mendelzon International Workshop on Foundations of Data Management (AMW 2011). http://ceur-ws.org/Vol-749/paper23.pdf. 

Further reading