Bas De Datos Cuestinario 6 Libro
Enviado por jrab66 • 10 de Abril de 2014 • 17.715 Palabras (71 Páginas) • 226 Visitas
n
s
s
s
n
),
le
o
CAPíTULO 6
El álgebra relacional y
los cálculos relacionales
n este capítulo vamos a tratar los dos lenguajes formales del modelo relacional: el álgebra relacional y EIOS cálculos relacionales. Como ya comentamos en el Capítulo 2, un modelo de datos debe incluir un
conjunto de operaciones para manipular la base de datos junto con los conceptos necesarios para la definición
de su estructura y restricciones. El conjunto de operaciones básicas del modelo relacional es el álgebra
relacional, el cual permite al usuario especificar las peticiones fundamentales de recuperación. El resultado
de una recuperación es una nueva relación, la cual puede estar constituida por una o más relaciones. Por
consiguiente, las operaciones de álgebra producen nuevas relaciones que pueden ser manipuladas más adelante
usando operaciones del mismo álgebra. Una secuencia de operaciones de álgebra relacional conforma una
expresión de álgebra relacional, cuyo resultado será también una nueva relación que representa el resultado
de una consulta a la base de datos (o una petición de recuperación).
El álgebra relacional es muy importante por varias razones. La primera, porque proporciona un fundamento
formal para las operaciones del modelo relacional. La segunda razón, y quizá la más importante, es que se utiliza
como base para la implementación y optimización de consultas en los RDBMS (Sistemas de administración
de bases de datos relacionales, Re/ational DataBase Management Systems), tal y como se comentará en
la Parte 4. Tercera, porque algunos de sus conceptos se han incorporado al lenguaje estándar de consultas SQL
para los RDBMS.
Aunque ninguno de los RDBMS comerciales actuales proporcionan una interfaz para las consultas de álgebra
relacional, las funciones y operaciones centrales de cualquier sistema relacional están basadas en estas operaciones,
que explicamos con detalle en las siguientes secciones.
Mientras que el álgebra define un conjunto de operaciones del modelo relacional, los cálculos relacionales
ofrecen una notación declarativa de alto nivel para especificar las consultas relacionales. Una expresión de
cálculo relacional crea una nueva relación, la cual está especificada en términos de variables que engloban
filas de las relaciones almacenadas en la base de datos (en cálculos de tupla) o columnas de las relaciones
almacenadas (para los cálculos de dominio). En una expresión de cálculo, no existe un orden de operaciones
para recuperar los resultados de la consulta: la expresión sólo especifica la información que el resultado debería
contener. Ésta es la diferencia principal entre el álgebra relacional y los cálculos relacionales. Éste último
es importante porque tiene una base firme en la lógica matemática y porque el SQL (Lenguaje de consulta
estándar, Standard Quel)! Language) para los RDBMS tiene alguno de sus fundamentos en los cálculos de
tupla relacional. l
1 SQL está basado en los cálculos relacionales de tupla, aunque también incorpora algunas de las operaciones del álgebra relacional y sus
extensiones, como veremos en los Capítulos 8 y 9.
146 Capítulo 6 El álgebra relacional y los cálculos relacionales
El álgebra relacional tiende a ser considerado como una parte integral del modelo de datos relacional. Sus operaciones
pueden dividirse en dos grupos. Uno de ellos incluye el conjunto de operaciones de la teoría matemática
de conjuntos, los cuales son aplicables porque cada relación está definida de modo que sea un conjunto
de tuplas en el modelo relacional formal. Estas operaciones incluyen UNiÓN (UNION), INTERSECCiÓN
(INTERSECTlON), DIFERENCIA DE CONJUNTOS (SET DIFFERENCE) Y PRODUCTO CARTESIANO
(CARTESIAN PRODUCT)o El otro grupo está constituido por las operaciones desarrolladas específicamente
para las bases de datos relacionales, como la SELECCiÓN (SELECT), la PROYECCiÓN (PROJECT), la
CONCATENACiÓN o COMBINACiÓN (JOIN) y otras. La Sección 6.1 empieza tratando las operaciones
SELECCiÓN y PROYECCiÓN porque son operaciones unarias que operan en relaciones individuales. La
Sección 6.2 se encarga del conjunto de operaciones, mientras que la 6.3 se centra en la CONCATENACiÓN y
otras operaciones binarias complejas que operan sobre dos tablas. En los ejemplos utilizaremos la base de
datos EMPRESA de la Figura 5.6.
Algunas de las peticiones de base de datos más comunes no pueden llevarse a cabo con las operaciones del
álgebra relacional originales, por lo que se desarrollaron otras nuevas para lograrlo. Entre estas operaciones
se incluyen las funciones agregadas, que son operaciones que pueden resumir datos a patiir de tablas, así
como operaciones CONCATENACiÓN y UNiÓN adicionales. Estas operaciones fueron añadidas al álgebra
relacional original debido a su importancia para muchas aplicaciones de bases de datos, y se describen en la
Sección 6.4. En la Sección 6.5 ofreceremos ejemplos de consultas que usan operaciones relacionales, yalgunas
de ellas se utilizan posteriormente en otros capítulos para ilustrar varios lenguajes.
En las Secciones 6.6 y 6.7 se describe el otro tipo de lenguaje formal para las bases de datos relacionales, los
cálculos relacionales. Existen dos variantes del mismo. El cálculo relacional de tupla se explica en la Sección
6.6, mientras que el de dominio se detalla en la Sección 6.7. Algunas de las construcciones SQL tratadas en
el Capítulo 8 están basadas en la primera de estas variantes. El cálculo relacional es un lenguaje formal basado
en una rama de la lógica matemática llamada cálculos de predicad02. En los cálculos relacionales de tupla,
las variables alcanzan a las tuplas, mientras que en los de dominio "atacan" a los valores de los atributos. En
el Apéndice D podrá encontrar una descripción del QBE (Consulta mediante ejemplo, Quel}'-By-Example),
un lenguaje relacional gráfico y agradable para el usuario basado en los cálculos relacionales de dominio. La
Sección 6.8 resume todo este capítulo.
Los lectores interesados en una introducción menos detallada de los lenguajes relacionales formales pueden
saltarse las Secciones 6.4, 6.6 y 6.7.
6.1 Operaciones relacionales unarias: SELECCiÓN
(SELECT) y PROYECCiÓN (PROJECT)
6.1.1 La operación SELECCiÓN
...