Proyección (álgebra relacional)


De Wikipedia, la enciclopedia libre
  (Redirigido desde Proyección (base de datos) )
Saltar a navegación Saltar a búsqueda

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 se restringen 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]

Conceptos relacionados

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 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 de 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 de computadora, por supuesto, es posible proporcionar notaciones para ambos, y eso se hizo en ISBL y en varios idiomas que se han inspirado en ISBL.

Un concepto casi idéntico ocurre en la categoría de monoides , llamado proyección de cuerda , que consiste en eliminar todas las letras de la cuerda que no pertenecen a un alfabeto determinado .

Cuando se implementa en el estándar SQL , la "proyección predeterminada" devuelve un conjunto múltiple en lugar de un conjunto, y la proyección π se obtiene mediante la adición de la DISTINCTpalabra clave para eliminar los datos duplicados.

Ejemplo

Por ejemplo, considere las relaciones representadas en las siguientes dos tablas que son la relación Persona y su proyección en (algunos dicen "sobre") los atributos Edad y Peso :

Supongamos que el predicado de la persona que es " Nombre es la edad años de edad y pesa de peso ." A continuación, la proyección dada representa el predicado, "Existe Nombre de tal manera que Nombre es la edad años de edad y pesa de peso ."

Tenga en cuenta que Harry y Peter tienen la misma edad y peso, pero como el resultado es una relación y, por lo tanto, un conjunto, esta combinación solo aparece una vez en el resultado.

Más formalmente, la semántica de la proyección se define de la siguiente manera:

donde es la restricción de la tupla al conjunto de modo que

donde es un valor de atributo, es un nombre de atributo y es un elemento del dominio de ese atributo; consulte Relación (base de datos) .

El resultado de una proyección se define solo si es un subconjunto del encabezado de .

La proyección sobre ningún atributo es posible, lo que produce una relación de grado cero. En este caso, la cardinalidad del resultado es cero si el operando está vacío, en caso contrario uno. Las dos relaciones de grado cero son las únicas que no se pueden representar como tablas.

Ver también

Referencias

  1. ^ "Álgebra relacional" . cs.rochester.edu . Consultado el 28 de julio de 2014 .
  2. ^ http://www.csee.umbc.edu/~pmundur/courses/CMSC661-02/rel-alg.pdf Consulte el problema 3.8.B en la página 3