Álgebra relacional extendida

  • Proyección Generalizada 
  • Funciones de Agregación 
  • Reunión Externa 

Extiende la proyección permitiendo que se utilicen funciones aritméticas en la lista de proyección 

E es cualquier expresión del álgebra relacional 

Cada F1 , F2 , ..., Fn son expresiones aritméticas que incluyen constantes y atributos del esquema E. 

Supóngase que dado una relación información de crédito

credit_info(customer_name, limit, credit_balance),

Encuentra cuanto cada persona tiene de importe disponible (credit available) 

Las operaciones básicas del álgebra relacional se han ampliado de varias maneras. Una ampliación sencilla es permitir operaciones aritméticas como parte de la proyección. Una ampliación importante es permitir operaciones de agregación, como el cálculo de la suma de los elementos de un conjunto, o su media. Otra ampliación importante es la operación reunión externa, que permite a las expresiones del álgebra relacional trabajar con los valores nulos que modelan la información que falta.

Proyección generalizada

La operación proyección generalizada amplía la operación proyección permitiendo que se utilicen funciones aritméticas en la lista de proyección. La operación proyección generalizada tiene la forma

ΠF1, F2, ..., Fn (E)

donde E es cualquier expresión del álgebra relacional y F1, F2, ..., Fn son expresiones aritméticas que incluyen constantes y atributos en el esquema de E. Como caso especial la expresión aritmética puede ser simplemente un atributo o una constante.

Por ejemplo, supóngase que se dispone de una relación información-crédito, que da el límite de crédito y el importe dispuesto hasta el momento presente (el saldo-crédito de la cuenta). Si se desea averiguar el importe disponible por cada persona, se puede escribir la expresión siguiente:

Πnombre-cliente, límite - saldo-crédito (información-crédito)

El atributo resultante de la expresión límite - saldo-crédito no tiene un nombre. Se puede aplicar la operación renombramiento al resultado de la proyección generalizada para darle un nombre. Como conveniencia notacional, el renombramiento de atributos se puede combinar con la proyección generalizada como se ilustra a continuación:

Πnombre-cliente, (límite - saldo-crédito) as crédito-disponible (información-crédito)

Al segundo atributo de esta proyección generalizada se le ha dado el nombre crédito-disponible.

Funciones de agregación

Las funciones de agregación son funciones que toman una colección de valores y devuelven como resultado un único valor. Por ejemplo, la función de agregación sum toma un conjunto de valores y devuelve la suma de los mismos. Por tanto, la función sum aplicada a la colección {1, 1, 3, 4, 4, 11} devuelve el valor 24. La función de agregación avg devuelve la media de los valores. Cuando se aplica al conjunto anterior devuelve el valor 4. La función de agregación count devuelve el número de elementos del conjunto, y devolvería 6 en el caso anterior. Otras funciones de agregación habituales son min y max, que devuelven el valor mínimo y el máximo de la colección; en el ejemplo anterior devuelven 1 y 11, respectivamente. Las colecciones en las que operan las funciones de agregación pueden tener valores repetidos; el orden en el que aparezcan los valores no tiene importancia. Estas colecciones se denominan multiconjuntos. Los conjuntos son un caso especial de los multiconjuntos, en los que sólo hay una copia de cada elemento.

Para ilustrar el concepto de agregación se utilizará la relación trabajo-por-horas, que muestra los empleados a tiempo parcial. Supóngase que se desea averiguar la suma total de los sueldos de los empleados del banco a tiempo parcial. La expresión del álgebra relacional para esta consulta es:

Gsum(sueldo) (trabajo-por-horas)

La operación del álgebra relacional G significa que se debe aplicar agregación, y el subíndice indica la operación de agregación a aplicar. El resultado de la expresión anterior es una relación con un único atributo, que contiene una sola fila con un valor correspondiente a la suma de los sueldos de todos los

Pura gente cool
Creado con Webnode
¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar