SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
Abd procesamiento consultas (parte2)
1. Administración de Base de Datos
Procesamiento y Optimización
de Consultas
Prof Mercy Ospina Torres
mercy.ospinat@gmail.com
Prof Renny A. Hernandez
renny.hernandez@ciens.ucv.ve
2. Contenido
El DBA
El SMBD
Manejo de Memoria
Restauración
Concurrencia
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Seguridad
Marzo 2012
• Cómo se procesa una consulta
• Traducir una consulta de SQL a AR
– Repaso Algebra Relacional
• Árbol de ejecución
–
–
–
–
Árbol de ejecución lógico
Árbol de ejecución lineal izquierdo
Árbol canónico
Axiomas del Algebra relacional (Visto)
• Técnicas para optimizar consultas
– Basada en heurísticas
– Basada en costos.
Administración de Base de Datos
2
3. Contenido
El DBA
El SMBD
Manejo de Memoria
Restauración
Concurrencia
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
• Modelo de costos
– Factor de selectividad
– Costo de los operadores del Algebra Relacional
•
•
•
•
•
Select
Project.
Join
Order
Árbol de ejecución físico
– Evaluar el árbol de ejecución físico.
• Materialización
• Encausamiento
Seguridad
Marzo 2012
Administración de Base de Datos
3
4. En esta clase
El DBA
El SMBD
Manejo de Memoria
Restauración
•
Transformación del árbol canónico (Axiomas del
Algebra Relacional)
•
Técnicas de optimización
•
Factor de Selectividad
•
Costos de los operadores
Concurrencia
Diccionario Datos
Proc. Consultas
Consultas
Integridad
Seguridad
Marzo 2012
Administración de Base de Datos
5. Repaso
Clase pasada
El DBA
El SMBD
Manejo de Memoria
Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
Consultas
• ¿Por qué se dice que SQL es un lenguaje
de alto nivel?
• ¿Cuáles son los pasos que lleva a cabo el
SMBD para procesar una consulta?
• ¿Qué es un árbol de ejecución?
• ¿Qué es un árbol canónico?
• ¿Cuál es la utilidad de los axiomas o
reglas del Algebra relacional?
Integridad
Seguridad
Marzo 2012
Administración de Base de Datos
5
6. Repaso
Cómo procesar una consulta
El DBA
Consulta
Consulta
de alto
de alto
nivel
nivel
El SMBD
Analizador
Analizador
yy
traductor
traductor
Expresión
Expresión
en Algebra
en Algebra
Relacional
Relacional
ρCond (R1)
ρCond (R1)
Manejo de Memoria
Restauración
Concurrencia
Select *
Select *
From R1
From R1
Where Cond
Where Cond
Diccionario de datos
OptimiOptimizador
zador
Estadísticas de
los datos
Diccionario Datos
Resultado
Resultado
de la
de la
consulta
consulta
Proc. Consultas
Consultas
Integridad
Marzo 2012
A1
A2
xx
yy
zz
yy
xz
Plan de
Plan de
ejecución
ejecución
Búsqueda
Búsqueda
binaria
binaria
A3
xy
Seguridad
Motor de
Motor de
evaluación
evaluación
Base de datos
Silberschatz, Korth, & Sudarshan, 2006
Administración de Base de Datos
6
7. Árbol lineal izquierdo
El DBA
El SMBD
Manejo de Memoria
Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
Consultas
Integridad
Seguridad
Marzo 2012
•
•
Es un árbol de ejecución donde en cada nodo
binario el hijo derecho es una tabla
Arbol canónico: Es un árbol lineal izquierdo
donde cada nodo binario corresponde a un
producto cartesiano X, la selección
es sobre
toda la condición y la proyección Π sobre todos los
atributos
σ
SELECT <Lista Atributos>
FROM T1, T2, … Tn
WHERE <Condición>
Nota: es el mas rápido de
construir pero el más costoso
Administración de Base de Datos
8. Expresiones equivalentes
El DBA
El SMBD
• Una expresión en un algebra es
equivalente a otra, si el resultado es el
mismo.
Manejo de Memoria
Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
Consultas
Integridad
Seguridad
Marzo 2012
Administración de Base de Datos
9. Expresiones equivalente
El DBA
El SMBD
Manejo de Memoria
Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
Consultas
• Una expresión del AR es equivalente a
otra, si el resultado es el mismo.
• Sin embargo una expresión equivalente
puede ser mas eficiente que otra en
tiempo de respuesta.
• Para hallar expresiones equivalentes se
usan reglas o axiomas, los cuales vienen
del algebra de conjuntos
Integridad
Seguridad
Marzo 2012
Administración de Base de Datos
10. Axiomas del Algebra
Relacional
El DBA
El SMBD
Manejo de Memoria
Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
Consultas
Integridad
Seguridad
Marzo 2012
1. Cascada de selecciones
2. Conmutatividad de la selección
3. Cascada de proyecciones
4. Distributividad de la proyección y la selección
5. Conmutatividad del Join y el Producto
Cartesiano
6. Distributividad de la selección con respecto al
Join y al producto cartesiano
7. Distributividad de la proyección con respecto
al Join y al producto cartesiano
Administración de Base de Datos
11. Axiomas del Algebra
Relacional
El DBA
El SMBD
Manejo de Memoria
Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
Consultas
8. Conmutatividad de la unión y la intersección
9. Asociatividad de la union, la intersección, y el
producto cartesiano
10. Distributividad de la selección con respecto
a la Unión y la Intersección
11. Distributividad de la proyección con respecto
a la Unión y la Intersección
12. Conversión del Producto Cartesiano en Join
Integridad
Seguridad
Marzo 2012
Administración de Base de Datos
12. Axiomas del Algebra
Relacional
El DBA
1. Cascada de selecciones
σ c1 and c 2 and...and cn ( R ) ≡ σ c1 (σ c 2 (...σ cn ( R )...))
El SMBD
Manejo de Memoria
Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
Consultas
Donde c1, c2, … cn son condiciones booleanas
CI
CodB
123
1
234
1
123
2
σ codB =1 and CI = '123'
σ codB =1
CI
CodB
123
1
σ CI =123
Integridad
CI
CodB
Seguridad
123
1
CI
CodB
234
1
123
1
Marzo 2012
Administración de Base de Datos
13. Axiomas del Algebra
Relacional
El DBA
El SMBD
1. Cascada de selecciones
σ c1 and c 2 and...and cn ( R ) ≡ σ c1 (σ c 2 (...σ cn ( R )...))
Manejo de Memoria
Restauración
Donde c1, c2, … cn son condiciones booleanas
Concurrencia
Diccionario Datos
σ
c1 and c2
σ
c3
and c3
Proc. Consultas
Consultas
σ
c2
σ
c1
Integridad
Seguridad
Marzo 2012
Administración de Base de Datos
14. Axiomas del Algebra
Relacional
σ c1 (σ c 2 ( R )) ≡ σ c 2 (σ c1 ( R))
El DBA
El SMBD
σ codB =1
Manejo de Memoria
Restauración
Concurrencia
Diccionario Datos
σ CI =123
CI
CodB
CI
CodB
CI
CodB
123
1
123
1
123
1
234
1
234
1
123
2
Integridad
Seguridad
Marzo 2012
σ CI =123
σ codB =1
CI
CodB
CI
CodB
123
1
123
1
123
Proc. Consultas
Consultas
2
Administración de Base de Datos
15. Axiomas del Algebra
Relacional
El DBA
El SMBD
Manejo de Memoria
2. Conmutatividad de la selección
σ c1 (σ c 2 ( R )) ≡ σ c 2 (σ c1 ( R))
Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
Consultas
σ
σ
c2
c1
σ
σ
c1
c2
Integridad
Seguridad
Marzo 2012
Administración de Base de Datos
16. Axiomas del Algebra
Relacional
El DBA
3. Cascada de proyecciones
El SMBD
Manejo de Memoria
∏ CI ,CodB
Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
Consultas
CI
CodB
Desc
CI
CodB
CI
123
1
Malta
123
1
123
234
1
Malta
234
1
234
254
2
7 up
254
2
254
Integridad
Seguridad
Marzo 2012
∏ CI
Administración de Base de Datos
17. Axiomas del Algebra
Relacional
El DBA
3. Cascada de proyecciones
El SMBD
Manejo de Memoria
Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
Consultas
Integridad
∏A1
∏A1..An -1
∏A1
∏A1..An
Seguridad
Marzo 2012
Administración de Base de Datos
18. Axiomas del Algebra
Relacional
El DBA
4. Distributividad de la proyección y la selección
El SMBD
Manejo de Memoria
σ codB =1
Restauración
Concurrencia
CI
CodB
Diccionario Datos
123
1
Proc. Consultas
Consultas
234
123
CodB
123
1
234
1
1
Integridad
CI
2
Seguridad
Marzo 2012
Administración de Base de Datos
∏ CodB
CodB
1
1
19. Axiomas del Algebra
Relacional
El DBA
4. Distributividad de la proyección y la selección
El SMBD
Manejo de Memoria
σ codB =1
Restauración
Concurrencia
CI
Diccionario Datos
123
1
Proc. Consultas
Consultas
234
1
Integridad
123
2
Seguridad
∏ CodB
CodB
123
1
234
CodB
CI
1
CodB
CodB
1
1
σ codB =1
CodB
1
1
1
1
2
Marzo 2012
∏ CodB
Administración de Base de Datos
20. Axiomas del Algebra
Relacional
El DBA
5. Conmutatividad del Join y del Producto cartesiano
El SMBD
Manejo de Memoria
Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
Consultas
Integridad
R1
R2
R2
Seguridad
Marzo 2012
Administración de Base de Datos
R1
21. Axiomas del Algebra
Relacional
El DBA
6. Distributividad de la selección con respecto al Join
y al Producto cartesiano
El SMBD
Manejo de Memoria
Restauración
Concurrencia
Diccionario Datos
Este axioma permite empujar las selecciones hacia abajo
en el arbol.
Proc. Consultas
Consultas
Integridad
Seguridad
Marzo 2012
Administración de Base de Datos
22. Axiomas del Algebra
Relacional
6. Distributividad de la selección con respecto al Join
y al Producto cartesiano
El DBA
El SMBD
Manejo de Memoria
Restauración
CI
123
1
Diccionario Datos
234
1
Proc. Consultas
Consultas
234
2
σ Desc= 'Malta' and CI = 234
CodB
Concurrencia
Integridad
Marzo 2012
CodB
1
Desc
123
1
Malta
234
1
Malta
234
=
CodB
2
7 up
Desc
Malta
2
Seguridad
CI
7 up
Administración de Base de Datos
CI
CodB
= 234 1
Desc
Malta
23. Axiomas del Algebra
Relacional
El DBA
6. Distributividad de la selección con respecto al Join
y al Producto cartesiano
El SMBD
Manejo de Memoria
Restauración
CI
CodB
123
1
Diccionario Datos
234
Proc. Consultas
Consultas
234
CodB
234
1
234
1
CI
2
2
Concurrencia
Integridad
Seguridad
CodB Desc
Malta
2
Marzo 2012
1
7 up
σ CI= 234
σ Desc=
CodB
´Malta´ 1
Desc
Malta
Administración de Base de Datos
CI
=
CodB Desc
234
1
Malta
24. Axiomas del Algebra
Relacional
El DBA
El SMBD
Manejo de Memoria
Restauración
σ
Concurrencia
σ
c2
c1 and
σ
c2
c1
Diccionario Datos
σ
Proc. Consultas
Consultas
c1
σ
c2
Integridad
Seguridad
Marzo 2012
R2
R1
R1
R2
Administración de Base de Datos
R1
R2
25. Axiomas del Algebra
Relacional
El DBA
7. Distributividad de la proyección con respecto al
Join y al Producto cartesiano
El SMBD
Manejo de Memoria
Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
Consultas
Este axioma permite empujar las proyecciones hacia abajo
en el arbol.
Integridad
Seguridad
Marzo 2012
Administración de Base de Datos
26. Axiomas del Algebra
Relacional
7. Distributividad de la proyección con respecto al
Join y al Producto cartesiano
El DBA
El SMBD
Manejo de Memoria
Restauración
CI
CodB
Fecha
CI
123
1
10/08/201
3
12/06/201
3
Concurrencia
Diccionario Datos
Proc. Consultas
Consultas
Integridad
Seguridad
Marzo 2012
234
1
234 2
25/10/201
CodB Desc 3Vol
1
Malta 500
2
7 up
Co
dB
Fecha Desc
Vol
123 1
10/08
/2013
Malta
500
234 1
12/06
/2013
Malta
500
234 2
25/10
/2013
7 up
1500
1500
Administración de Base de Datos
27. Axiomas del Algebra
Relacional
El DBA
7. Distributividad de la proyección con respecto al
Join y al Producto cartesiano
El SMBD
Manejo de Memoria
∏CI ,CodB , Desc
Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
Consultas
CI
Co
dB
Fecha
Desc
Vol
123 1
10/08/
2013
Malta
500
234 1
12/06/
2013
Malta
500
234 2
25/10/
2013
7 up
1500
Integridad
Seguridad
Marzo 2012
Administración de Base de Datos
CI
CodB
Desc
123
1
Malta
234
1
Malta
234
2
7 up
28. Axiomas del Algebra
Relacional
7. Distributividad de la proyección con respecto al
Join y al Producto cartesiano
El DBA
El SMBD
∏CI ,CodB
Manejo de Memoria
Restauración
CI
CodB
Fecha
123
1
10/08/201
3
234
1
12/06/201
3
Concurrencia
Diccionario Datos
Proc. Consultas
Consultas
Integridad
Seguridad
Marzo 2012
∏CodB, Desc
234 2
25/10/201
CodB Desc 3Vol
1
Malta 500
2
7 up
1500
Administración de Base de Datos
CI
CodB
123
1
234
1
234
2
CodB
Desc
1
Malta
2
7 up
29. Axiomas del Algebra
Relacional
El DBA
7. Distributividad de la proyección con respecto al
Join y al Producto cartesiano
El SMBD
Manejo de Memoria
CI
CodB
123
1
Concurrencia
234
1
Diccionario Datos
234
2
Restauración
CI
Integridad
CodB
1
Malta
234
1
Malta
234
2
7 up
Malta
2
1
Desc
Seguridad
Desc
123
Proc. Consultas
Consultas
CodB
7 up
Marzo 2012
Administración de Base de Datos
30. Axiomas del Algebra
Relacional
El DBA
El SMBD
Manejo de Memoria
Restauración
Concurrencia
∏A1..An
Diccionario Datos
Proc. Consultas
Consultas
∏A
∏B
Integridad
Seguridad
Marzo 2012
R2
R1
R1
Administración de Base de Datos
R2
31. Axiomas del Algebra
Relacional
El DBA
El SMBD
8. Conmutatividad de la unión y la intersección
9. Asociatividad de la union, la intersección, y el
producto cartesiano
Manejo de Memoria
Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
Consultas
Integridad
10. Distributividad de la selección con respecto a la
Unión y la Intersección
11. Distributividad de la proyección con respecto a la
Unión y la Intersección
Seguridad
Marzo 2012
Administración de Base de Datos
32. Axiomas del Algebra
Relacional
El DBA
12. Conversión del Producto Cartesiano en Join
El SMBD
Manejo de Memoria
Restauración
Si cond es una igualdad de atributos de R1 y R2
Concurrencia
σ
Diccionario Datos
Proc. Consultas
Consultas
A1=A2
X
Integridad
R2
Seguridad
R2
Marzo 2012
R1
Administración de Base de Datos
R1
33. Técnicas de optimización
El DBA
El SMBD
Manejo de Memoria
Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
Consultas
Integridad
Seguridad
Marzo 2012
Administración de Base de Datos
34. Técnicas de control de
concurrencia
El DBA
El SMBD
Manejo de Memoria
Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Seguridad
Marzo 2012
• Heurísticas
– Se construye el árbol canónico
– Se transforma usando los axiomas del AR en el
siguiente orden
1. Aplicar el axioma o regla 1
2. Aplicar axiomas 2, 4, 6 y 10, para desplazar cada
operación SELECT hacia abajo en el árbol de
ejecución.
3. Aplicar axiomas 5 y 9, para reordenar los nodos hoja
utilizando el siguiente criterio:
a) Posicionar las relaciones con los SELECT más
restrictivos de forma que sean ejecutadas en primer
lugar.
Administración de Base de Datos
34
35. Técnicas de control de
concurrencia
El DBA
El SMBD
Manejo de Memoria
Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
• Heurísticas (continuación)
3. Aplicar axiomas 5 y 9, para reordenar los nodos
hoja utilizando el siguiente criterio:
b) Verificar que las ordenaciones no produzcan productos
cartesianos que no puedan convertirse en JOIN
3. Aplicar axioma 12, para combinar los SELECT con
los PRODUCTOS CARTESIANOS, para formar una
operación de JOIN
4. Aplicar axiomas 3, 4, 7, 11 para bajar en el árbol
las operaciones PROJECT lo más que se pueda.
Seguridad
Marzo 2012
Administración de Base de Datos
35
36. Técnicas de control de
concurrencia
El DBA
El SMBD
Manejo de Memoria
Restauración
Concurrencia
• Heurísticas (Resumen)
1.
2.
3.
4.
5.
Aplicar
Aplicar
Aplicar
Aplicar
Aplicar
Axioma 1
axiomas 2, 4, 6 y 10
axiomas 5 y 9,
axioma 12,
axiomas 3, 4, 7, 11.
Diccionario Datos
Proc. Consultas
Integridad
Seguridad
Marzo 2012
Administración de Base de Datos
36
37. Optimización por Heurística
El DBA
El SMBD
Manejo de Memoria
Restauración
Ejemplo
Realice la optimización heurística de la sig. consulta
SELECT CI, Nombre, CodMateria
FROM Estudiante E, inscripcion I
WHERE I.CodM = ‘6311’ and E.ciudad=‘Caracas’ and E.CI =
I.CI
Concurrencia
Diccionario Datos
Proc. Consultas
Consultas
Integridad
Seguridad
Marzo 2012
Administración de Base de Datos
38. Ejercicio 1
El DBA
El SMBD
Manejo de Memoria
Restauración
Concurrencia
Diccionario Datos
SELECT CI, Nombre, CodMateria
FROM Estudiante E, inscripcion I
WHERE I.CodM = ‘6311’ and E.ciudad=‘caracas’ and E.CI = I.CI
Paso 1: Construir el Arbol canónico
∏ CI , Nombre ,CodMateria
σ I.CodM = ‘6311’ and
E .ciudad =‘Caracas’ and E.CI = I.CI
Proc. Consultas
Consultas
X
Integridad
Seguridad
E
Marzo 2012
I
Administración de Base de Datos
38
39. Ejercicio 1
El DBA
Paso 2: Transformar el Árbol canónico
Axioma 1:: Cascada de selecciones
El SMBD
Manejo de Memoria
Restauración
Concurrencia
∏ CI , Nombre ,CodMateria
σ I.CodM = ‘6311’ and
E.ciudad = 'Caracas’ and E.CI = I.CI
Diccionario Datos
Proc. Consultas
Consultas
∏ CI , Nombre ,CodMateria
≡
σI.CodM =‘6311’
σ E.ciudad=‘Caracas’
σ E.CI = I.CI
X
Integridad
Seguridad
X
E
I
E
Marzo 2012
Administración de Base de Datos
I
39
40. Ejercicio 1
El DBA
El SMBD
Manejo de Memoria
Restauración
Concurrencia
Diccionario Datos
Paso 2: Transformar el Árbol canónico
Axiomas 2, 4, 6, 10
∏ CI , Nombre ,CodMateria
σI.CodM =‘6311’
σ E.ciudad=‘Caracas’
σ E.CI = I.CI
≡
X
σ E.CI = I.CI
Proc. Consultas
Consultas
Integridad
σ E.ciudad=‘Caracas’ σ I.CodM = ‘6311’
X
Seguridad
E
Marzo 2012
∏ CI , Nombre ,CodMateria
I
Administración de Base de Datos
E
I
40
41. Ejercicio 1
El DBA
El SMBD
Manejo de Memoria
Paso 2: Transformar el Árbol canónico
Axiomas 5 y 9 (Conmutatividad del PC, Join)
∏ CI , Nombre ,CodMateria
σ E.CI = I.CI
Restauración
Concurrencia
X
Diccionario Datos
Ver cual de los
resultados
intermedios es
mas pequeño y
colocarlo a la
izquierda
Proc. Consultas
Consultas
Integridad
Seguridad
σ E.ciudad=‘Caracas’ I.CodM = ‘6311’
σ
E
Marzo 2012
I
Administración de Base de Datos
41
42. Ejercicio 1
El DBA
El SMBD
Manejo de Memoria
Paso 2: Transformar el Árbol canónico
Axioma 12 (PC => Join)
∏ CI , Nombre ,CodMateria
σ E.CI = I.CI
Restauración
∏ CI , Nombre ,CodMateria
E.CI = I.CI
≡
Concurrencia
X
Diccionario Datos
Proc. Consultas
Consultas
Integridad
Seguridad
σ E.ciudad=‘Caracas’σ I.CodM = ‘6311’σ E.ciudad=‘Caracas’σ I.CodM = ‘6311’
E
Marzo 2012
I
Administración de Base de Datos
E
I
42
43. Ejercicio 1
Paso 2: Transformar el Árbol canónico
El DBA
Axioma 3, 4, 7, 11 (proyecciones)
El SMBD
Manejo de Memoria
∏ CI , Nombre ,CodMateria
Restauración
E.CI = I.CI
Concurrencia
Se evalúa si las
tablas base tienen
muchos atributos que
no aportan a la
consulta
Diccionario Datos
Proc. Consultas
Consultas
Integridad
Seguridad
σ E.ciudad=‘Caracas’σ I.CodM = ‘6311’
E
Marzo 2012
Se debe tomar en
cuenta que los
resultados
intermedios no tienen
índices
I
Administración de Base de Datos
43
44. Ejercicio 1
El DBA
El SMBD
Manejo de Memoria
Paso 2: Transformar el Árbol canónico
Axioma 3, 4, 7, 11 (proyecciones)
∏ CI, Nombre,CodM
∏ CI, Nombre,CodM
Restauración
E.CI = I.CI
E.CI = I.CI
Concurrencia
≡
Diccionario Datos
σ E.ciudad=‘Caracas’σ I.CodM = ‘6311’
Proc. Consultas
Consultas
Integridad
Seguridad
σ E.nombre=‘Juan’ σ I.CodM = ‘6311’
E
Marzo 2012
∏ CI, Nombre, Ciudad
I
Administración de Base de Datos
E
∏ CodM
I
44
45. Optimización con heurística
El DBA
El SMBD
Manejo de Memoria
Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
• Ejercicio
– Seleccionar los estudiantes que pasaron
Administración de base de datos en el semestre
2-2009
Select Nombre
From Estudiante E, Cursar C, Materia M
Where E.CI = C.CI and Nota >=10, and
M.Cod_Mat =C.Cod_Mat and M.Nombre =
‘Administración de base de datos’ and
semester_cursa = ’2-2009’
Integridad
Seguridad
Marzo 2012
Administración de Base de Datos
45
46. Árbol de ejecución físico
El DBA
El SMBD
Manejo de Memoria
Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
• Una vez que se ha construido el árbol de
ejecución lógico se debe construir el físico
• Consiste en determinar los operadores
físicos asociados a cada nodo
– Ejemplo: Selección con índice o búsqueda
lineal
• Para seleccionar los operadores
necesitamos conocer el tamaño de los
resultados intermedios
Integridad
Seguridad
Marzo 2012
Administración de Base de Datos
46
47. Factor de selectividad
El DBA
El SMBD
Manejo de Memoria
Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
• Es una técnica de estimación del tamaño
de los resultados intermedios o vistas
(cantidad de registros), por medio de una
función de probabilidad
• Se asume independencia y
uniformidad en los valores de los
atributos
• Se aplica para las selecciones y los join
Integridad
Seguridad
Marzo 2012
Administración de Base de Datos
47
48. Factor de selectividad
El DBA
El SMBD
• Uniformidad
– Es igualmente probable que una tupla Ti tenga
un valor C en el atributo Aj.
Manejo de Memoria
Restauración
Concurrencia
– Los valores de Aj están distribuidos
uniformemente entre las tuplas.
Diccionario Datos
Proc. Consultas
Se lee la
probabilidad de
que las tuplas
de Ti cumpla la
condición Ai= c
Integridad
Seguridad
Marzo 2012
Administración de Base de Datos
48
49. Factor de selectividad
El DBA
El SMBD
Manejo de Memoria
Restauración
• Independencia
– Al ejecutarse la siguiente consulta
se asume que la satisfacibilidad de que la
condición cond1 es independiente a la
satisfacibilidad de la condición cond2.
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Seguridad
Marzo 2012
Administración de Base de Datos
49
50. Factor de selectividad
El DBA
• Casos Base
El SMBD
Manejo de Memoria
Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
• Ejemplo
– ¿Cuál es el factor de selectividad la condición
sexo = ‘F’ en la tabla empleado?
1
fs ( Sexo =' F ' , Empleado) = = 0,5
2
Seguridad
Marzo 2012
Administración de Base de Datos
50
51. Factor de selectividad
El DBA
• Casos Base
Los que cumplen
la condición
El SMBD
Valores
totales
Manejo de Memoria
Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Seguridad
Marzo 2012
• Ejemplo
– ¿Cuál es el factor de selectividad la condición
Cantidad > 100 en la tabla Venta? Si Min 5 y
Max 250
fs (cantidad > 100, Ventas) =
250 − 100 150
=
= 0,61
250 − 5 + 1 246
Administración de Base de Datos
51
52. Factor de selectividad
El DBA
• Casos Base
El SMBD
Manejo de Memoria
Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Seguridad
Marzo 2012
• Ejemplo
– ¿Cuál es el factor de selectividad la condición
Cantidad > 100 y Región = Norte en la tabla
Venta V? Si Min 5 y Max 250 y solo hay 4
regiones
1
fs (cantidad > 100, V ) * fs (Re gion = ' Norte' , V ) = 0,61* = 0,15
4
Administración de Base de Datos
52
53. El DBA
• Casos base
– Factor de selectividad del Join
El SMBD
Manejo de Memoria
Restauración
CI
CodB
Concurrencia
123
1
Diccionario Datos
234
1
234
2
Valores distintos (CodB) = 2
Proc. Consultas
fs (C.CodB = V .CodB ) =
Integridad
CodB
Desc
Vol
Seguridad
1
Malta
500
2
7 up
1
1
= = 0,5
max(2,2) 2
1500
Marzo 2012
Valores distintos (CodB) = 2
Administración de Base de Datos
53
54. Ejemplo del uso del fs
El DBA
El SMBD
Manejo de Memoria
Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Seguridad
Marzo 2012
• Ejemplo
– ¿Cuál es el factor de selectividad la condición
sexo = ‘F’ en la tabla empleado?
1
fs ( Sexo =' F ' , Empleado) = = 0,5
2
– Si la tabla empleados contiene 300.000
registros ¿cuántos registros tiene la siguiente
vista?
T 1 ← σ Sexo= 'F ' ( Empleado)
T 1 = Empleado × fs ( Sexo =' F ' , Empleado)
T 1 = 300.000 × 0,5 = 150.000
Administración de Base de Datos
54
55. Ejercicio 1
Paso 2: Transformar el Árbol canónico
El DBA
Axioma 3, 4, 7, 11 (proyecciones)
El SMBD
Manejo de Memoria
∏ CI, Nombre,CodM
Restauración
E.CI = I.CI
Concurrencia
Diccionario Datos
Proc. Consultas
Consultas
Integridad
Seguridad
σ E.ciudad=‘Caracas’σ I.CodM = ‘6311’
E
Marzo 2012
Calcular cual
resultado intermedio
es menor si hay
5000 estudiantes y
30 ciudades distintas
y 25.000
inscripciones y son
100 materias
distintas
I
Administración de Base de Datos
55
56. Ejemplo del uso del fs
El DBA
El SMBD
Manejo de Memoria
Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Seguridad
Marzo 2012
• Resultado
1
fs (Ciudad =' Caracas ' , Estudiante) =
30
T 1 = Estudiane × fs (ciudad =' Caracas ' , Estudiante)
1
T 1 = 5.000 × = 167 (se redondea)
30
1
fs (CodM ='6311' , Inscribe) =
100
T 1 = Inscribe × fs (CodM ='6311' , Inscribe)
1
T 1 = 25.000 ×
= 250
100
Administración de Base de Datos
56
57. Costo de un Árbol de
ejecución
El DBA
El SMBD
Manejo de Memoria
Restauración
Concurrencia
• Próxima clase
– Costo de los Operadores físicos
•
•
•
•
•
Select
Join
Order by
Project
Select
Diccionario Datos
Proc. Consultas
Integridad
– Evaluar el árbol de ejecución físico.
• Materialización
• Encausamiento
Seguridad
– Repasar costo de ordenamiento
Marzo 2012
Administración de Base de Datos
57