Algebra Relacional

1330433 ALGEBRA RELACIONAL DISEÑO DE BASE DE DATOS Contenido 2. Algebra relacional...................................

Views 140 Downloads 3 File size 106KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

1330433

ALGEBRA RELACIONAL DISEÑO DE BASE DE DATOS

Contenido 2. Algebra relacional............................................................................................. 2 ¿Para qué sirve?.................................................................................................. 2 2.1 Operaciones del Algebra relacional...............................................................2 2.1.1 Operaciones unarias.............................................................................. 2 2.1.2 Operaciones de conjuntos......................................................................3 2.1.3 Operaciones de combinación..................................................................3 2.1.4 Operación de división............................................................................. 4 2.1.5 Operaciones de agregación y de agrupamiento.......................................4

2. Algebra relacional

Es un conjunto de operaciones que describen paso a paso cómo computar una respuesta sobre las relaciones, tal y como éstas son definidas en el modelo relacional. Denominada de tipo procedimental, a diferencia del Cálculo relacional que es de tipo declarativo. Es un lenguaje de consulta procedural. Consta de un conjunto de operaciones que toman como entrada una o dos relaciones y producen como resultado una nueva relación, por lo tanto, es posible anidar y combinar operadores. ¿Para qué sirve? Se usan para describir el aspecto de la manipulación de datos. Estas operaciones se usan como una representación intermedia de una consulta a una base de datos y, debido a sus propiedades algebraicas, sirven para obtener una versión más optimizada y eficiente de dicha consulta. Existen múltiples variaciones de las operaciones incluidas en el álgebra relacional. Codd (1972a) puso originalmente ocho operaciones, pero después se han propuesto muchas otras. 2.1 Operaciones del Algebra relacional

Las cinco operaciones fundamentales en el álgebra relacional, selección, proyección, producto cartesiano, unión y diferencia de conjuntos, permiten realizar la mayoría de las operaciones de extracción de datos que nos interesan. Además, están definidas las operaciones de combinación, intersección y división, que pueden expresarse en términos de las cinco operaciones básicas. Las operaciones de selección y proyección son operaciones unarias, ya que operan sobre una única relación. Las otras operaciones se aplican a parejas de relaciones y se denominan, por tanto, operaciones binarias. Las operaciones de proyección, producto, unión, diferencia, y selección son llamadas primitivas, puesto que las otras tres se pueden definir en términos de estas.

2.1.1 Operaciones unarias Comenzamos nuestro análisis del álgebra relacional examinando las dos operaciones unarias: selección y proyección.

Selección (o Restricción)

La operación de selección se aplica a una única relación R y define otra relación que contiene únicamente aquellas tuplas de R que satisfacen la condición (predicado) especificada. Proyección

La operación de proyección se aplica a una única relación R y define otra relación que contiene un subconjunto vertical de R, extrayendo los valores de los atributos especificados y eliminando los duplicados. 2.1.2 Operaciones de conjuntos Las operaciones de selección y proyección extraen información de una única relación. Sin embargo, existen obviamente casos en los que nos gustaría combinar información de diversas relaciones. En el resto de esta sección, vamos a examinar las operaciones binarias del álgebra relacional, comenzando con las operaciones de conjuntos de unión, diferencia de conjuntos, intersección y producto cartesiano. Unión

La unión de dos relaciones R y S define una relación que contiene todas las tuplas R, de S o tanto de R como de S, eliminándose las tuplas duplicadas. R y S deben ser compatibles con respecto a la unión. Diferencia de conjuntos La operación de diferencia de conjuntos define una relación compuesta por las tuplas que encuentran en la relación R, pero no en S. R y S deben ser compatibles con respecto a la unión. Intersección

La operación de intersección define una relación compuesta por el conjunto de todas las tuplas que existen tanto en R como en s. R y s deben ser compatibles con respecto a la unión. Producto cartesiano

La operación de producto cartesiano define una relación que es la concatenación de cada tupla de la relación R con cada tupla de la relación S. La operación de producto cartesiano multiplica dos relaciones para definir otra relación compuesta por todas las posibles parejas de tuplas de las dos relaciones. Descomposición de operaciones complejas

Las operaciones de álgebra relacional pueden tener una complejidad arbitrariamente grande. Podemos descomponer dichas operaciones en una serie de operaciones más pequeñas de álgebra relacional y proporcionar un nombre a los resultados de las expresiones intermedias. Utilizamos la operación de asignación, denotada mediante, para nombrar los resultados de una operación del álgebra relacional.

2.1.3 Operaciones de combinación Combinación Theta (0_combinación)

Define una relación que contiene tuplas del producto cartesiano R y S que satisfacen el predicado. Combinación natural

La combinación natural es una equicombinación entre las dos relaciones R y S sobre todos los atributos comunes x. Del resultado se elimina una de las dos apariciones de cada atributo común. Combinación externa

A Menudo, al combinar dos relaciones, una tupla de una relación no tiene ninguna tupla correspondiente en otras palabras, no existe ningún valor correspondiente en los atributos de combinación. Puede que queramos que en e1 resultado aparezca las tuplas de una de 1as relaciones aun cuando no existan valores respondientes en la otra relación. Esto puede llevarse a cabo utilizando la combinación externa. Semiconbinación

La operación de semiconbinación define una relación que contiene las tuplas de R que participan en la combinación de R con S. La operación de semiconbinación realiza una confinación de las dos relaciones y luego la proyecta sobre los atributos del primer operando. Una ventaja de las semi-combinaciones es elle reducen el número de tuplas que es preciso manejar para formar la confinación. 2.1.4 Operación de división La operación de división resulta útil para un tipo concreto de consulta que suele presentarse con bastante frecuencia en las aplicaciones de base de datos. La operación de división define una relación sobre los atributos C que está compuesta por el conjunto de tuplas de R que se corresponden con la combinación de todas las tuplas de Seriación de división. 2.1.5 Operaciones de agregación y de agrupamiento Además de simplemente extraer determinadas tuplas y atributos de una o más relaciones, a menudo nos interesa realizar algún tipo de resumen o agregación de los datos, de forma similar a totales que aparecen en la parte inferior de un informe. En otras ocasiones, nos interesa agrupar los datos, de forma similar a los subtotales de un informe. Estas operaciones no pueden reutilizarse utilizando las operaciones básicas del álgebra relacional que hemos expuesto anteriormente. Sin embargo, se han propuesto otras operaciones adicionales.

Operaciones de agregación

Aplica la lista de funciones de agregación, AL, a la relación R para definir una relación sobre la lista de agregación. AL contiene una o más parejas (, atributo>). Operación de agrupación

Agrupa las tuplas de la relación R según los atributos de agrupación, GA, y luego aplica la lista de funciones de agregación AL para definir una nueva relación. AL contiene una o más parejas (, ). La relación resultante contiene los atributos de agrupación,