database - relacional - ¿Qué es una proyección?
relational algebra database (6)
¿Qué es una Proyección, en términos de la teoría de la base de datos y NHibernate al usar SetProjection ()?
En términos de hibernación, es como especificar qué columnas seleccionar. A diferencia de dejar que las asignaciones determinen qué columnas se obtienen. Esto significa que puede especificar funciones sql, subconsultas, una sola columna, o tal vez todo lo anterior a través de una ProjectionList. Por ejemplo, si desea contar las filas en una tabla SetProjection(Projections.RowCount())
.
La proyección es una de las operaciones básicas de álgebra relacional. Toma una relación y una lista (posiblemente vacía) de atributos de esa relación como entrada. Emite una relación que contiene solo la lista de atributos especificada con tuplas duplicadas eliminadas . En otras palabras, la salida también debe ser una relación.
Ejemplo, si la relación R {A, B} contiene tres tuplas {1,10}, {2,10}, {3,20}, entonces la proyección de R sobre la lista de atributos {B} contendría 2 tuplas: { 10}, {20}.
En resumen, la proyección es más o menos equivalente a SELECT DISTINCT en SQL (excluyendo casos con nulos y columnas duplicadas).
Muy simplemente, es una función que toma una entrada (por ejemplo, una fila de la base de datos) y produce una salida (por ejemplo, una de las columnas de la fila, o quizás algún cálculo basado en múltiples columnas).
Proyección significa subconjunto de columnas en una consulta.
select x, y, z from YourTable
x, y, z es la proyección aquí.