algebra relacional
DESCRIPTION
Algebra RelacionalTRANSCRIPT
BD
I
•Marzo 2007 •1
Base de Datos I Algebra Relacional
BD
I
Operaciones básicas
• Unión
• Diferencia
• Intersección
• División
• Producto Cartesiano Extendido
• Proyección
• Restricción
• Reunión
•Marzo 2007 •2
BD
I
Union.
• UNION Relación resultante que contiene todas las tuplas de las
relaciones intervinientes en la operación.
• Sintaxis: A UNION B
•Marzo 2007 •3
BD
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
BD
I
Diferencia.
• MINUS Relación resultante que contiene las tuplas que figuran en la
primera relación y no se encuentran en la segunda relación. • Sintaxis: A MINUS B
•Marzo 2007 •4
BD
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
BD
I
Intersección
• INTERSECT
Relación resultante que contiene las tuplas comunes a las dos relaciones especificadas en la operación. • Sintaxis: A INTERSECT B
•Marzo 2007 •5
BD
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
BD
I
División
•Marzo 2007 •6
• DIVIDE BY Operación que se realiza mediante una relación binaria y
otra unaria. El resultado es otra relación unaria con los valores del atributo de la relación binaria que concuerdan en el otro atributo en los valores de la relación 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
BD
I
Producto Cartesiano Extendido
• TIMES Relación resultante que contiene todas las tuplas posibles de la
combinación de dos tuplas, una de cada relación, entre las relaciones especificadas.
• Sintaxis: A TIMES B
•Marzo 2007 •7
BD
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
BD
I
Proyección
• { } Relación resultante que contiene todas las tuplas o subtuplas que
quedan de una relación especificada después de quitar algún subconjunto arbitrario de atributos.
• Sintaxis: R {lista de atributos}
•Marzo 2007 •8
BD
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
BD
I
Restricción
• WHERE Relación resultante que contiene todas las tuplas de una
relación determinada que satisface una condición especificada.
Sintaxis: R WHERE (condición)
•Marzo 2007 •9
BD
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
BD
I
Reunión
• JOIN Relación que contiene todas las tuplas posibles de una combinación de dos
tuplas, cada una de dos relaciones especificadas, tales que las tuplas que contribuyen a cualquier combinación dada, tengan un valor común para los atributos comunes a las dos relaciones.
Sintaxis: A JOIN B
•Marzo 2007 •10
BD
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
BD
I
Operadores especiales • Operadores de totales
• COUNT Retorna la cantidad de ocurrencias de un atributo determinado para cada
conjunto especificado en la relación.
• MAX Retorna el valor máximo de un atributo determinado para cada conjunto
especificado en la relación.
• MIN Retorna el valor mínimo de un atributo determinado para cada conjunto
especificado en la relación.
• AVG Retorna el valor promedio de un atributo determinado para cada conjunto
especificado en la relación.
• SUM Retorna la sumatoria de los valores de un atributo determinado para cada
conjunto especificado en la relación.
•Marzo 2007 •11
BD
I
BD
I
Operadores especiales
• Operador Extender
EXTEND Se utiliza para dar soporte a una operación entre atributos y/o escalares
siempre que las mismas tengan posibilidad en la definición de dominios realizada para esos atributos.
La relación resultante es otra idéntica a la primera, mas el agregado de un atributo adicional cuyos valores se obtienen mediante la evaluación de la expresión especificada.
Sintaxis:
• EXTEND R ADD (expresión) AS nuevo-atributo
• EXTEND R ADD (expresión1) AS nuevo1, (expresión2) AS nuevo2, …
•Marzo 2007 •12
BD
I
BD
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
BD
I
Operadores especiales
• Operador Resumir SUMMARIZE Retorna una relación 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 operación con operadores totales, el atributo conteniendo el resultado de la operación 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
BD
I
BD
I
Operador Resumir
• SUMMARIZE R BY A ADD COUNT(C) AS Cantidad
•Marzo 2007 •15
BD
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
BD
I
Operadores especiales
• Operador Renombrar RENAME Retorna una relación que es idéntica a la primera pero con algún atributo
con el nombre cambiado.
También puede utilizarse para renombrar la relación.
Es un operación que no modifica la relación original.
Sintaxis:
R RENAME atributo1 AS nuevo-atributo1
RENAME (R RENAME atributo1 AS nuevo-atributo1) AS R1
•Marzo 2007 •16
BD
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
BD
I
Encadenamiento de operaciones
• Operador ()
– Encierra la relación resultado de una operación anterior, para formar parte de la operación siguiente.
– El mayor nivel de anidamiento de los () determina el orden de ejecución de las operaciones algebraicas.
– Dentro del mismo nivel de profundidad, las operaciones se ejecutan de izquierda a derecha.
( 2º operación ( 1º operación ) ) 4º operación ( 3º operación )
•Marzo 2007 •18
BD
I
Operaciones de Algebra Relacional • UNION
• MINUS
• INTERSECT
• DIVIDE BY
• TIMES
• JOIN
• SELECT
• WHERE
• EXTEND
• SUMMARIZE
• RENAME
•Marzo 2007 •19
BD
I
• UNION
• DIFERENCIA
• INTERSECCION
• DIVIDIR POR
• VECES
• REUNION
• PROYECCION
• RESTRICCION
• EXTENDER
• AGRUPAR
• RENOMBRAR
BD
I
Operadores de comparación
• Igual a =
• Mayor a >
• Menor a <
• Mayor o igual a >=
• Menor o igual a <=
• Distinto a <>
•Marzo 2007 •20
BD
I
BD
I
Operadores lógicos Los siguientes operadores evalúan la expresión lógica 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
BD
I
BD
I
Operadores de totales • COUNT
Retorna la cantidad de ocurrencias de un atributo determinado para cada conjunto especificado en la relación.
• MAX Retorna el valor máximo de un atributo determinado para cada conjunto
especificado en la relación.
• MIN Retorna el valor mínimo de un atributo determinado para cada conjunto
especificado en la relación.
• AVG Retorna el valor promedio de un atributo determinado para cada conjunto
especificado en la relación.
• SUM Retorna la sumatoria de los valores de un atributo determinado para cada
conjunto especificado en la relación.
•Marzo 2007 •22
BD
I
BD
I
Sintaxis de las operaciones
• A UNION B
• A INTERSECT B
• A TIMES B • A { a1, … }
•Marzo 2007 •23
BD
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
BD
I
Encadenamiento de operaciones
EXTEND(((R WHERE condición) JOIN (S WHERE condición)) ADD expresión AS NuevoAtributo) {Lista de atributos}
1. Se ejecuta la restricción de la relación R.
2. Se ejecuta la restricción de la relación S.
3. Se ejecuta la reunión de las operaciones anteriores.
4. Extiende la relación resultante asignándole un conjunto de atributo-valor nuevo.
5. Proyecta los atributos que se especifiquen.
•Marzo 2007 •24