algebra relacional

24
BDI Marzo 2007 1 Base de Datos I Algebra Relacional

Upload: emilianofs

Post on 27-Dec-2015

30 views

Category:

Documents


0 download

DESCRIPTION

Algebra Relacional

TRANSCRIPT

Page 1: Algebra Relacional

BD

I

•Marzo 2007 •1

Base de Datos I Algebra Relacional

Page 2: 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

Page 3: Algebra Relacional

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

Page 4: Algebra Relacional

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

Page 5: Algebra Relacional

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

Page 6: Algebra Relacional

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

Page 7: Algebra Relacional

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

Page 8: Algebra Relacional

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

Page 9: Algebra Relacional

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

Page 10: Algebra Relacional

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

Page 11: Algebra Relacional

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

Page 12: Algebra Relacional

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

Page 13: Algebra Relacional

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

Page 14: Algebra Relacional

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

Page 15: Algebra Relacional

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

Page 16: Algebra Relacional

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

Page 17: Algebra Relacional

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

Page 18: Algebra Relacional

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

Page 19: Algebra Relacional

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

Page 20: Algebra Relacional

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

Page 21: Algebra Relacional

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

Page 22: Algebra Relacional

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

Page 23: Algebra Relacional

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

Page 24: Algebra Relacional

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