Proyección (álgebra relacional)


En álgebra relacional , una proyección es una operación unaria escrita como , donde es una relación y son nombres de atributos. Su resultado se define como el conjunto obtenido cuando los componentes de las tuplas en están restringidos al conjunto - descarta (o excluye ) los demás atributos. [1]

En términos prácticos, si se piensa en una relación como una tabla, entonces se puede pensar en la proyección como seleccionar un subconjunto de sus columnas. Por ejemplo, si los atributos son (nombre, edad), entonces la proyección de la relación {(Alice, 5), (Bob, 8)} en la lista de atributos (edad) da como resultado {5,8} - hemos descartado los nombres, y solo saber qué edades están presentes.

Las proyecciones también pueden modificar los valores de los atributos. Por ejemplo, si tiene atributos , , , donde los valores de son números, entonces es como , pero con todos los -valores reducido a la mitad. [2]

El concepto estrechamente relacionado en la teoría de conjuntos (ver: proyección (teoría de conjuntos) ) difiere del del álgebra relacional en que, en la teoría de conjuntos, uno se proyecta sobre componentes ordenados, no sobre atributos. Por ejemplo, proyectar sobre el segundo componente produce 7.

La proyección es la contraparte del álgebra relacional de la cuantificación existencial en la lógica de predicados . Los atributos no incluidos corresponden a variables cuantificadas existencialmente en el predicado cuya extensión representa la relación del operando. El siguiente ejemplo ilustra este punto.

Debido a la correspondencia con la cuantificación existencial, algunas autoridades prefieren definir la proyección en términos de los atributos excluidos. En un lenguaje informático, por supuesto, es posible proporcionar notaciones para ambos, y eso se hizo en ISBL y en varios idiomas que se han inspirado en ISBL.