Generalized selection

From Wikipedia, the free encyclopedia

In relational algebra, a generalized selection is a unary operation written as \sigma_\varphi(R) where \varphi is a propositional formula that consists of atoms as allowed in the normal selection and the logical operators \and (and), \or (or) and \lnot (negation). This selection selects all those tuples in R for which \varphi holds.

For an example, consider the following tables where the first table gives the relation Person and the second the result of \sigma_{Age \ge 30 \ \and \ Weight \le 60}(Person).

Person \sigma_{Age \ge 30 \ \and \ Weight \le 60}(Person)
Name Age Weight
Harry 34 80
Sally 28 64
George 29 70
Helena 54 54
Peter 34 80
Name Age Weight
Helena 54 54

Formally the semantics of the generalized selection is defined as follows:

\sigma_\varphi(R) = \{ \ t : t \in R, \ \varphi(t) \ \}

The result of the selection is only defined if the attribute names that it mentions are in the header of the relation that it operates upon.

The simulation of a generalized selection that is not a fundamental selection with the fundamental operators is defined by the following rules:

\sigma_{\varphi \and \psi}(R) = \sigma_\varphi(R) \cap \sigma_\psi(R)
\sigma_{\varphi \or \psi}(R) = \sigma_\varphi(R) \cup \sigma_\psi(R)
\sigma_{\lnot \varphi}(R) = R - \sigma_\varphi(R)

The generalized selection is expressible with other basic algebraic operations.

In SQL, general selections are performed by using WHERE definitions with AND, OR, or NOT operands in SELECT, UPDATE, and DELETE statements.