Capitulo 21

659 views
610 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
659
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Capitulo 21

  1. 1. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA ECC BASE DE DATOS AVANZADA PROCESAMIENTO DE CONSULTAS Por: Patricia Flores
  2. 2. 21.1 CUÁLES SON LOS OBJETIVOS DEL PROCESAMIENTO DE CONSULTAS? <ul><li>Entre los principales objetivos tenemos: </li></ul><ul><li>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. </li></ul><ul><li>Ejecutar una estrategias para extraer los datos requeridos. </li></ul><ul><li>Mejorar el rendimiento de las consultas utilizando algoritmos eficientes. </li></ul><ul><li>Optimizar las consultas, es decir ayuda a minimizar el uso de recursos. </li></ul>
  3. 3. <ul><li>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? </li></ul><ul><li>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. </li></ul>
  4. 4. 21.3 CUÁLES SON LAS FASES TÍPICAS DEL PROCESAMIENTO DE CONSULTAS <ul><li>Las fases típicas del procesamiento de consultas son: </li></ul><ul><ul><ul><li>Descomposición (compuesta de análisis sintáctico y validación) </li></ul></ul></ul><ul><ul><ul><li>Optimización </li></ul></ul></ul><ul><ul><ul><li>Generación de código y </li></ul></ul></ul><ul><ul><ul><li>Ejecución </li></ul></ul></ul>
  5. 5. 21.4 ¿CUÁLES SON LAS ETAPAS TÍPICAS DE LA DESCOMPOSICIÓN DE CONSULTAS? <ul><li>La descomposición de consultas tiene las siguientes etapas típicas: </li></ul><ul><ul><li>Análisis </li></ul></ul><ul><ul><li>Normalización </li></ul></ul><ul><ul><li>Análisis semántico , </li></ul></ul><ul><ul><li>Simplificación y </li></ul></ul><ul><ul><li>Restructuración de la consulta </li></ul></ul>
  6. 6. 21.5 ¿ CUÁL ES LA DIFERENCIA ENTRE LAS FORMAS NORMALES CONJUNTIVAS Y DISYUNTIVA? <ul><li>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). </li></ul>
  7. 7. 21.6 ¿ CÓMO COMPROBARÍA LA CORRECCIÓN SEMÁNTICA DE UNA CONSULTA? <ul><li>Existen dos formas en las que estas se pueden realizar, estas formas son: </li></ul><ul><ul><li>Si sus componentes no contribuyen a la generación del resultado entonces la consulta es incorrecta y debe corregirse. </li></ul></ul><ul><ul><li>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. </li></ul></ul>
  8. 8. 21.7 INDIQUE LAS REGLAS DE TRANSFORMACIÓN QUE PUEDEN APLICARSE A : <ul><li>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. </li></ul><ul><li>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. </li></ul><ul><li>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 </li></ul>
  9. 9. 21.8 INDIQUE LAS REGLAS HEURÍSTICAS QUE DEBERÍAN APLICARSE PARA MEJORAR EL PROCESAMIENTO DE UNA CONSULTA <ul><li>Realizar las operaciones de selección y proyección lo antes posible. </li></ul><ul><li>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 </li></ul><ul><li>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 </li></ul><ul><li>Calcular una única vez las expresiones posibles </li></ul>
  10. 10. 21.9 ¿QUÉ TIPOS DE ESTADÍSTICAS DEBE ALMACENAR UN SGBD PARA PODER CALCULAR ESTIMACIONES DEL COSTE DE LAS OPERACIONES DE ÁLGEBRA RELACIONAL? <ul><li>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. </li></ul><ul><li>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. </li></ul><ul><li>Para cada índice de multinivel I sobre el conjunto de atributos A: El número de niveles de I, el número de bloques </li></ul>
  11. 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? <ul><li>Se tendrá que utilizar el sistema de búsqueda lineal en las siguientes circunstancias: </li></ul><ul><li>El archivo no está ordenado </li></ul><ul><li>el predicado sea la clave de búsqueda </li></ul><ul><li>Los bloques están numerados secuencialmente a partir de </li></ul>
  12. 12. 21.11 ¿CUÁLES SON LAS ESTRATEGIAS PRINCIPALES PARA IMPLEMENTAR LA OPERACIÓN DE COMBINACIÓN? <ul><li>Las estrategias principales para implementar la operación de combinación son: </li></ul><ul><li>Combinación mediante bucle anidados por bloques </li></ul><ul><li>Combinación de buche anidado indexado </li></ul><ul><li>Combinación mediante ordenación-mezcla </li></ul><ul><li>Combinación hash </li></ul>
  13. 13. 21.12 ¿CUÁLES SON LAS DIFERENCIAS ENTRE MATERIALIZACIÓN Y PIPELINING? <ul><li>En el pipelining procesa en cadena los resultados de las operaciones sin crear una relación temporal ni volver a leer los resultados. </li></ul><ul><li>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. </li></ul>
  14. 14. 21.13 EXPLIQUE LA DIFERENCIA ENTRE ÁRBOLES DE ÁLGEBRA RELACIONAL LINEALES Y NO LINEALES. PROPORCIONE EJEMPLOS PARA ILUSTRA SU RESPUESTA <ul><li>En los árboles lineales la relación en uno de los lados en cada operador es siempre una relación base. </li></ul><ul><li>Mientras que en una relación no lineal ambos nodos hijos poseen una relación base. </li></ul><ul><li>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 </li></ul>
  15. 15. 21.14 ¿CUÁLES SON LAS VENTAJAS Y DESVENTAJAS DE LOS ÁRBOLES DE PROFUNDIDAD IZQUIERDA? <ul><li>Las ventajas son: </li></ul><ul><li>Reducir el espacio de búsqueda </li></ul><ul><li>Permitir que el optimizador de consultas se base en técnicas de procesamiento dinámico. </li></ul><ul><li>Las desventajas son: </li></ul><ul><li>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. </li></ul>

×