Article · Wikipedia archive · Last revised May 31, 2026

Boolean conjunctive query

In the theory of relational databases, a Boolean conjunctive query is a conjunctive query without distinguished predicates, i.e., a query in the form , where each is a relation symbol and each is a tuple of variables and constants; the number of elements in is equal to the arity of . Such a query evaluates to either true or false depending on whether the relations in the database contain the appropriate tuples of values, i.e. the conjunction is valid according to the facts in the database.

Last revised
May 31, 2026
Read time
≈ 1 min
Length
241 w
Citations
Source

In the theory of relational databases, a Boolean conjunctive query is a conjunctive query without distinguished predicates, i.e., a query in the form R 1 ( t 1 ) R n ( t n ) {\displaystyle R_{1}(t_{1})\wedge \cdots \wedge R_{n}(t_{n})} , where each R i {\displaystyle R_{i}} is a relation symbol and each t i {\displaystyle t_{i}} is a tuple of variables and constants; the number of elements in t i {\displaystyle t_{i}} is equal to the arity of R i {\displaystyle R_{i}} . Such a query evaluates to either true or false depending on whether the relations in the database contain the appropriate tuples of values, i.e. the conjunction is valid according to the facts in the database.

As an example, if a database schema contains the relation symbols Father (binary, who's the father of whom) and Employed (unary, who is employed), a conjunctive query could be F a t h e r ( Mark , x ) E m p l o y e d ( x ) {\displaystyle Father({\text{Mark}},x)\wedge Employed(x)} . This query evaluates to true if there exists an individual x who is a child of Mark and employed. In other words, this query expresses the question: "does Mark have an employed child?"

Complexity

See also

See also

References

References

  • G. Gottlob; N. Leone; F. Scarcello (2001). "The complexity of acyclic conjunctive queries". Journal of the ACM. 48 (3): 431–498. doi:10.1145/382780.382783.