En álgebra relacional , una selección (a veces llamada restricción en referencia al artículo de EF Codd de 1970 [1] y no , contrariamente a una creencia popular, para evitar confusiones con el uso de SELECT en SQL , ya que el artículo de Codd es anterior a la existencia de SQL) es una operación unaria que denota un subconjunto de una relación.
Una selección se escribe como o donde:
La selección denota todas las tuplas en R para las cuales θ se cumple entre los atributos a y b .
La selección denota todas las tuplas en R para las cuales θ se cumple entre el atributo a y el valor v .
Como ejemplo, considere las siguientes tablas, donde la primera tabla da la relación Persona , la segunda tabla da el resultado de y la tercera tabla da el resultado de .
Más formalmente la semántica de la selección se define de la siguiente manera:
El resultado de la selección sólo se define si los nombres de atributos que menciona están en el encabezado de la relación sobre la que opera.
Una selección generalizada es una operación unaria escrita como donde es una fórmula proposicional que consta de átomos como se permite en la selección normal y, además, los operadores lógicos ∧ ( y ), ∨ ( o ) y ( negación ). Esta selección selecciona todas aquellas tuplas en R para las que se cumple .
Como ejemplo, considere las siguientes tablas donde la primera tabla da la relación Persona y la segunda el resultado de .
Formalmente la semántica de la selección generalizada se define de la siguiente manera:
El resultado de la selección sólo se define si los nombres de atributos que menciona están en el encabezado de la relación sobre la que opera.
La selección generalizada se puede expresar con otras operaciones algebraicas básicas. Una simulación de selección generalizada utilizando los operadores fundamentales se define mediante las siguientes reglas:
En los lenguajes informáticos se espera que cualquier expresión con valor de verdad se permita como condición de selección en lugar de restringirla a una simple comparación.
En SQL , las selecciones se realizan mediante WHERE
definiciones en las declaraciones SELECT
, UPDATE
, y DELETE
, pero tenga en cuenta que la condición de selección puede dar como resultado cualquiera de los tres valores de verdad ( verdadero , falso y desconocido ) en lugar de los dos habituales.
En SQL , las selecciones generales se realizan mediante WHERE
definiciones con operandos AND
, OR
o NOT
en las instrucciones SELECT
, UPDATE
y DELETE
.