You are on page 1of 24

B

D
I

Marzo 2007 1
Base de Datos I
Algebra Relacional
B
D
I

Operaciones bsicas
Unin
Diferencia
Interseccin
Divisin
Producto Cartesiano Extendido
Proyeccin
Restriccin
Reunin
Marzo 2007 2
B
D
I

Union.
UNION
Relacin resultante que contiene todas las tuplas de las
relaciones intervinientes en la operacin.

Sintaxis: A UNION B
Marzo 2007 3
B
D
I

Atributo A Atributo B

Valor A1
Valor A2
Valor A3
Valor B1
Valor B2
Valor B3
Atributo A Atributo B

Valor A2 Valor B2
Atributo A Atributo B

Valor A1
Valor A3
Valor B1
Valor B3
UNION

B
D
I

Diferencia.
MINUS
Relacin resultante que contiene las tuplas que figuran en la
primera relacin y no se encuentran en la segunda relacin.
Sintaxis: A MINUS B
Marzo 2007 4
B
D
I

Atributo A Atributo B

Valor A1
Valor A2
Valor A3
Valor B1
Valor B2
Valor B3
Atributo A Atributo B

Valor A2 Valor B2
Atributo A Atributo B

Valor A1
Valor A3
Valor B1
Valor B3
MINUS

B
D
I

Interseccin
INTERSECT
Relacin resultante que contiene las tuplas comunes a las dos
relaciones especificadas en la operacin.
Sintaxis: A INTERSECT B
Marzo 2007 5
B
D
I

Atributo A Atributo B

Valor A1
Valor A2
Valor A3
Valor B1
Valor B2
Valor B3
Atributo A Atributo B

Valor A2 Valor B2
Atributo A Atributo B

Valor A2
Valor A3
Valor B2
Valor B3
INTERSECT
Valor A1 Valor B2
Valor A3 Valor B3
Valor A4 Valor B3

B
D
I

Divisin
Marzo 2007 6
DIVIDE BY
Operacin que se realiza mediante una relacin binaria y
otra unaria. El resultado es otra relacin unaria con los
valores del atributo de la relacin binaria que concuerdan
en el otro atributo en los valores de la relacin unaria.

Sintaxis: DIVIDE A BY B
Atributo A Atributo B

Valor A1
Valor A2
Valor A3
Valor B1
Valor B2
Valor B1
Atributo A

Valor A3
Valor A1
BY DIVIDE
AtributoB

Valor B1
B
D
I

Producto Cartesiano Extendido
TIMES
Relacin resultante que contiene todas las tuplas posibles de la
combinacin de dos tuplas, una de cada relacin, entre las relaciones
especificadas.

Sintaxis: A TIMES B
Marzo 2007 7
B
D
I

Atributo A Atributo B

Valor A1
Valor A1
Valor B1
Valor B1
Atributo C Atributo D

Valor C1 Valor D1
Atributo A Atributo B

Valor A1
Valor A3
Valor B1
Valor B3
TIMES
Valor C2 Valor D2
Atributo C Atributo D
Valor C1 Valor D1
Valor C2 Valor D2
Valor A3
Valor A3
Valor B3
Valor B3
Valor C1 Valor D1
Valor C2 Valor D2

B
D
I

Proyeccin
{ }
Relacin resultante que contiene todas las tuplas o subtuplas que
quedan de una relacin especificada despus de quitar algn
subconjunto arbitrario de atributos.

Sintaxis: R {lista de atributos}
Marzo 2007 8
B
D
I

Atributo A Atributo B

Valor A1
Valor A1
Valor B1
Valor B2
Atributo C Atributo D

Valor C1 Valor D1
R{C, D}
Valor C2 Valor D2
Atributo C Atributo D
Valor C1 Valor D1
Valor C2 Valor D2
Valor A3
Valor A4
Valor B3
Valor B4
Valor C1 Valor D1
Valor C2 Valor D2
B
D
I

Restriccin
WHERE
Relacin resultante que contiene todas las tuplas de una
relacin determinada que satisface una condicin
especificada.
Sintaxis: R WHERE (condicin)
Marzo 2007 9
B
D
I

Atributo A Atributo B

Valor A1
Valor A1
Valor B1
Valor B2
R WHERE C = C1
Atributo C Atributo D
Valor C1 Valor D1
Valor C2 Valor D2
Valor A3
Valor A4
Valor B3
Valor B4
Valor C1 Valor D1
Valor C2 Valor D2
Atributo A Atributo B

Valor A1 Valor B1
Atributo C Atributo D
Valor C1 Valor D1
Valor A3 Valor B3 Valor C1 Valor D1

B
D
I

Reunin
JOIN
Relacin que contiene todas las tuplas posibles de una combinacin de dos
tuplas, cada una de dos relaciones especificadas, tales que las tuplas que
contribuyen a cualquier combinacin dada, tengan un valor comn para los
atributos comunes a las dos relaciones.
Sintaxis: A JOIN B
Marzo 2007 10
B
D
I

Atributo A Atributo B

Valor A1
Valor A1
Valor B1
Valor B2
JOIN
Atributo C
Valor C1
Valor C2
Valor A3
Valor A4
Valor B3
Valor B4
Valor C1
Valor C2
Atributo B

Valor B1
Atributo D
Valor D1
Valor B3 Valor D3
Atributo A Atributo B

Valor A1 Valor B1
Atributo C
Valor C1
Valor A3 Valor B3 Valor C1
Atributo D
Valor D1
Valor D3
Valor B5 Valor D5

B
D
I

Operadores especiales
Operadores de totales
COUNT
Retorna la cantidad de ocurrencias de un atributo determinado para cada
conjunto especificado en la relacin.
MAX
Retorna el valor mximo de un atributo determinado para cada conjunto
especificado en la relacin.
MIN
Retorna el valor mnimo de un atributo determinado para cada conjunto
especificado en la relacin.
AVG
Retorna el valor promedio de un atributo determinado para cada conjunto
especificado en la relacin.
SUM
Retorna la sumatoria de los valores de un atributo determinado para cada
conjunto especificado en la relacin.
Marzo 2007 11
B
D
I

B
D
I

Operadores especiales
Operador Extender
EXTEND
Se utiliza para dar soporte a una operacin entre atributos y/o escalares
siempre que las mismas tengan posibilidad en la definicin de dominios
realizada para esos atributos.
La relacin resultante es otra idntica a la primera, mas el agregado de un
atributo adicional cuyos valores se obtienen mediante la evaluacin de la
expresin especificada.

Sintaxis:

EXTEND R ADD (expresin) AS nuevo-atributo
EXTEND R ADD (expresin1) AS nuevo1, (expresin2) AS nuevo2,
Marzo 2007 12
B
D
I

B
D
I

Operador Extender
EXTEND R ADD (B * C) AS BC
Marzo 2007 13
Atributo A Atributo B

Valor A1
Valor A1
Valor B1
Valor B2
Atributo C
Valor C1
Valor C2
Valor A3 Valor B3 Valor C1
Atributo A Atributo B

Valor A1
Valor A1
Valor B1
Valor B2
Atributo C Atributo BC
Valor C1 B1 * C1
Valor C2 B2 * C2
Valor A3 Valor B3 Valor C1 B3 * C1
Atributo A Atributo B
Valor A1
Valor A1
Valor B1
Valor B2
Atributo C
Valor C1
Valor C2
Valor A3 Valor B3 Valor C1
EXTEND R ADD COUNT(A) AS Cantidad
Atributo A Atributo B

Valor A1
Valor A1
Valor B1
Valor B2
Atributo C
Valor C1
Valor C2
Valor A3 Valor B3 Valor C1
Atributo A Atributo B
Valor A1
Valor A1
Valor B1
Valor B2
Atributo C
Valor C1
Valor C2
Valor A3 Valor B3 Valor C1
Valor A3 Valor B3 Valor C1 Valor A3 Valor B3 Valor C1
Atributo C
Valor C1
Cantidad
4

B
D
I

Operadores especiales
Operador Resumir
SUMMARIZE
Retorna una relacin agrupada, en cierta manera conceptual, en conjuntos
de tuplas. Formando un conjunto para cada valor distinto del o los
atributos que definan el agrupamiento. Y agrega a cada conjunto
formado, al realizar alguna operacin con operadores totales, el
atributo conteniendo el resultado de la operacin especificada.

Sintaxis:
SUMMARIZE R BY atributo ADD XXX(atributo) AS nuevo-atributo
SUMMARIZE R BY atributo1, atributo2, ADD XXX(atributo) AS
nuevo1, XXX(atributo) AS nuevo2,

Marzo 2007 14
B
D
I

B
D
I

Operador Resumir
SUMMARIZE R BY A ADD COUNT(C) AS Cantidad
Marzo 2007 15
B
D
I

Atributo A Atributo B

Valor A1
Valor A1
Valor B1
Valor B2
Valor A3 Valor B3
Atributo A Cantidad
Valor A1
Valor A2
3
1
Valor A3 2
Valor A3 Valor B3 Valor A4 1
Atributo A Atributo B

Valor A1
Valor A1
Valor B1
Valor B2
Atributo C Atributo D
Valor C1 Valor D1
Valor C2 Valor D2
Valor A3
Valor A2
Valor B3
Valor B1
Valor C1 Valor D1
Valor C2 Valor D2
Valor A3
Valor A4
Valor B2
Valor B4
Valor C1 Valor D1
Valor C2 Valor D2
Valor A1 Valor B4 Valor C1 Valor D2


B
D
I

Operadores especiales
Operador Renombrar
RENAME
Retorna una relacin que es idntica a la primera pero con algn atributo
con el nombre cambiado.
Tambin puede utilizarse para renombrar la relacin.
Es un operacin que no modifica la relacin original.

Sintaxis:

R RENAME atributo1 AS nuevo-atributo1

RENAME (R RENAME atributo1 AS nuevo-atributo1) AS R1
Marzo 2007 16
B
D
I

Operador Rename
R RENAME D AS NuevoD
Marzo 2007 17
Atributo A Atributo B

Valor A1 Valor B1
Atributo C Atributo D
Valor C1 Valor D1
Valor A2 Valor B2 Valor C2 Valor D2
Valor A3
Valor A4
Valor B3
Valor B4
Valor C1 Valor D1
Valor C2 Valor D2

Atributo A Atributo B

Valor A1 Valor B1
Atributo C Nuevo D
Valor C1 Valor D1
Valor A2 Valor B2 Valor C2 Valor D2
Valor A3
Valor A4
Valor B3
Valor B4
Valor C1 Valor D1
Valor C2 Valor D2

B
D
I

Encadenamiento de operaciones
Operador ()

Encierra la relacin resultado de una operacin anterior,
para formar parte de la operacin siguiente.
El mayor nivel de anidamiento de los () determina el orden
de ejecucin de las operaciones algebraicas.
Dentro del mismo nivel de profundidad, las operaciones se
ejecutan de izquierda a derecha.

( 2 operacin ( 1 operacin ) ) 4 operacin ( 3 operacin )
Marzo 2007 18
B
D
I

Operaciones de Algebra Relacional
UNION
MINUS
INTERSECT
DIVIDE BY
TIMES
JOIN
SELECT
WHERE
EXTEND
SUMMARIZE
RENAME


Marzo 2007 19
B
D
I

UNION
DIFERENCIA
INTERSECCION
DIVIDIR POR
VECES
REUNION
PROYECCION
RESTRICCION
EXTENDER
AGRUPAR
RENOMBRAR


B
D
I

Operadores de comparacin

Igual a =
Mayor a >
Menor a <
Mayor o igual a >=
Menor o igual a <=
Distinto a <>


Marzo 2007 20
B
D
I

B
D
I

Operadores lgicos
Los siguientes operadores evalan la expresin lgica como verdadera:

AND
Si el conjunto completo de las expresiones booleanas es verdadero.
ExpB1 AND ExpB2
OR
Si alguna de las expresiones booleanas del conjunto es verdadera.
ExpB1 OR ExpB2
NOT
Invierte el valor de cualquier otro operador booleano.
NOT ExpBooleana



Marzo 2007 21
B
D
I

B
D
I

Operadores de totales

COUNT
Retorna la cantidad de ocurrencias de un atributo determinado para cada
conjunto especificado en la relacin.
MAX
Retorna el valor mximo de un atributo determinado para cada conjunto
especificado en la relacin.
MIN
Retorna el valor mnimo de un atributo determinado para cada conjunto
especificado en la relacin.
AVG
Retorna el valor promedio de un atributo determinado para cada conjunto
especificado en la relacin.
SUM
Retorna la sumatoria de los valores de un atributo determinado para cada
conjunto especificado en la relacin.
Marzo 2007 22
B
D
I

B
D
I

Sintaxis de las operaciones
A UNION B
A INTERSECT B
A TIMES B
A { a1, }
Marzo 2007 23
B
D
I

EXTEND A ADD b * c AS bc
EXTEND A ADD COUNT(c) AS Cantidad
SUMMARIZE A BY b ADD SUM(c) AS Total
A RENAME d AS dNuevo
RENAME (A RENAME d AS dNuevo) AS B

A MINUS B
DIVIDE A BY B
A JOIN B
A WHERE a1 = k
B
D
I

Encadenamiento de operaciones
EXTEND(((R WHERE condicin) JOIN (S WHERE condicin)) ADD
expresin AS NuevoAtributo) {Lista de atributos}

1. Se ejecuta la restriccin de la relacin R.
2. Se ejecuta la restriccin de la relacin S.
3. Se ejecuta la reunin de las operaciones anteriores.
4. Extiende la relacin resultante asignndole un conjunto de
atributo-valor nuevo.
5. Proyecta los atributos que se especifiquen.


Marzo 2007 24

You might also like