Procesamiento de consultas

Post on 24-Apr-2015

3.767 views 3 download

description

Cuestiones de repaso del capítulo 21

Transcript of Procesamiento de consultas

Escuela de ciencias de la computación

PROCESAMIENTO DE CONSULTASCAPÍTULO 21

Autor: Israel Cueva Hidalgo.

Objetivos del procesamiento de consultas

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.

ISRAEL CUEVA H.

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

ISRAEL CUEVA H.

ISRAEL CUEVA H.

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.

ISRAEL CUEVA H.

Fases del procesamiento de consultas

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.

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

ISRAEL CUEVA H.

Etapas de la descomposición de consultas

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

ISRAEL CUEVA H.

¿Cómo comprobaría la corrección 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.

ISRAEL CUEVA H.

• Operaciones de selección: Conmutativa.• Operaciones de proyección: Conmutativa de la selección y proyección.• Operaciones de combinación Theta: Equicombinación.

ISRAEL CUEVA H.

Indique las reglas de transformación que se pueden aplicar a:

ISRAEL CUEVA H.

Reglas heurísticas para mejorar el procesamiento 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.

ISRAEL CUEVA H.

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

ISRAEL CUEVA H.

Estrategias para implementar la operación de 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.

ISRAEL CUEVA H.

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…

ISRAEL CUEVA H.

… esta técnica de pipelining nos permite ahorrarnos el coste de crear relaciones temporales y de volver a leer.

ISRAEL CUEVA H.

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

Autor:

• ISRAEL CUEVA H.

wegols@hotmail.comestructuradedatos.wordpress.com

ISRAEL CUEVA H.