ScholarGate
Asistente

SQL y Álgebra Relacional

El álgebra relacional es un lenguaje procedimental de operadores sobre relaciones que otorga al modelo relacional su semántica formal, mientras que SQL es el lenguaje declarativo estándar que los sistemas de bases de datos compilan en planes de ejecución similares al álgebra.

Encontrar tema con PaperMindPróximamenteFind papers & topics
Tools & resources
Descargar diapositivas
Learn & explore
VídeoPróximamente

Definition

El álgebra relacional es un conjunto de operadores que toman relaciones como entrada y producen relaciones como salida; SQL (Structured Query Language) es el lenguaje declarativo estándar ISO para definir, consultar y actualizar bases de datos relacionales, cuya semántica de consulta se corresponde estrechamente con el álgebra relacional extendida con agrupación, agregación y semántica de bolsa (bag semantics).

Scope

Este tema cubre los operadores del álgebra relacional —selección, proyección, producto cartesiano, unión, diferencia y renombramiento— y su uso como base formal para consultas y optimización de consultas. Cubre el núcleo de SQL: consultas SELECT-FROM-WHERE, uniones (joins), agrupación y agregación, subconsultas, operaciones de conjuntos y sentencias de definición y manipulación de datos, junto con la semántica de multiconjuntos de SQL y la lógica trivalente para nulos. Excluye cómo se ejecutan y optimizan físicamente las consultas (cubierto en procesamiento y optimización de consultas).

Core questions

  • ¿Cuáles son los operadores primitivos y derivados del álgebra relacional?
  • ¿Cómo se asigna una consulta SQL SELECT-FROM-WHERE a las operaciones del álgebra relacional?
  • ¿Cómo extienden la agrupación y la agregación el álgebra básica?
  • ¿Cómo afectan los nulos y la lógica trivalente a los resultados de las consultas?
  • ¿Por qué SQL utiliza semántica de multiconjunto (bolsa) en lugar de semántica de conjunto?

Key concepts

  • selección, proyección, unión (join)
  • unión, diferencia, producto cartesiano
  • SELECT-FROM-WHERE
  • agrupación y agregación
  • subconsultas y correlación
  • operaciones de conjunto y multiconjunto
  • lógica trivalente y nulos
  • lenguaje de definición y manipulación de datos

Key theories

Operadores del álgebra relacional
La selección, proyección, unión, diferencia de conjuntos, producto cartesiano y renombramiento forman un conjunto completo del cual se derivan la unión (join), la intersección y la división; las identidades algebraicas entre ellos justifican las optimizaciones de reescritura de consultas.
Consultas declarativas y completitud relacional
SQL permite a los usuarios especificar qué datos desean en lugar de cómo obtenerlos; debido a que puede expresar cada consulta de álgebra relacional (y más), es relacionalmente completo, y el sistema es libre de elegir una estrategia de ejecución eficiente.
Lógica trivalente para nulos
SQL evalúa condiciones sobre verdadero, falso y desconocido para manejar valores nulos; esto afecta las comparaciones, el filtrado WHERE y la agregación, y es una fuente común de errores sutiles en las consultas.

Clinical relevance

SQL es uno de los lenguajes más utilizados en la informática: es la interfaz de prácticamente todas las bases de datos relacionales que impulsan aplicaciones empresariales, análisis y servicios web, y el álgebra relacional es la herramienta teórica que utilizan los optimizadores de consultas para reescribir y planificar esas consultas SQL de manera eficiente.

History

El artículo de Codd de 1970 introdujo el álgebra y el cálculo relacional. En el proyecto System R de IBM, Chamberlin y Boyce diseñaron SEQUEL (1974), posteriormente renombrado SQL, como un lenguaje declarativo más accesible. SQL fue estandarizado por ANSI e ISO a partir de 1986 y se ha extendido a través de estándares sucesivos, manteniéndose arraigado en el álgebra relacional.

Key figures

  • Edgar F. Codd
  • Donald D. Chamberlin
  • Raymond F. Boyce

Related topics

Seminal works

  • codd1970
  • chamberlin1974
  • garciamolina2008

Frequently asked questions

¿Es SQL exactamente álgebra relacional?
No. SQL se basa en el álgebra y el cálculo relacional, pero difiere en aspectos clave: utiliza semántica de multiconjunto (bolsa) para que puedan aparecer duplicados, añade agrupación y agregación, soporta nulos con lógica trivalente e incluye características procedimentales y de definición de datos de las que carece el álgebra pura.
¿Por qué aprender álgebra relacional si SQL es lo que se usa en la práctica?
El álgebra relacional es el modelo formal detrás de la optimización de consultas: los sistemas de bases de datos traducen SQL en expresiones similares al álgebra y aplican reglas de equivalencia para encontrar planes eficientes. Comprender el álgebra explica por qué ciertas reescrituras de consultas son válidas y ayuda a razonar sobre la equivalencia y el costo de las consultas.

Methods for this concept

Related concepts