Está en la página 1de 30

OPERACIONES DEL ALGEBRA

RELACIONAL EXTENDIDA
Algebra Relacional Extendida
 Las operaciones básicas del Algebra
Relacional se han ampliado de varias
maneras. Una aplicación sencilla es
permitir operaciones aritméticas como
parte de la proyección.

 Una ampliación importante es


permitir operaciones de agregación.
Algebra Relacional Extendida
 Otra ampliación importante es la
operación reunión externa, que
permite a las expresiones del algebra
relacional trabajar con los valores
nulos que modelan la información que
falta.
Algebra Relacional Extendida
PROYECCION
GENERALIZADA

 La operación Proyección Generalizada


amplia la operación de proyección
permitiendo que se utilicen funciones
aritméticas en la lista de proyección.
 ΠF1,F2,...,Fn(E)

 En donde E es cualquier expresión del algebra


relacional y F1, F2, . . . , Fn son expresiones
aritméticas. De forma trivial, la expresión
aritmética puede ser simplemente un atributo o
una constante.
Ejemplos de Actualización
 Abono intereses incrementando el
saldo de todas las cuentas en un 5
por ciento
cuenta   NC, NS, SAL * 1.05 (cuenta)

donde NC, NS and SAL significa numero-cuenta, nombre-


sucursal y saldo.
 Paga a todas las cuentas con más de €10,000 6 por ciento de
interes y paga al resto un 5 por ciento

cuenta   NC, NS, SAL * 1.06 ( SAL  10000 (cuenta))


 NC, NS, SAL * 1.05 (SAL  10000 (cuenta))
Algebra Relacional Extendida

FUNCIONES DE
AGREGACION
 Las funciones de agregación son funciones
que toman una colección de valores y
devuelven como resultado un único valor.
Las funciones de agregación más
habituales son sum (Suma), avg (Media
aritmética), count (número de elementos),
min y max (Mínimo y máximo,
respectivamente). En la siguiente tabla se
muestran algunos ejemplos de funciones
de agregación.
 sum: suma de los valores
 avg: media de los valores
 count: número de valores
 min: valor mínimo de los valores
 max: valor máximo de los valores

 Para no repetir valores función-


distinct
Conjunto de Función resultado
valores
{1, 1, 3, 4, 4, 11} Sum 24
{1, 1, 3, 4, 4, 11} avg 4
{1, 1, 3, 4, 4, 11} count 6
{1, 1, 3, 4, 4, 11} min 1
{1, 1, 3, 4, 4, 11} max 11

La expresión del algebra relacional para el uso de una


función de agregación es

Gf(a)(R)
Gf(a)(R)

Donde f es la función de agregación,


R es la relación considerada, y a es el
atributo a utilizar. Por ejemplo:
Gsum(sueldo)(empleado)
 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 empleados.
 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.
Pero hay casos en los que se desea borrar
los valores repetidos antes de calcular la
función de agregación. Para ello hay que
utilizar los mismos nombres de funciones
que antes, con la cadena de texto -distinct
al final del nombre de la función (por
ejemplo, count-distinct)
 Es posible dividir una relación en
grupos, y aplicar las funciones de
agregación de forma independiente
en cada grupo. La sintaxis seria así:

G1,G2,...,GnGF1(a1),F2(a2),...,Fm(am)(E)
 donde E es cualquier expresion del algebra
relacional; G1, G2, . . . , Gn constituyen
una lista de atributos que indican como se
realiza la agrupación, cada Fi es una
función de agregación y cada ´ Ai es el
nombre de un atributo.
 La relación resultante consistira en las
tuplas con los atributos usado para
agrupar, mas los resultado de las funciones
de agregación. .
 EJEMPLO: Averiguar la suma total de
los sueldos de los empleados del
banco
 G sum(sueldo)(EmpleadosTP)

EMPLEADO SUCURSAL SUELDO

Gonzalez Principal 2700

Diaz Atanasio Tzul 3500


Operador agregación, Ejemplo:

Relació
A B C

n r:   7
  7
  3
  10

g sum(c) (r)
sum-C

27
Operador Agregación, Ejemplo:
 Relación cuenta agrupada por
sucursal-nombre
Nombre-sucursal Numero-cuenta saldo
Perryridge A-102 400
Perryridge A-201 900
Brighton A-217 750
Brighton A-215 750
Redwood A-222 700

Nombre-sucursal g sum(saldo) (cuenta)


Nombre-sucursal XXXX
Perryridge 1300
Brighton 1500
Redwood 700
Algebra Relacional Extendida
REUNION
EXTERNA

 La operación reunión externa es una


ampliación de la operación reunión para
trabajar con la información que falta.
 Esta operación tiene tres formas
diferentes: reunión externa por la
izquierda, denotada por X, reunión
externa por la derecha, denotada por
X y reunión externa completa,
denotada por X.
 La reunión externa por la izquierda
toma todas las tuplas de la relación
de la izquierda que no coincidan con
ninguna tupla de la relación de la
derecha, las rellana con valores nulos
en los demás atributos de la relación
de la derecha y las añade al resultado
de la reunión natural
 La reunión externa por la derecha (X)
es simétrica de la reunión externa por
la izquierda.
 La reunión externa completa ( X)
realiza estas dos operaciones,
rellenando las tuplas de la relación de
la izquierda que no coincidan con
ninguna tupla de la relación de la
derecha y las tuplas de la relacion de
la derecha que no coincidan con
ninguna tupla de la relación de la
izquierda, y añadiéndolas al resultado
de la reunión.
Algebra Relacional Extendida
VALORES
NULOS

 A menudo hay varias formas de tratar los


valores nulos. Las operaciones y las
comparaciones con valores nulos se
deberían evitar siempre se sean posibles.
Algebra Relacional Extendida
 Dado que el valor especial nulo indica
“valor desconocido o no existente”,
cualquier operación aritmética que incluya
valores nulos devolverá un valor nulo. De
manera similar, cualquier comparación
(como <,<, > >, ) que incluya un valor
nulo se evalúa al nuevo valor lógico
desconocido.
 Las operaciones lógicas tantán los valores
desconocidos tal y como se muestra en la
siguiente tabla
Algebra Relacional Extendida
Op1 Operador Op2 Resultado
Cierto Λ Desconocido desconocido
Falso Λ Desconocido Falso
Desconocido Λ Desconocido Desconocdo
Cierto V Desconocido Cierto
Falso V Desconocido Desconocido
Desconocido V Desconocido Desconocido
desconocido __ __ desconocido
Algebra Relacional Extendida
 A la hora de efectuar operaciones en
el algebra relacional que impliquen
valores nulos, hay que tener en
cuenta que las operaciones de
proyección, unión, intersección y
diferencia tratan los valores nulos
como cualquier otro valor al eliminar
duplicados.
Algebra Relacional Extendida
 Si dos tuplas del resultado de alguna de
estas operaciones son exactamente
iguales, y ambos tiene nulos en los mismos
campos, se tratan como duplicados. La
decisión es un tanto arbitraria porque sin
saber cual es el valor real no se sabe si los
dos valores nulos son duplicados o no.
Algebra Relacional Extendida
 Para funciones de agregación, hay que
tener en cuenta que cuando hay nulos en
los atributos agregados, las operaciones
borra los valores nulos del resultado antes
de aplicar la agregación. Si el multiconjunto
resultante esta vacio, el resultado antes de
aplicar la agregación. Si el multiconjunto
resultante eta vacio, el resultado agregado
será nulo, Obsérvese que el tratamiento de
los valores nulos aquí es diferente que en
las expresiones aritméticas ordinarias.
FIN

También podría gustarte