procesamiento de consultas

15
PROCESAMIENTO DE PROCESAMIENTO DE CONSULTAS CONSULTAS CAPÍTULO 21 CAPÍTULO 21

Upload: innovacompu

Post on 14-Jun-2015

10.890 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PROCESAMIENTO DE CONSULTAS

PROCESAMIENTO DE PROCESAMIENTO DE CONSULTASCONSULTAS

CAPÍTULO 21CAPÍTULO 21

Page 2: PROCESAMIENTO DE CONSULTAS

OBJETIVOS DEL PROCESAMIENTO DE OBJETIVOS DEL PROCESAMIENTO DE CONSULTASCONSULTAS

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.

Page 3: PROCESAMIENTO DE CONSULTAS

¿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?

Page 4: PROCESAMIENTO DE CONSULTAS

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.

Page 5: PROCESAMIENTO DE CONSULTAS

FASES DEL PROCESAMIENTO DE FASES DEL PROCESAMIENTO DE CONSULTASCONSULTAS

El procesamiento de consultas puede dividirse en cuatro fases principales:

1. Descomposición.2. Optimización.3. Generación de código.4. Ejecución.

Page 6: PROCESAMIENTO DE CONSULTAS

• 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.

• Las etapas típicas de la descomposición de consultas son:

ETAPAS DE LA DESCOMPOSICIÓN DE ETAPAS DE LA DESCOMPOSICIÓN DE CONSULTASCONSULTAS

Page 7: PROCESAMIENTO DE CONSULTAS

• Análisis• Normalización.• Análisis semántico.• Simplificación.• Reestructuración de la consulta.

Page 8: PROCESAMIENTO DE CONSULTAS

¿CÓMO COMPROBARÍA LA CORRECCIÓN ¿CÓMO COMPROBARÍA LA CORRECCIÓN SEMÁNTICA DE UNA CONSULTA?SEMÁNTICA DE UNA CONSULTA?

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.

Page 9: PROCESAMIENTO DE CONSULTAS

• Operaciones de selección:

Conmutativa.

• Operaciones de proyección:

Conmutativa de la selección y proyección.

• Operaciones de combinación Theta:

Equicombinación.

INDIQUE LAS REGLAS DE TRANSFORMACIÓN INDIQUE LAS REGLAS DE TRANSFORMACIÓN QUE SE PUEDEN APLICAR A:QUE SE PUEDEN APLICAR A:

Page 10: PROCESAMIENTO DE CONSULTAS

REGLAS HEURÍSTICAS PARA MEJORAR EL REGLAS HEURÍSTICAS PARA MEJORAR EL PROCESAMIENTO DE UNA CONSULTAPROCESAMIENTO DE UNA CONSULTA

• Realizar las operaciones de selección lo antes posible.• Combinar el producto cartesiano con una operación se

selección subyacente.• Utilizar la asociatividad de las operaciones binarias

para reordenar los nodos hoja.• Realizar operaciones de proyección.

Page 11: PROCESAMIENTO DE CONSULTAS

¿QUÉ TIPO DE ESTADÍSTICAS DEBE ALMACENAR UN ¿QUÉ TIPO DE ESTADÍSTICAS DEBE ALMACENAR UN SGBD PARA PODER CALCULAR ESTIMACIONES DEL SGBD PARA PODER CALCULAR ESTIMACIONES DEL

COSTE?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.

Page 12: PROCESAMIENTO DE CONSULTAS

ESTRATEGIAS PARA IMPLEMENTAR LA OPERACIÓN ESTRATEGIAS PARA IMPLEMENTAR LA OPERACIÓN DE COMBINACIÓNDE COMBINACIÓN

Las principales estrategias para implementar la operación de combinación son:

• mediante bucle anidado por bloques.• Mediante bucle anidado indexado.• Mediante ordenación-mezcla.• Mediante combinación hash.

Page 13: PROCESAMIENTO DE CONSULTAS

MATERIALIZACIÓN Y PIPELININGMATERIALIZACIÓ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.

Page 14: PROCESAMIENTO DE CONSULTAS

ÁRBOLES DE PROFUNDIDAD IZQUIERDAÁ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.

Page 15: PROCESAMIENTO DE CONSULTAS

Autora:Autora:

[email protected]

http://avancesinformáticos.wordpress.com

http://lifeinformaticos.blogspot.com

www.lacoctelera.com/paty