BASE DE DATOS AVANZADA PROCESAMIENTO DE CONSULTAS Elba Encalada
21.1 ¿Cuáles son los objetivos del procesamiento de consultas? Transformar una consulta escrita en un lenguaje de alto nivel, normalmente SQL,  en una estrategia de ejecución correcta y eficiente. Ejecutar una estrategias para extraer los datos requeridos.  Mejorar el rendimiento de  las  consultas  utilizando algoritmos eficientes.
21.2  ¿En qué sentido difiere el procesamiento de consultas en los sistemas relacionales del procesamiento de lenguaje de consultas de bajo nivel para sistemas de red y jerárquicos? Se diferencian en que en los sistemas de  red  las operaciones se  realizan en forma paralela mientras que en los sistemas jerárquicos  las operaciones deben respetar el nivel jerárquico que les corresponde.
Las fases típicas del procesamiento de consultas son: Descomposición (compuesta de análisis sintáctico y    validación) Optimización Generación de código y  Ejecución 21.3 Cuáles son las fases típicas del procesamiento de consultas
21.4  ¿Cuáles son las etapas  típicas de la descomposición de  consultas? La descomposición de consultas es la primera fase del procesamiento de consultas y sus  etapas típicas son:  Análisis Normalización Análisis semántico , Simplificación y  Restructuración de la consulta
21.5 ¿ Cuál  es la diferencia entre las formas normales conjuntivas y disyuntiva? La diferencia es que la forma normal conjuntiva contiene aquella tuplas que  satisfagan todas las conjunciones (OR), y la forma normal disyuntiva contiene todas las tuplas  formadas  por la unión de todas las tuplas que satisfagan todas las disyunciones. (AND)
21.6 ¿ Cómo comprobaría  la corrección semántica de una consulta? La corrección semántica se puede realizar de dos maneras: Si  sus componentes no contribuyen  a la generación del resultado entonces la consulta es incorrecta y debe corregirse. Si el predicado de una consulta es contradictorio es decir no abarca a ninguna tupla debido a la contradicción que existe en el predicado de la consulta.
21.7 Indique las reglas de transformación que pueden aplicarse a : Operaciones de selección:  las operaciones individuales de selección se pueden transformar en una cascada de operaciones conjuntivas de  selección y viceversa, conmutatividad de las operaciones de selección. Operaciones de proyección:  en una secuencia de proyecciones sólo se requiere  la última proyección de la secuencia, conmutatividad de  la selección y de la proyección. Operaciones de combinación theta:  conmutatividad de la combinación theta, conmutatividad de la selección y de la combinación theta, conmutatividad de la proyección con la combinación theta, , asociatividad de  la combinación theta
21.8 Indique las reglas heurísticas que deberían aplicarse para mejorar el procesamiento de una consulta Realizar las operaciones de selección y proyección lo antes posible. Combinar el producto cartesiano con una operación de selección subsiguiente cuyo predicado represente una condición de combinación, para formar una operación de combinación Utilizar la asociatividad de las operaciones binarias para reordenar los nodos hoja de modo que los nodos hoja con las operaciones de selección más restrictivas se ejecuten primero Calcular una única vez las expresiones posibles
21.9 ¿Qué tipos de estadísticas debe almacenar un SGBD para poder calcular estimaciones del coste de las operaciones de álgebra relacional? 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 hoja de I
21.10 ¿En qué circunstancias tendrá que utilizar el sistema una búsqueda lineal a la hora de implementar una operación de álgebra relacional? Cuando: el predicado sea la clave de  búsqueda El archivo no está ordenado Los bloques están numerados secuencialmente a partir de
21.11 ¿Cuáles son las estrategias principales para implementar la operación de combinación? Combinación mediante bucle anidados por bloques Combinación de buche anidado indexado Combinación mediante ordenación-mezcla Combinación hash
21.12 ¿Cuáles son las diferencias entre materialización y pipelining? 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 mientras que en el pipelining  procesa en cadena los resultados de las operaciones sin crear una relación temporal ni volver a leer los resultados.
21.13 Explique la diferencia entre árboles de álgebra relacional lineales y no lineales. Proporcione ejemplos para ilustra su respuesta 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
21.14 ¿Cuáles son las ventajas y desventajas de los árboles de profundidad izquierda? Las ventajas son: reducir el espacio de búsqueda y 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.
:

Capitulo21

  • 1.
    BASE DE DATOSAVANZADA PROCESAMIENTO DE CONSULTAS Elba Encalada
  • 2.
    21.1 ¿Cuáles sonlos objetivos del procesamiento de consultas? Transformar una consulta escrita en un lenguaje de alto nivel, normalmente SQL, en una estrategia de ejecución correcta y eficiente. Ejecutar una estrategias para extraer los datos requeridos. Mejorar el rendimiento de las consultas utilizando algoritmos eficientes.
  • 3.
    21.2 ¿Enqué sentido difiere el procesamiento de consultas en los sistemas relacionales del procesamiento de lenguaje de consultas de bajo nivel para sistemas de red y jerárquicos? Se diferencian en que en los sistemas de red las operaciones se realizan en forma paralela mientras que en los sistemas jerárquicos las operaciones deben respetar el nivel jerárquico que les corresponde.
  • 4.
    Las fases típicasdel procesamiento de consultas son: Descomposición (compuesta de análisis sintáctico y validación) Optimización Generación de código y Ejecución 21.3 Cuáles son las fases típicas del procesamiento de consultas
  • 5.
    21.4 ¿Cuálesson las etapas típicas de la descomposición de consultas? La descomposición de consultas es la primera fase del procesamiento de consultas y sus etapas típicas son: Análisis Normalización Análisis semántico , Simplificación y Restructuración de la consulta
  • 6.
    21.5 ¿ Cuál es la diferencia entre las formas normales conjuntivas y disyuntiva? La diferencia es que la forma normal conjuntiva contiene aquella tuplas que satisfagan todas las conjunciones (OR), y la forma normal disyuntiva contiene todas las tuplas formadas por la unión de todas las tuplas que satisfagan todas las disyunciones. (AND)
  • 7.
    21.6 ¿ Cómocomprobaría la corrección semántica de una consulta? La corrección semántica se puede realizar de dos maneras: Si sus componentes no contribuyen a la generación del resultado entonces la consulta es incorrecta y debe corregirse. Si el predicado de una consulta es contradictorio es decir no abarca a ninguna tupla debido a la contradicción que existe en el predicado de la consulta.
  • 8.
    21.7 Indique lasreglas de transformación que pueden aplicarse a : Operaciones de selección: las operaciones individuales de selección se pueden transformar en una cascada de operaciones conjuntivas de selección y viceversa, conmutatividad de las operaciones de selección. Operaciones de proyección: en una secuencia de proyecciones sólo se requiere la última proyección de la secuencia, conmutatividad de la selección y de la proyección. Operaciones de combinación theta: conmutatividad de la combinación theta, conmutatividad de la selección y de la combinación theta, conmutatividad de la proyección con la combinación theta, , asociatividad de la combinación theta
  • 9.
    21.8 Indique lasreglas heurísticas que deberían aplicarse para mejorar el procesamiento de una consulta Realizar las operaciones de selección y proyección lo antes posible. Combinar el producto cartesiano con una operación de selección subsiguiente cuyo predicado represente una condición de combinación, para formar una operación de combinación Utilizar la asociatividad de las operaciones binarias para reordenar los nodos hoja de modo que los nodos hoja con las operaciones de selección más restrictivas se ejecuten primero Calcular una única vez las expresiones posibles
  • 10.
    21.9 ¿Qué tiposde estadísticas debe almacenar un SGBD para poder calcular estimaciones del coste de las operaciones de álgebra relacional? 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 hoja de I
  • 11.
    21.10 ¿En quécircunstancias tendrá que utilizar el sistema una búsqueda lineal a la hora de implementar una operación de álgebra relacional? Cuando: el predicado sea la clave de búsqueda El archivo no está ordenado Los bloques están numerados secuencialmente a partir de
  • 12.
    21.11 ¿Cuáles sonlas estrategias principales para implementar la operación de combinación? Combinación mediante bucle anidados por bloques Combinación de buche anidado indexado Combinación mediante ordenación-mezcla Combinación hash
  • 13.
    21.12 ¿Cuáles sonlas diferencias entre materialización y pipelining? 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 mientras que en el pipelining procesa en cadena los resultados de las operaciones sin crear una relación temporal ni volver a leer los resultados.
  • 14.
    21.13 Explique ladiferencia entre árboles de álgebra relacional lineales y no lineales. Proporcione ejemplos para ilustra su respuesta 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
  • 15.
    21.14 ¿Cuáles sonlas ventajas y desventajas de los árboles de profundidad izquierda? Las ventajas son: reducir el espacio de búsqueda y 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.
  • 16.