Algebra Relacional Extendido

download Algebra Relacional Extendido

of 30

Transcript of Algebra Relacional Extendido

OPERACIONES DEL ALGEBRA RELACIONAL EXTENDIDA

Algebra Relacional Extendida

Las operaciones bsicas del Algebra Relacional se han ampliado de varias maneras. Una aplicacin sencilla es permitir operaciones aritmticas como parte de la proyeccin. Una ampliacin importante es permitir operaciones de agregacin.

Algebra Relacional Extendida

Otra ampliacin importante es la operacin reunin externa, que permite a las expresiones del algebra relacional trabajar con los valores nulos que modelan la informacin que falta.

Algebra Relacional ExtendidaPROYECCION GENERALIZADA

La operacin Proyeccin Generalizada amplia la operacin de proyeccin permitiendo que se utilicen funciones aritmticas en la lista de proyeccin.

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

En donde E es cualquier expresin del algebra relacional y F1, F2, . . . , Fn son expresiones aritmticas. De forma trivial, la expresin aritmtica puede ser simplemente un atributo o una constante.

Ejemplos de Actualizacin

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, nombresucursal y saldo. Paga a todas las cuentas con ms 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 agregacin son funciones que toman una coleccin de valores y devuelven como resultado un nico valor. Las funciones de agregacin ms habituales son sum (Suma), avg (Media aritmtica), count (nmero de elementos), min y max (Mnimo y mximo, respectivamente). En la siguiente tabla se muestran algunos ejemplos de funciones de agregacin.

sum: suma de los valores avg: media de los valores count: nmero de valores min: valor mnimo de los valores max: valor mximo de los valores

Para no repetir valores funcindistinct

Conjunto de valores

Funcin

resultado

{1, 1, 3, 4, 4, 11}{1, 1, 3, 4, 4, 11} {1, 1, 3, 4, 4, 11} {1, 1, 3, 4, 4, 11} {1, 1, 3, 4, 4, 11}

Sumavg count min max

244 6 1 11

La expresin del algebra relacional para el uso de una funcin de agregacin es Gf(a)(R)

Gf(a)(R) Donde f es la funcin de agregacin, R es la relacin considerada, y a es el atributo a utilizar. Por ejemplo: Gsum(sueldo)(empleado)

Es una relacin con un nico atributo, que contiene una sola la con un valor correspondiente a la suma de los sueldos de todos los empleados.

Las colecciones en las que operan las funciones de agregacin 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 funcin de agregacin. Para ello hay que utilizar los mismos nombres de funciones que antes, con la cadena de texto -distinct al nal del nombre de la funcin (por ejemplo, count-distinct)

Es posible dividir una relacin en grupos, y aplicar las funciones de agregacin 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 agrupacin, cada Fi es una funcin de agregacin y cada Ai es el nombre de un atributo. La relacin resultante consistira en las tuplas con los atributos usado para agrupar, mas los resultado de las funciones de agregacin. .

EJEMPLO: Averiguar la suma total de los sueldos de los empleados del banco G sum(sueldo)(EmpleadosTP)EMPLEADOGonzalez Diaz

SUCURSALPrincipal Atanasio Tzul

SUELDO2700 3500

Operador agregacin, Ejemplo:

Relaci n r:

A

B

C

77 3 10

g sum(c) (r)

sum-C

27

Operador Agregacin, Ejemplo:

Relacin cuenta agrupada por sucursal-nombreNombre-sucursal

Numero-cuenta A-102 A-201 A-217 A-215 A-222

saldo 400 900 750 750 700

Perryridge Perryridge Brighton Brighton Redwood

Nombre-sucursal

g

sum(saldo)

(cuenta)XXXX 1300 1500 700

Nombre-sucursal

Perryridge Brighton Redwood

Algebra Relacional ExtendidaREUNION EXTERNA

La operacin reunin externa es una ampliacin de la operacin reunin para trabajar con la informacin que falta.

Esta operacin tiene tres formas diferentes: reunin externa por la izquierda, denotada por X, reunin externa por la derecha, denotada por X y reunin externa completa, denotada por X.

La reunin externa por la izquierda toma todas las tuplas de la relacin de la izquierda que no coincidan con ninguna tupla de la relacin de la derecha, las rellana con valores nulos en los dems atributos de la relacin de la derecha y las aade al resultado de la reunin natural

La reunin externa por la derecha (X) es simtrica de la reunin externa por la izquierda.

La reunin externa completa ( X) realiza estas dos operaciones, rellenando las tuplas de la relacin de la izquierda que no coincidan con ninguna tupla de la relacin de la derecha y las tuplas de la relacion de la derecha que no coincidan con ninguna tupla de la relacin de la izquierda, y aadindolas al resultado de la reunin.

Algebra Relacional ExtendidaVALORES NULOS

A menudo hay varias formas de tratar los valores nulos. Las operaciones y las comparaciones con valores nulos se deberan evitar siempre se sean posibles.

Algebra Relacional Extendida

Dado que el valor especial nulo indica valor desconocido o no existente, cualquier operacin aritmtica que incluya valores nulos devolver un valor nulo. De manera similar, cualquier comparacin (como , ) que incluya un valor nulo se evala al nuevo valor lgico desconocido. Las operaciones lgicas tantn los valores desconocidos tal y como se muestra en la siguiente tabla

Algebra Relacional ExtendidaOp1 Cierto Falso Desconocido Cierto Falso Desconocido desconocido Operador V V V __ Op2 Desconocido Desconocido Desconocido Desconocido Desconocido Desconocido __ Resultado desconocido Falso Desconocdo Cierto 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 proyeccin, unin, interseccin 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 decisin 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 agregacin, 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 agregacin. Si el multiconjunto resultante esta vacio, el resultado antes de aplicar la agregacin. Si el multiconjunto resultante eta vacio, el resultado agregado ser nulo, Obsrvese que el tratamiento de los valores nulos aqu es diferente que en las expresiones aritmticas ordinarias.

FIN