1 john freddy duitama u.de.a. facultad de ingeniería optimización algebraica. profesor: john...

22
1 John Freddy Duitama U.de.A. Facultad de Ingeniería Optimización Algebraica. Profesor: John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A.

Upload: adoncia-anaya

Post on 28-Jan-2016

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 John Freddy Duitama U.de.A. Facultad de Ingeniería Optimización Algebraica. Profesor: John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. Profesor:

1John Freddy Duitama U.de.A. Facultad de Ingeniería

Optimización Algebraica.

Profesor:

John Freddy Duitama Muñoz.

Facultad de Ingeniería.

U.de.A.

Profesor:

John Freddy Duitama Muñoz.

Facultad de Ingeniería.

U.de.A.

Page 2: 1 John Freddy Duitama U.de.A. Facultad de Ingeniería Optimización Algebraica. Profesor: John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. Profesor:

2John Freddy Duitama U.de.A. Facultad de Ingeniería

Optimización algebraica.

Sea la consulta : A= d (AB C

Estrategias: Reunión natural y luego selección. Selección y luego reunión natural.

En general menor costo para la segunda

Definición: Equivalencia de expresiones.

Dos relaciones son iguales si coinciden en su esquema, sin importar el orden de los atributos.

Dos expresiones del algebra E1 y E2 son equivalente si representan la misma relación. E1 E2

Page 3: 1 John Freddy Duitama U.de.A. Facultad de Ingeniería Optimización Algebraica. Profesor: John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. Profesor:

3John Freddy Duitama U.de.A. Facultad de Ingeniería

Leyes del álgebra relacional.

Sean E1, E2 y E3 expresiones del álgebra relacional.

1. Ley conmutativa para la reunión natural, la reunión- y el producto cartesiano.

Sea F una condición en los atributos de E1 y E2. Entonces:

1.1. E1 E2

1.2. E1 E2

F F

1.3 E1 x E2 x

• Nota: No importa el orden de los operandos.

Page 4: 1 John Freddy Duitama U.de.A. Facultad de Ingeniería Optimización Algebraica. Profesor: John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. Profesor:

4John Freddy Duitama U.de.A. Facultad de Ingeniería

Leyes del álgebra relacional.

2. Ley asociativa para la reunión natural, la reunión- y el producto cartesiano.

Sean F1 y F2 condiciones en los atributos de E1 y E2.

2.1. (E1 E1 E2

2.2. (E1 E1 E2

F1

F2

F1

F2

2.3. (E1 x xE1 x E2 x

• Nota: Puedo agrupar los pares que más me convengan.

Page 5: 1 John Freddy Duitama U.de.A. Facultad de Ingeniería Optimización Algebraica. Profesor: John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. Profesor:

5John Freddy Duitama U.de.A. Facultad de Ingeniería

Leyes del álgebra relacional.

3. Cascada de proyecciones.

x1,…,xn (y1,…,yn (E) ) x1,…,xn (E)

Siempre que {x1,…,xn} {y1,…,yn}

• Nota: Puedo suprimir la proyección más interna.

4. Cascada de selecciones.

F1(F2 (E) ) F2 ^ F1 (E)

Corolario: Puedo conmutar el lado izquierdo:

F1(F2 (E) ) F2(F1 (E) )

• Nota: ejecuto las selecciones en el orden que más me convenga.

Page 6: 1 John Freddy Duitama U.de.A. Facultad de Ingeniería Optimización Algebraica. Profesor: John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. Profesor:

6John Freddy Duitama U.de.A. Facultad de Ingeniería

Leyes del álgebra relacional.

5. Conmutando selecciones y proyecciones.

5.1. Si F involucra solo atributos que {x1,…,xn}, entonces :

x1,…,xn ( F (E) ) F (x1,…,xn (E))

Nota: Puedo escoger a conveniencia el orden.

5.2. Si F involucra atributos y1,…yn que no estan entre x1,…,xn :

x1,…,xn ( F (E) ) x1,…,xn ( F (x1,…,xn,y1,…,yn) (E) )

Nota: Proyecto solo los atributos que requiero para después.

Page 7: 1 John Freddy Duitama U.de.A. Facultad de Ingeniería Optimización Algebraica. Profesor: John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. Profesor:

7John Freddy Duitama U.de.A. Facultad de Ingeniería

Leyes del álgebra relacional.

6. Conmutando selecciones con el producto cartesiano.

Si todos los atributos usados en F pertenecen a E1, entonces :

F (E1 x E2 ) F (E1) x E2

• Nota: Puedo realizar primero la selección y luego el producto.

6.1. Corolario:Si F = F1 ^ F2 ,

Donde F1 involucra solo atributos de E1

F2 involucra solo atributos de E2. , entonces :

F (E1 x E2 ) F1 (E1) x F2 (E2 )

Page 8: 1 John Freddy Duitama U.de.A. Facultad de Ingeniería Optimización Algebraica. Profesor: John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. Profesor:

8John Freddy Duitama U.de.A. Facultad de Ingeniería

Leyes del álgebra relacional.

6.2. Corolario:

Si F2 involucra atributos de ambas expresiones

F1 involucra solo atributos de E1, entonces :

F (E1 x E2 ) F2 ( F1 (E1) x (E2 ) )

Nota: Siempre que sea posible ejecuto primero las operaciones unarias y luego las binarias.

Page 9: 1 John Freddy Duitama U.de.A. Facultad de Ingeniería Optimización Algebraica. Profesor: John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. Profesor:

9John Freddy Duitama U.de.A. Facultad de Ingeniería

Leyes del álgebra relacional.

7. Conmutando la selección con la unión.

F (E1 U E2 ) F (E1) U F (E2 )

8. Conmutando la selección con un conjunto diferencia.

F (E1 - E2 ) F (E1) - F (E2 )

F (E1 - E2 ) F (E1) - E2

9. Conmutando la Selección con la reunión natural.Si F involucra únicamente atributos compartidos por E1 y E2, entonces :

F (E1 E2 ) F (E1) F (E2 )

Page 10: 1 John Freddy Duitama U.de.A. Facultad de Ingeniería Optimización Algebraica. Profesor: John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. Profesor:

10John Freddy Duitama U.de.A. Facultad de Ingeniería

Leyes del álgebra relacional.10.Conmutando proyección con un producto cartesiano.

Sea los atributos: B1,…,Bm que aparecen en E1 y

C1,…,Ck que aparecen en E2, entonces :

B1,…,Bm,C1,...,Ck (E1 x E2 ) B1,…,Bm (E1) x C1,…,Ck (E2)

11. Conmutando una proyección con una unión.

A1,…,An (E1 U E2 ) A1,…,An (E1) U A1,…,An (E2)

Page 11: 1 John Freddy Duitama U.de.A. Facultad de Ingeniería Optimización Algebraica. Profesor: John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. Profesor:

11John Freddy Duitama U.de.A. Facultad de Ingeniería

Algoritmo para optimizar expresiones relacionales.

Entrada : Una expresión del algebra relacional equivalente a la consulta del usuario.

Salida : Un programa para evaluar tal expresión.

Método: Ejecutar en orden los pasos que ilustraremos con un ejemplo.

Sean las relaciones existentes en la Base de datos:

• Libro(Código,Título,Autor,Editor,)• Usuario(Cédula,Nombre,Dirección,Ciudad)• Préstamo(Código,Cédula,Fecha)

Page 12: 1 John Freddy Duitama U.de.A. Facultad de Ingeniería Optimización Algebraica. Profesor: John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. Profesor:

12John Freddy Duitama U.de.A. Facultad de Ingeniería

Algoritmo para optimizar expresiones relacionales.

título,autor,editor,código,cédula,nombre,dirección,ciudad,fecha

libro.código= préstamo.código and préstamo.cédula = usuario.cédula

X

XLIBRO

PRESTAMOUSUARIO

Sea la vista LibrosPrestados =

Dos producto cruz, una selección y una proyección.

O dos reuniónes naturales y una proyección.

Page 13: 1 John Freddy Duitama U.de.A. Facultad de Ingeniería Optimización Algebraica. Profesor: John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. Profesor:

13John Freddy Duitama U.de.A. Facultad de Ingeniería

Algoritmo para optimizar expresiones relacionales.

LIBROSPRESTADOS

titulo

fecha > 10/10/2001

Consulta del usuario utilizando la vista existente en la B. De D.

PASO 1:

La consulta escrita en S.Q.L es convertida a su equivalente en álgebra relacional.

SELECT titulo

FROM LibrosPrestados

WHERE fecha > 10/10/2001.

Page 14: 1 John Freddy Duitama U.de.A. Facultad de Ingeniería Optimización Algebraica. Profesor: John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. Profesor:

14John Freddy Duitama U.de.A. Facultad de Ingeniería

Algoritmo para optimizar expresiones relacionales.

X

X LIBRO

PRESTAMOUSUARIO

titulo,autor,editor,código,cédula,nombre,direccion,ciudad,fecha

libro.código= préstamo.código AND préstamo.cédula = usuario.cédula

titulo

fecha > 10/10/2001

PASO 2:

Reemplazo la vista por su definición.

Page 15: 1 John Freddy Duitama U.de.A. Facultad de Ingeniería Optimización Algebraica. Profesor: John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. Profesor:

15John Freddy Duitama U.de.A. Facultad de Ingeniería

Algoritmo para optimizar expresiones relacionales.

X

X LIBRO

PRESTAMOUSUARIO

titulo,autor,editor,código,cédula,nombre,direccion,ciudad,fecha

libro.código= préstamo.código

titulo

fecha > 10/10/2001

PASO 3:

Use ley 4 para separar cada selección con condiciones de la

forma F1 ^ F2.

préstamo.cédula = usuario.cédula

Page 16: 1 John Freddy Duitama U.de.A. Facultad de Ingeniería Optimización Algebraica. Profesor: John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. Profesor:

16John Freddy Duitama U.de.A. Facultad de Ingeniería

Algoritmo para optimizar expresiones relacionales.

X

X

LIBRO

PRESTAMO

USUARIO

título,autor,editor,código,cédula,nombre,dirección,ciudad,fecha

título

PASO 4:

Use leyes 4 a 8, para mover cada selección tan abajo en el árbol como sea posible.

libro.código= préstamo.código

fecha > 10/10/2001

préstamo.cédula = usuario.cédula

Page 17: 1 John Freddy Duitama U.de.A. Facultad de Ingeniería Optimización Algebraica. Profesor: John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. Profesor:

17John Freddy Duitama U.de.A. Facultad de Ingeniería

Algoritmo para optimizar expresiones relacionales.

X

X

LIBRO

PRESTAMO

USUARIO

titulo

Paso 5:

Use reglas 3,5, 10 y 11 para mover las proyecciónes tan abajo en el árbol como sea posible.

libro.código= préstamo.código

fecha > 10/10/2001

préstamo.cédula = usuario.cédula

Regla 3.

Page 18: 1 John Freddy Duitama U.de.A. Facultad de Ingeniería Optimización Algebraica. Profesor: John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. Profesor:

18John Freddy Duitama U.de.A. Facultad de Ingeniería

Algoritmo para optimizar expresiones relacionales.

X

X

LIBRO

PRESTAMO

USUARIO

titulo

Paso 5:

Use reglas 3,5, 10 y 11 para mover cada proyección tan abajo en el árbol como sea posible.

libro.código= préstamo.código

fecha > 10/10/2001

préstamo.cédula = usuario.cédula

Regla 5.2. titulo,libro.código,préstamo.código

Se agrega una proyección con los

atributos que serán necesarios

posteriormente.

Page 19: 1 John Freddy Duitama U.de.A. Facultad de Ingeniería Optimización Algebraica. Profesor: John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. Profesor:

19John Freddy Duitama U.de.A. Facultad de Ingeniería

Algoritmo para optimizar expresiones relacionales.

X

X

LIBRO

PRESTAMO

USUARIO

titulo

Paso 5:

Use reglas 3,5, 10 y 11 para mover cada proyección tan abajo en el árbol como sea posible.

libro.código= préstamo.código

fecha > 10/10/2001

préstamo.cédula = usuario.cédula

Regla 10 titulo,libro.código préstamo.código

Page 20: 1 John Freddy Duitama U.de.A. Facultad de Ingeniería Optimización Algebraica. Profesor: John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. Profesor:

20John Freddy Duitama U.de.A. Facultad de Ingeniería

Algoritmo para optimizar expresiones relacionales.

Paso 5:

Uso reglas 5.2 y 10 para mover la proyección tan abajo en el árbol como sea posible.

fecha > 10/10/2001 usuario.cédula

PRESTAMOUSUARIO

X

LIBRO préstamo.cédula = usuario.cédula

titulo,libro.código préstamo.código

X

titulo

libro.código= préstamo.código

préstamo.cédula, préstamo.código

Page 21: 1 John Freddy Duitama U.de.A. Facultad de Ingeniería Optimización Algebraica. Profesor: John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. Profesor:

21John Freddy Duitama U.de.A. Facultad de Ingeniería

Algoritmo para optimizar expresiones relacionales.Paso 6:

Particionar los nodos interiores del árbol resultante en grupos:

Todo nodo interior representando una operación binaria, ( x , U , - ) conforma un grupo.

Se incluyen además en el grupo todos sus ancestros inmediatos que representen operaciones unarias

Tambien se incluyen los descendientes representando operaciones unarias, excepto en los casos que aparezca una operación binaria en el camino.

X

X

LIBRO

PRESTAMOUSUARIO

titulo

libro.código= préstamo.código

fecha > 10/10/2001

préstamo.cédula = usuario.cédula

titulo,libro.código préstamo.código

usuario.cédula

préstamo.cédula, préstamo.código

Page 22: 1 John Freddy Duitama U.de.A. Facultad de Ingeniería Optimización Algebraica. Profesor: John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. Profesor:

22John Freddy Duitama U.de.A. Facultad de Ingeniería

Bibliografía.

• Jeffrey D. Ullman. Principles of Database and Knowledge-Base System. Volúmenes II. Computer Science Press. 1988. Capítulo 11. pp. 662-673.

• Copyright: Esta presentación puede ser reproducida solo para fines académicos y mencionando siempre al autor.

John Freddy Duitama M.

Universidad de Antioquia.

Facultad de Ingeniería.