Procesamiento de Consultas - Cap 21

22
ESCUELA DE CIENCIAS DE LA COMPUTACION CAPÍTULO 21 PROCESAMIENTO DE CONSULTAS CUESTIONES DE REPASO Argenis Riofrío

description

Cuestiones de Repaso del capítulo 21 referente a Procesamiento de consultas.

Transcript of Procesamiento de Consultas - Cap 21

Page 1: Procesamiento de Consultas - Cap 21

ESCUELA DE CIENCIAS DE LA COMPUTACION

CAPÍTULO 21

PROCESAMIENTO DE CONSULTAS

CUESTIONES DE REPASO

Argenis Riofrío

Page 2: Procesamiento de Consultas - Cap 21

Argenis Riofrío

21.1 ¿Cuáles son los objetivos del procesamiento de consultas?– El procesamiento de consultas tiene como

objetivo principal transformar una consulta escrita en un lenguaje de alto nivel (SQL) en una estrategia de ejecución correcta y eficiente expresada en un lenguaje de bajo nivel (algebra relacional) y ejecutar la estrategia para extraer los datos requeridos.

Page 3: Procesamiento de Consultas - Cap 21

Argenis Riofrío

21.2 ¿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 y jerárquicos? - Difiere en que se establece una estrategia de

ejecución correcta y eficiente. Dando una mayor eficiencia a las consultas y al trato que se les de a estas.

Page 4: Procesamiento de Consultas - Cap 21

Argenis Riofrío

21.3 ¿Cuáles son las faces típicas del procesamiento de consultas?– Descomposición (Análisis sintáctico y validación)– Optimización – Generación de código– Ejecución

Page 5: Procesamiento de Consultas - Cap 21

Argenis Riofrío

21.4 ¿Cuáles son las etapas típicas de la descomposición de consultas?– Análisis– Normalización– Análisis semántico– Simplificación– Reestructuración de la consulta

Page 6: Procesamiento de Consultas - Cap 21

Argenis Riofrío

21.5 ¿Cuál es la diferencia entre las formas normales conjuntivas y disyuntivas?

CONJUNTIVA- Secuencia de conjunciones conectadas mediante el operador ^ (AND). Donde cada término contiene uno o más términos conectados mediante el operador v (OR)

….

Page 7: Procesamiento de Consultas - Cap 21

Argenis Riofrío

21.5 ¿Cuál es la diferencia entre las formas normales conjuntivas y disyuntivas? Cont…

DISYUNTIVA- Secuencia de disyunciones conectadas mediante el operador v (OR). Donde cada término contiene uno o más términos conectados mediante el operador ^ (AND).

Page 8: Procesamiento de Consultas - Cap 21

Argenis Riofrío

21.6 ¿Cómo comprobaría la corrección semántica de una consulta? Lo que se pretende buscar es que no existan

inconsistencias con componentes que de alguna manera no estén colaborando a la generación del resultado por esta razón sería conveniente analizar todos y cada uno de los componentes de la consulta para encontrar lo antes dicho. Esto se podría realizar con el grafo de conexión de relaciones.

Page 9: Procesamiento de Consultas - Cap 21

Argenis Riofrío

21.7 Indique las reglas de comprobación que pueda aplicarse a:a) Operaciones de selección

b) Operaciones de proyección

c) Operaciones de combinación Theta

Page 10: Procesamiento de Consultas - Cap 21

Argenis Riofrío

21.8 Indique las reglas heurísticas que deberían aplicarse para mejorar el procesamiento de una consulta.– Podría ser un uno colocar el sistema operativo.– En otro disco los archivos base o principales de la

base de datos.– En otro los archivos de índice.– Archivos de registro de recuperación.

Page 11: Procesamiento de Consultas - Cap 21

Argenis Riofrío

21.9 ¿Qué tipo de estadísticas debe almacenar un SGBD para poder calcular las estimaciones del coste de las operaciones de álgebra relacional?

Page 12: Procesamiento de Consultas - Cap 21

Argenis Riofrío

Para cada relación base R: número de tuplas en una relación es decir la Cardinalidad, el número de tuplas de R que caben en un bloque, el número de bloques requeridos para almacenar R.

Para cada atributo A de la relación base R: El número de valores distintos que aparecen para el atributo A en la relación R, valores mínimos y máximos para cada atributo de la relación R, Cardinalidad de selección del atributo A en la relación B es decir en número medio de tuplas que satisfagan una condición de igualdad para el atributo A.

Para cada índice de multinivel I sobre el conjunto de atributos A: El número de niveles de I, el número de bloques

Page 13: Procesamiento de Consultas - Cap 21

Argenis Riofrío

21.10 ¿En qué circunstancias tendrá que utilizar el sistema una búsqueda lineal a la hora de implementar una operación de selección?

Page 14: Procesamiento de Consultas - Cap 21

Argenis Riofrío

Se tendrá que utilizar el sistema de búsqueda lineal en las siguientes circunstancias:

El archivo no está ordenadoel predicado sea la clave de búsquedaLos bloques están numerados secuencialmente

a partir de

Page 15: Procesamiento de Consultas - Cap 21

Argenis Riofrío

21.11 ¿Cuáles son las estrategias principales de implementar la operación de combinación?

Page 16: Procesamiento de Consultas - Cap 21

Argenis Riofrío

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

Combinación mediante bucle anidados por bloques

Combinación de buche anidado indexadoCombinación mediante ordenación-mezclaCombinación hash

Page 17: Procesamiento de Consultas - Cap 21

Argenis Riofrío

21.12 ¿Cuáles son las diferencias entre materialización y pipelining?

Page 18: Procesamiento de Consultas - Cap 21

Argenis Riofrío

En el pipelining procesa en cadena los resultados de las operaciones sin crear una relación temporal ni volver a leer los resultados.

Mientras que en la materialización el resultado de las operaciones intermedias de álgebra relacional se escriben temporalmente de tal manera que la salida de una operación se almacena en una relación temporal para ser procesado por la siguiente operación.

Page 19: Procesamiento de Consultas - Cap 21

Argenis Riofrío

21.13 Explique la diferencia entre árboles de álgebra relacional lineales y no lineales. Proporcione ejemplos para ilustrar su respuesta.

Page 20: Procesamiento de Consultas - Cap 21

Argenis Riofrío

En los árboles lineales la relación en uno de los lados en cada operador es siempre una relación base.

Mientras que en una relación no lineal ambos nodos hijos poseen una relación base.

Por ejemplo un padre puede tener dos hijos y cada hijo tiene dos hijos ese sería árbol no lineal mientras que un padre tiene dos hijos pero siempre sólo uno de los dos hijos puede tener otro hijo y siempre el hijo del mismo lado puede tener descendientes sería un árbol lineal

Page 21: Procesamiento de Consultas - Cap 21

Argenis Riofrío

21.14 ¿Cuáles son las ventajas y desventajas de los árboles de profundidad izquierda?

Page 22: Procesamiento de Consultas - Cap 21

Argenis Riofrío

Las ventajas son: Reducir el espacio de búsqueda Permitir que el optimizador de consultas se

base en técnicas de procesamiento dinámico.

Las desventajas son: Que al reducir el espacio de búsquedas no se

toma en cuenta muchas estrategias de ejecución alternativas algunas de las cuales pueden tener un coste menor al que se haya podido determinar utilizando el árbol lineal.