Successfully reported this slideshow.

More Related Content

Related Audiobooks

Free with a 14 day trial from Scribd

See all

PROCESAMIENTO DE CONSULTAS

  1. 1. PROCESAMIENTO DE CONSULTAS CAPÍTULO 21
  2. 2. OBJETIVOS DEL PROCESAMIENTO DE CONSULTAS <ul><li>Los objetivos del procesamiento de consultas son transformar una consulta escrita en un lenguaje de alto nivel, normalmente SQL, en una estrategia de ejecución correcta y eficiente expresada en un lenguaje de bajo nivel, por ejemplo, el álgebra relacional, y ejecutar dicha estrategia para extraer los datos solicitados. </li></ul>
  3. 3. ¿En qué sentido difiere el procesamiento de consultas en los sistemas relacionales del procesamiento de lenguajes de consultas de bajo nivel para sistemas de red jerárquicos?
  4. 4. En los sistemas de bases de datos en red y jerárquicos de primera generación, el sistema de consulta procedimental de bajo nivel está generalmente incrustado en un lenguaje de programación de alto nivel tal como COBOL, y es responsabilidad del programador seleccionar la estrategia de ejecución más apropiada.
  5. 5. FASES DEL PROCESAMIENTO DE CONSULTAS <ul><li>El procesamiento de consultas puede dividirse en cuatro fases principales: </li></ul><ul><ul><ul><li>Descomposición. </li></ul></ul></ul><ul><ul><ul><li>Optimización. </li></ul></ul></ul><ul><ul><ul><li>Generación de código. </li></ul></ul></ul><ul><ul><ul><li>Ejecución. </li></ul></ul></ul>
  6. 6. <ul><li>La descomposición de consultas transforma una consulta d alto nivel en una consulta de álgebra relacional y comprueba que dicha consulta sea sintáctica y semánticamente correcta. </li></ul><ul><li>Las etapas típicas de la descomposición de consultas son: </li></ul>ETAPAS DE LA DESCOMPOSICIÓN DE CONSULTAS
  7. 7. <ul><li>Análisis </li></ul><ul><li>Normalización. </li></ul><ul><li>Análisis semántico. </li></ul><ul><li>Simplificación. </li></ul><ul><li>Reestructuración de la consulta. </li></ul>
  8. 8. ¿CÓMO COMPROBARÍA LA CORRECCIÓN SEMÁNTICA DE UNA CONSULTA? <ul><li>Comprobaría la corrección mediante la descomposición de consultas, ya que aquí se transforma una consulta de alto nivel en una consulta de álgebra relacional y se comprueba que dicha consulta sea sintáctica y semánticamente correcta. </li></ul>
  9. 9. <ul><li>Operaciones de selección: </li></ul><ul><li>Conmutativa. </li></ul><ul><li>Operaciones de proyección: </li></ul><ul><li>Conmutativa de la selección y proyección. </li></ul><ul><li>Operaciones de combinación Theta: </li></ul><ul><li>Equicombinación. </li></ul>INDIQUE LAS REGLAS DE TRANSFORMACIÓN QUE SE PUEDEN APLICAR A:
  10. 10. REGLAS HEURÍSTICAS PARA MEJORAR EL PROCESAMIENTO DE UNA CONSULTA <ul><li>Realizar las operaciones de selección lo antes posible. </li></ul><ul><li>Combinar el producto cartesiano con una operación se selección subyacente. </li></ul><ul><li>Utilizar la asociatividad de las operaciones binarias para reordenar los nodos hoja. </li></ul><ul><li>Realizar operaciones de proyección. </li></ul>
  11. 11. ¿QUÉ TIPO DE ESTADÍSTICAS DEBE ALMACENAR UN SGBD PARA PODER CALCULAR ESTIMACIONES DEL COSTE? Entre las estadísticas típicas se incluye la cardinalidad de cada relación base, el número de bloques requeridos para almacenar una relación, el número de valores distintos para cada atributo y el número de niveles en cada índice multinivel.
  12. 12. ESTRATEGIAS PARA IMPLEMENTAR LA OPERACIÓN DE COMBINACIÓN <ul><li>Las principales estrategias para implementar la operación de combinación son: </li></ul><ul><ul><ul><li>mediante bucle anidado por bloques. </li></ul></ul></ul><ul><ul><ul><li>Mediante bucle anidado indexado. </li></ul></ul></ul><ul><ul><ul><li>Mediante ordenación-mezcla. </li></ul></ul></ul><ul><ul><ul><li>Mediante combinación hash. </li></ul></ul></ul>
  13. 13. MATERIALIZACIÓN Y PIPELINING Con la técnica de materialización la salida de una operación se almacena en una relación temporal para su procesamiento por parte de la siguiente operación. Otra técnica consiste en procesar en cadena los resultados de una operación, pasándolos a la operación siguiente sin crear una relación temporal donde se almacenen los resultados intermedios esta técnica de pipelining nos permite ahorrarnos el coste de crear relaciones temporales y de volver a leer.
  14. 14. ÁRBOLES DE PROFUNDIDAD IZQUIERDA Los árboles de profundidad izquierda tienen la ventaja de reducir el espacio de búsqueda de la estrategia óptima y de permitir que el optimizador de consulta se base en técnicas de procesamiento dinámico. Su principal desventaja es que, al reducir el espacio de búsqueda, no se toma en cuenta muchas estrategias de ejecución alternativas.
  15. 15. <ul><li>Autora: </li></ul><ul><li>[email_address] </li></ul><ul><li>http://avancesinformáticos.wordpress.com </li></ul><ul><li>http://lifeinformaticos.blogspot.com </li></ul><ul><li>www.lacoctelera.com/paty </li></ul>

×