Boolean conjunctive query: Difference between revisions

Content deleted Content added
No edit summary
Trylks (talk | contribs)
What are "appropriate tuples of values" for a relation? Are relations intensional or extensional?
Line 1:
In the theory of [[relational databases]], a '''Boolean conjunctive query''' is a [[conjunctive query]] without distinguished predicates, i.e., a query in the form <math>R_1(t_1) \wedge \cdots \wedge R_n(t_n)</math>, where each <math>R_i</math> is a relation symbol and each <math>t_i</math> is a tuple of variables and constants; the number of elements in <math>t_i</math> is equal to the [[arity]] of <math>R_i</math>. Such a query evaluates to either true or false depending on whether the relations in the database containscontain the appropriate tuples of values, i.e. the conjunction is [[Validity|valid]] according to the facts in the database.
 
As an example, if a database schema contains the relation symbols <math>Father</math> (binary, who's the father of whom) and <math>Employed</math> (unary, who is employed), a conjunctive query could be <math>Father(Mark, x) \wedge Employed(x)</math>. This query evaluates to true if there exists an individual <math>x</math> who is a child of Mark and employed. In other words, this query expresses the question: "does Mark have employed children?"