Jump to content

Embedded dependency

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Horcrux (talk | contribs) at 15:41, 16 June 2022 (Extensions: +). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In relational database theory, an embedded dependency (ED) is a certain kind of constraint on a relational database. It is the most general type of constraint used in practice, including both tuple-generating dependencies and equality-generating dependencies. Embedded dependencies can express functional dependencies, join dependencies, multi-valued dependencies, inclusion dependencies, foreign key dependencies, and many more besides.

An algorithm known as the chase takes as input an instance that may or may not satisfy a set of EDs, and, if it terminates (which is a priori undecidable), output an instance that does satisfy the EDs.

Definition

An embedded dependency (ED) is a sentence in first-order logic of the form:

where and and are conjunctions of relational and equality atoms.[1] A relational atom has the form and an equality atom has the form , where each of the terms are variables or constants.

Restrictions

In literature there are many common restrictions on embedded dependencies, among with:[1][2]

When all atoms in are equalities, the ED is an EGD and, when all atoms in are relational, the ED is a TGD. Every ED is equivalent to an EGD and a TGD.

Extensions

A common extension of embedded dependencies are disjunctive embedded dependencies (DED),[3] which can be defined as follows:

where and and are conjunctions of relational and equality atoms.

Disjunctive embedded dependencies are more expressive than simple embedded dependencies, because DEDs in general can not be simulated using one or more EDs. An even more expressive constraint is the disjunctive embedded dependency with inequalities (indicated with DED), in which every may contain also inequality atoms.[3]

All the restriction above can be applied also to disjunctive embedded dependencies. Beside them, DEDs can also be seen as a generalization of disjunctive tuple-generating dependencies and disjunctive equality-generating dependencies.

References

  1. ^ a b (Kanellakis 1990)
  2. ^ Greco, Sergio; Zumpano, Ester (Nov 2000). Michel Parigot, Andrei Voronkov (ed.). Querying Inconsistent Databases. 7th International Conference on Logic for Programming Artificial Intelligence and Reasoning. Reunion Island, France: Springer. pp. 308–325. doi:10.1007/3-540-44404-1_20.
  3. ^ a b (Deutsch 2009)

Further readings