advertisement

Abd procesamiento consultas (parte1)

50 %
50 %
advertisement
Information about Abd procesamiento consultas (parte1)
Education

Published on February 21, 2014

Author: mercyo

Source: slideshare.net

Description

Presentacion de la clase de procesamiento de consultas de la materia Administracion de Base de datos - Computacion - UCV
advertisement

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

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 • Técnicas para optimizar consultas – Basada en heurísticas – Basada en costos. Administración de Base de Datos 2

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

Introducción El DBA El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas • Una de las funciones más importantes de los sistemas de Base de datos en la consulta. • Los SMBD relacionales usan como lenguaje de consulta SQL • Para tener mayor control de la respuesta de una consulta del DBA debe conocer que hay detrás de esa instrucción en SQL Integridad Seguridad Marzo 2012 Administración de Base de Datos 4

Conocimientos previos El DBA El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos • Para el manejo conocimientos de este tema el estudiante debe tener conocimientos de: – – – – – Lenguajes de consulta SQL y Algebra Relacional Manejo de memoria en los SMBD Diccionario de datos Complejidad algorítmica Probabilidad Proc. Consultas Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos 5

Objetivos o competencias El DBA El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas Integridad Seguridad Marzo 2012 • Al finalizar el tema el estudiante debe ser capaz de: – Traducir una consulta en SQL a una expresión del Algebra Relacional – Conocer que factores influyen en el rendimiento de una consulta – Conocer la importancia del diccionario de datos en el procesamiento de consultas – Optimizar una consulta usando técnicas heurísticas – Calcular el costo de una consulta – Conocer las utilidades del sistema manejador para consultas Administración de Base de Datos 6

Cómo procesar una consulta El DBA El SMBD Manejo de Memoria Restauración SELECT Cuenta, Saldo FROM Cuenta WHERE Saldo >40.000 Procesamiento Procesamiento de consulta de consulta Concurrencia Diccionario Datos Proc. Consultas Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos 7

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 8

Análisis El DBA Consulta Consulta de alto de alto nivel nivel El SMBD Analizador Analizador yy traductor traductor Manejo de Memoria Restauración Concurrencia Diccionario de datos • Análisis léxico: Identifica los elementos del lenguaje como por ejemplo, las palabras reservadas de SQL, si están bien formados los nombres de los atributos y relaciones en el texto de la consulta. • Análisis sintáctico: Comprueba la sintaxis de la consulta de acuerdo a las reglas sintácticas del lenguaje de consulta. • Validación: Comprueba que los nombres de las relaciones, atributos sean válidos semánticamente dentro del esquema de la base de datos sobre la cual se realiza la consulta y si los tipos de datos se están usando correctamente. Diccionario Datos Proc. Consultas Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos 9

Procesamiento de 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 Manejo de Memoria Restauración Diccionario de datos Concurrencia Diccionario Datos Proc. Consultas Consultas Integridad • Traductor: Crea una representación interna de la consulta, mediante una estructura de árbol llamado árbol de consulta, el cual está basado en el álgebra relacional extendido Seguridad Marzo 2012 Administración de Base de Datos 10

Procesamiento de consulta Expresión Expresión en Algebra en Algebra Relacional Relacional El DBA El SMBD OptimiOptimizador zador Estadísticas de los datos Manejo de Memoria Resultado Resultado de la de la consulta consulta Restauración Motor de Motor de evaluación evaluación Plan de Plan de ejecución ejecución Concurrencia Base de datos Diccionario Datos Proc. Consultas Consultas Integridad Seguridad Marzo 2012 • Optimización: desarrolla una estrategia de ejecución para obtener el resultado de la consulta, evaluando cientos de estrategias distintas basadas en el álgebra relacional, y sus operadores físicos, escogiendo alguna de las estrategias menos costosa (plan de ejecución) Administración de Base de Datos 11

Procesamiento de consulta Expresión Expresión en Algebra en Algebra Relacional Relacional El DBA El SMBD OptimiOptimizador zador Estadísticas de los datos Manejo de Memoria Resultado Resultado de la de la consulta consulta Restauración Motor de Motor de evaluación evaluación Plan de Plan de ejecución ejecución Concurrencia Base de datos Diccionario Datos Proc. Consultas Consultas Integridad Seguridad Marzo 2012 • Motor de ejecución: recibe el plan de evaluación, lo ejecuta y devuelve la respuesta de la consulta. Administración de Base de Datos 12

Algebra Relacional El DBA El SMBD Select <lista de atributos> From <lista de tablas> Lenguaje de consulta de alto nivel Where <condiciones> Manejo de Memoria Restauración Operadores del Algebra Relacional Concurrencia Diccionario Datos Unarios Proc. Consultas Consultas Integridad Seguridad Marzo 2012 Binarios • Proyección • Selección • Ordenación • • • • • • Lenguaje de consulta de bajo nivel Unión Intersección Producto cartesiano Reunión Natural Resta División Administración de Base de Datos 13

Algebra Relacional El DBA El SMBD Manejo de Memoria • PROYECCION – Define una vista que contiene un subconjunto vertical de R, extrayendo los valores de los atributos especificados y eliminando los duplicados. – Ejm: T 1 ← Π CI ,Sueldo ( Empleado) Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos 14

Algebra Relacional El DBA El SMBD Manejo de Memoria • PROYECCION – Define una vista que contiene un subconjunto vertical de R, extrayendo los valores de los atributos especificados y eliminando los duplicados. – Ejm: T 1 ← Π CI ,Sueldo ( Empleado) Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas Integridad Select <lista de atributos> CI Nombre Sueldo From <lista de tablas> 123 Andrea Rojas 1500 234 Humberto Perez 2400 254 Camilo Diaz 1600 Where <condiciones> Seguridad Marzo 2012 Administración de Base de Datos 15

Algebra Relacional El DBA El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas Integridad • SELECCIÓN – Define una vista que contiene todas las tuplas de R que satisfacen la condición especificada. – Ejm: T 1 ← σ Sueldo>1500 ( Empleado) Select <lista de atributos> Where <condiciones> CI Nombre Sueldo 123 Andrea Rojas 1500 234 Humberto Perez 2400 254 From <lista de tablas> Camilo Diaz 1600 Seguridad Marzo 2012 Administración de Base de Datos 16

Algebra Relacional El DBA El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos • PRODUCTO CARTESIANO – Define una relación que es la concatenación de cada tupla de la relación R con cada tupla de la relación S. – RXS CI Select <lista de atributos> From <lista de tablas> CodB CodB Desc 123 1 1 Malta 234 1 2 7 up 254 2 Where <condiciones> Proc. Consultas Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos 17

Algebra Relacional El DBA El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos • PRODUCTO CARTESIANO – Define una relación que es la concatenación de cada tupla de la relación R con cada tupla de la relación S. – RXS CI Select <lista de atributos> From <lista de tablas> Where <condiciones> CodB CodB Desc 123 1 1 Malta 234 1 2 7 up 254 2R.CodB R.CI S.CodB Desc 123 1 1 Malta 234 1 1 Malta Integridad 254 2 1 Malta Seguridad 123 1 2 7 up 234 1 2 7 up 254 2 2 7 up Proc. Consultas Consultas Marzo 2012 Administración de Base de Datos 18

Algebra Relacional El DBA El SMBD Manejo de Memoria • REUNION NATURAL (JOIN) – Es una combinación entre dos relaciones donde se verifica la condición de igualdad sobre los atributos comunes entre ambas relaciones. Del resultado se elimina una de las dos apariciones de cada atributo CI Proc. Consultas Consultas Integridad Seguridad Marzo 2012 Where <condiciones> and T1.a1=t2.a1 and …. 1 1 Malta 234 1 R.CodB 2 S.CodB 254 123 2 1 7 up Desc 1 Malta 234 1 1 Malta 254 2 1 Malta 123 From <lista de tablas> Desc 1 2 7 up 1 2 7 up 254 Diccionario Datos Select <lista de atributos> CodB 234 Concurrencia CodB 123 Restauración 2 2 7 up R.CI Administración de Base de Datos 19

Algebra Relacional El DBA El SMBD Manejo de Memoria • REUNION NATURAL (JOIN) – Es una combinación entre dos relaciones donde se verifica la condición de igualdad sobre los atributos comunes entre ambas relaciones. Del resultado se elimina una de las dos apariciones de cada atributo CI CodB CodB Desc 123 1 1 Malta Select <lista de atributos> 234 1 2 7 up From <lista de tablas> 254 2 Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas Where <condiciones> and T1.a1=t2.a1 and …. Seguridad Marzo 2012 CodB Desc 123 1 Malta 234 1 Malta 254 Integridad CI 2 7 up Administración de Base de Datos 20

Árbol de ejecución El DBA El SMBD Manejo de Memoria Restauración • • Representa una consulta en algebra relacional Es un árbol de orden 2 – Cada nodo interno representa una tabla vista o resultado intermedio producido por una operación – Cada hoja representa una tabla base Concurrencia Diccionario Datos Proc. Consultas Consultas Case Base Case Inductivo T Op Integridad Seguridad P1 y P2 sub arboles P1 , , , X ÷, P2 Op π ρ O P1 Op operador AR Marzo 2012 Administración de Base de Datos 21

Árbol de ejecución • El DBA Ejemplo Π Apellido1, Nombre, Sueldo (σ Sueldo > c (Empleado Departamento)) El SMBD Manejo de Memoria Restauración T1 <-(Empleado Departamento) Ejecutamos de adentro hacia afuera Concurrencia Diccionario Datos Proc. Consultas Consultas Integridad Seguridad Marzo 2012 Empleado Administración de Base de Datos Departa mento 22

Árbol de ejecución • El DBA Ejemplo Π Apellido1, Nombre, Sueldo (σ Sueldo > c (Empleado Departamento)) El SMBD Manejo de Memoria Restauración T1 <-(Empleado Concurrencia Diccionario Datos T2 <- σ Sueldo > c Departamento) (T1) σ Sueldo > c Proc. Consultas Consultas Integridad Seguridad Marzo 2012 Empleado Administración de Base de Datos Departa mento 23

Árbol de ejecución • El DBA Ejemplo Π Apellido1, Nombre, Sueldo (σ Sueldo > c (Empleado Departamento)) El SMBD Π Manejo de Memoria Apellido1, Nombre, Sueldo Restauración T1 <-(Empleado Concurrencia T2 <- σ Diccionario Datos Proc. Consultas Consultas Tr <- Π Sueldo > c Departamento) (T1) Apellido1, Nombre, Sueldo σ Sueldo > c (T2) Integridad Seguridad Marzo 2012 Empleado Administración de Base de Datos Departa mento 24

Árbol lineal izquierdo El DBA • 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, la selección es sobre toda la condición y la proyección sobre todos los atributos El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas Integridad Seguridad Marzo 2012 Nota: es el mas rápido de construir pero el más costoso Administración de Base de Datos

Árbol lineal izquierdo El DBA • 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, la selección es sobre toda la condición y la proyección sobre todos los atributos El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas SELECT <Lista Atributos> FROM T1, T2, … Tn WHERE <Condición> Integridad Seguridad Marzo 2012 Nota: es el mas rápido de construir pero el más costoso Administración de Base de Datos

Árbol lineal izquierdo El DBA • 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, la selección es sobre toda la condición y la proyección sobre todos los atributos El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas SELECT <Lista Atributos> FROM T1, T2, … Tn WHERE <Condición> Integridad Seguridad Marzo 2012 Nota: es el mas rápido de construir pero el más costoso Administración de Base de Datos

Árbol lineal izquierdo El DBA • 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, la selección es sobre toda la condición y la proyección sobre todos los atributos El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas SELECT <Lista Atributos> FROM T1, T2, … Tn WHERE <Condición> Integridad Seguridad Marzo 2012 Nota: es el mas rápido de construir pero el más costoso Administración de Base de Datos

Árbol lineal izquierdo El DBA El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas Ejercicios Construya el árbol canónico de las sig. consultas SELECT CI, Nombre, CodMateria FROM Estudiante E, inscripcion I WHERE I.CodM = ‘6311’ and semestre=‘2-2011’ and E.CI = I.CI SELECT E.CI, E.Nombre, M.Nombre, I.semestre FROM Estudiante E, Inscripcion I, Materia M WHERE I.CodM = ‘6311’ and I.semestre=‘2-2011’ and E.CI = I.CI and M.CodM = I.CodM Integridad Seguridad Marzo 2012 Administración de Base de Datos

Ejercicio 1 El DBA El SMBD SELECT CI, Nombre, CodMateria FROM Estudiante E, inscripcion I WHERE I.CodM = ‘6311’ and semestre=‘2-2011’ and E.CI = I.CI Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos 30

Ejercicio 2 El DBA • Tarea, envíenla por correo El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos 31

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 de la teoría de conjuntos Integridad Seguridad Marzo 2012 Administración de Base de Datos

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

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

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 Proc. Consultas Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos

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

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

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

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

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

Axiomas del Algebra Relacional El DBA 4. Distributividad de la proyección y la selección El SMBD Manejo de Memoria Restauración Concurrencia CI CodB Diccionario Datos 123 1 Proc. Consultas Consultas 234 1 Integridad 123 2 Seguridad Marzo 2012 Administración de Base de Datos

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

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

Axiomas del Algebra Relacional El DBA 4. Distributividad de la proyección y la selección El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas ∏A1..An σ c σ ∏A1..An Integridad Seguridad Marzo 2012 c Administración de Base de Datos

Próxima clase El DBA Próxima clase • Transformación del árbol canónico (Axiomas del Algebra Relacional) Continuación • Técnicas de optimización Restauración • Factor de Selectividad Concurrencia • Costos de los operadores El SMBD Manejo de Memoria Diccionario Datos Proc. Consultas Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos

Add a comment

Related presentations

Related pages

Abd procesamiento consultas (parte1) - Education

Presentacion de la clase de procesamiento de consultas de la materia Administracion de Base de datos - Computacion - UCV
Read more

Abd procesamiento consultas (parte2) - Education

Abd procesamiento consultas (parte1) Presentacion de la clase de procesamiento de consultas de la materia Administracion de Base de datos - Computacion - UCV
Read more

ABD-UCV-Computacion - Procesamiento de Consultas ...

Procesamiento de Consultas ¿Que es el procesamiento de consultas? Son actividades involucradas en la recuperación o extracción de datos de la base de datos
Read more

ABD-UCV-Computacion - Procesamiento de consultas

Procesamiento de consultas Entender el plan de ejecución Cada vez que se ejecuta una consulta en un motor de bases de datos, internamente se ejecutan una ...
Read more

Base de Datos 01 - Introducción - Conceptos Generales ...

Unidad 6 - Procesamiento y Optimización de Consultas ... Login Parte1 Introducción - Duration: 9:01. Ramiro Madriaga 10,668 views. 9:01
Read more

12. Procesamiento y Optimización de Consultas

Tema 12. Procesamiento y optimización de consultas 7 •Ventajas de la optimización automática – El usuario no se preocupa de cómo formular la consulta
Read more