UNIVERSIDAD TÉCNICA PARTICULAR  DE LOJA ECC BASE DE DATOS AVANZADA PROCESAMIENTO DE CONSULTAS Por: Patricia Flores
21.1  CUÁLES SON LOS OBJETIVOS DEL PROCESAMIENTO DE CONSULTAS? Entre los principales objetivos tenemos: 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, como por ejemplo el algebra relacional. Ejecutar una estrategias para extraer los datos requeridos.  Mejorar el rendimiento de  las  consultas  utilizando algoritmos eficientes.  Optimizar las consultas, es decir ayuda a minimizar el uso de recursos.
21.2  ¿EN QUE SENTIDO DIFIERE EL PROCESMIENTO DE CONSULTAS EN LOS SISTEMAS RELACIONALES DEL PROCESAMIENTO DE LENGUAJE DE CONSULTAS DE BAJO NIVEL PARA SISTEMAS DE RED  Y JERARQUICOS? Difiere en el sentido en que la forma en que se realiza no es la misma ya que cuando hablamos de un sistema de  red  las operaciones se  realizan en forma paralela y mientras tanto que en los sistemas jerárquicos  las operaciones deben respetar el nivel jerárquico que les corresponde.
21.3 CUÁLES SON LAS FASES TÍPICAS DEL PROCESAMIENTO DE CONSULTAS 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.4  ¿CUÁLES SON LAS ETAPAS  TÍPICAS DE LA DESCOMPOSICIÓN DE  CONSULTAS? La descomposición de consultas tiene las siguientes  etapas típicas:  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? Se diferencian en que la forma normal disyuntiva contiene todas las tuplas  formadas  por la unión de todas las tuplas que satisfagan todas las disyunciones (AND) y la forma normal conjuntiva contiene aquella tuplas que  satisfagan todas las conjunciones (OR).
21.6 ¿ CÓMO COMPROBARÍA  LA CORRECCIÓN SEMÁNTICA DE UNA CONSULTA? Existen dos formas en las que estas se pueden realizar, estas formas son: 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. Combinación de un 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 La utilización de  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
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? Se tendrá que utilizar el sistema de búsqueda lineal en las siguientes circunstancias: El archivo no está ordenado el predicado sea la clave de  búsqueda 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? Las estrategias principales para implementar la operación de combinación son: 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 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.
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  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.

Capitulo 21

  • 1.
    UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA ECC BASE DE DATOS AVANZADA PROCESAMIENTO DE CONSULTAS Por: Patricia Flores
  • 2.
    21.1 CUÁLESSON LOS OBJETIVOS DEL PROCESAMIENTO DE CONSULTAS? Entre los principales objetivos tenemos: 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, como por ejemplo el algebra relacional. Ejecutar una estrategias para extraer los datos requeridos. Mejorar el rendimiento de las consultas utilizando algoritmos eficientes. Optimizar las consultas, es decir ayuda a minimizar el uso de recursos.
  • 3.
    21.2 ¿ENQUE SENTIDO DIFIERE EL PROCESMIENTO DE CONSULTAS EN LOS SISTEMAS RELACIONALES DEL PROCESAMIENTO DE LENGUAJE DE CONSULTAS DE BAJO NIVEL PARA SISTEMAS DE RED Y JERARQUICOS? Difiere en el sentido en que la forma en que se realiza no es la misma ya que cuando hablamos de un sistema de red las operaciones se realizan en forma paralela y mientras tanto que en los sistemas jerárquicos las operaciones deben respetar el nivel jerárquico que les corresponde.
  • 4.
    21.3 CUÁLES SONLAS FASES TÍPICAS DEL PROCESAMIENTO DE CONSULTAS 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
  • 5.
    21.4 ¿CUÁLESSON LAS ETAPAS TÍPICAS DE LA DESCOMPOSICIÓN DE CONSULTAS? La descomposición de consultas tiene las siguientes etapas típicas: 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? Se diferencian en que la forma normal disyuntiva contiene todas las tuplas formadas por la unión de todas las tuplas que satisfagan todas las disyunciones (AND) y la forma normal conjuntiva contiene aquella tuplas que satisfagan todas las conjunciones (OR).
  • 7.
    21.6 ¿ CÓMOCOMPROBARÍA LA CORRECCIÓN SEMÁNTICA DE UNA CONSULTA? Existen dos formas en las que estas se pueden realizar, estas formas son: 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. Combinación de un 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 La utilización de 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
  • 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? Se tendrá que utilizar el sistema de búsqueda lineal en las siguientes circunstancias: El archivo no está ordenado el predicado sea la clave de búsqueda 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? Las estrategias principales para implementar la operación de combinación son: 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 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.
  • 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 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.