16
Escuela de ciencias de la computación PROCESAMIENTO DE CONSULTAS CAPÍTULO 21 Autor: Israel Cueva Hidalgo.

Procesamiento de consultas

Embed Size (px)

DESCRIPTION

Cuestiones de repaso del capítulo 21

Citation preview

Page 1: Procesamiento de consultas

Escuela de ciencias de la computación

PROCESAMIENTO DE CONSULTASCAPÍTULO 21

Autor: Israel Cueva Hidalgo.

Page 2: Procesamiento de consultas

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.

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?

ISRAEL CUEVA H.

Page 4: Procesamiento de consultas

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.

Page 5: Procesamiento de consultas

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.

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:

ISRAEL CUEVA H.

Etapas de la descomposición de consultas

Page 7: Procesamiento de consultas

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

ISRAEL CUEVA H.

Page 8: Procesamiento de consultas

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

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.

ISRAEL CUEVA H.

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

Page 10: Procesamiento de consultas

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.

Page 11: Procesamiento de consultas

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.

Page 12: Procesamiento de consultas

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.

Page 13: Procesamiento de consultas

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…

Page 14: Procesamiento de consultas

ISRAEL CUEVA H.

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

Page 15: Procesamiento de consultas

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.

Page 16: Procesamiento de consultas

Autor:

• ISRAEL CUEVA H.

[email protected]

ISRAEL CUEVA H.