capitulo 21

15

Click here to load reader

Upload: patricia-flores

Post on 02-Jul-2015

837 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Capitulo 21

UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA

ECC

BASE DE DATOS AVANZADAPROCESAMIENTO DE CONSULTAS

Por: Patricia Flores

Page 2: Capitulo 21

21.1 21.1 CUÁLES SON LOS OBJETIVOS DEL CUÁLES SON LOS OBJETIVOS DEL PROCESAMIENTO DE CONSULTAS?PROCESAMIENTO DE CONSULTAS?

Entre los principales objetivos tenemos:Entre los principales objetivos tenemos:

Transformar una consulta escrita en un lenguaje de alto nivel, Transformar una consulta escrita en un lenguaje de alto nivel, normalmente SQL, en una estrategia de ejecución correcta y normalmente SQL, en una estrategia de ejecución correcta y eficiente, expresada en un lenguaje de bajo nivel, como por eficiente, expresada en un lenguaje de bajo nivel, como por ejemplo el algebra relacional.ejemplo el algebra relacional.

Ejecutar una estrategias para extraer los datos requeridos. Ejecutar una estrategias para extraer los datos requeridos. Mejorar el rendimiento de las consultas utilizando algoritmos Mejorar el rendimiento de las consultas utilizando algoritmos

eficientes. eficientes. Optimizar las consultas, es decir ayuda a minimizar el uso de Optimizar las consultas, es decir ayuda a minimizar el uso de

recursos.recursos.

Page 3: Capitulo 21

21.2 ¿EN QUE SENTIDO DIFIERE EL PROCESMIENTO 21.2 ¿EN QUE SENTIDO DIFIERE EL PROCESMIENTO DE CONSULTAS EN LOS SISTEMAS RELACIONALES DE CONSULTAS EN LOS SISTEMAS RELACIONALES DEL PROCESAMIENTO DE LENGUAJE DE DEL PROCESAMIENTO DE LENGUAJE DE CONSULTAS DE BAJO NIVEL PARA SISTEMAS DE CONSULTAS DE BAJO NIVEL PARA SISTEMAS DE RED Y JERARQUICOS?RED Y JERARQUICOS?

Difiere en el sentido en que la forma en que se realiza Difiere en el sentido en que la forma en que se realiza no es la misma ya que cuando hablamos de un sistema no es la misma ya que cuando hablamos de un sistema de red las operaciones se realizan en forma paralela y de red las operaciones se realizan en forma paralela y mientras tanto que en los sistemas jerárquicos las mientras tanto que en los sistemas jerárquicos las operaciones deben respetar el nivel jerárquico que les operaciones deben respetar el nivel jerárquico que les corresponde.corresponde.

Page 4: Capitulo 21

21.3 CUÁLES SON LAS FASES TÍPICAS DEL 21.3 CUÁLES SON LAS FASES TÍPICAS DEL PROCESAMIENTO DE CONSULTASPROCESAMIENTO DE CONSULTAS

Las fases típicas del procesamiento de consultas son:Las fases típicas del procesamiento de consultas son:

• Descomposición (compuesta de análisis sintáctico Descomposición (compuesta de análisis sintáctico y y validación) validación)

• OptimizaciónOptimización• Generación de código y Generación de código y • EjecuciónEjecución

Page 5: Capitulo 21

21.4 ¿CUÁLES SON LAS ETAPAS TÍPICAS DE 21.4 ¿CUÁLES SON LAS ETAPAS TÍPICAS DE LA DESCOMPOSICIÓN DE CONSULTAS?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

Page 6: Capitulo 21

21.5 ¿ CUÁL ES LA DIFERENCIA ENTRE LAS FORMAS 21.5 ¿ CUÁL ES LA DIFERENCIA ENTRE LAS FORMAS NORMALES CONJUNTIVAS Y DISYUNTIVA?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).

Page 7: Capitulo 21

21.6 ¿ CÓMO COMPROBARÍA LA CORRECCIÓN SEMÁNTICA DE 21.6 ¿ CÓMO COMPROBARÍA LA CORRECCIÓN SEMÁNTICA DE UNA CONSULTA?UNA CONSULTA?

Existen dos formas en las que estas se pueden Existen dos formas en las que estas se pueden realizar, estas formas son:realizar, estas formas son:

Si sus componentes no contribuyen a la Si sus componentes no contribuyen a la generación del resultado entonces la consulta es generación del resultado entonces la consulta es incorrecta y debe corregirse.incorrecta y debe corregirse.

Si el predicado de una consulta es Si el predicado de una consulta es contradictorio es decir no abarca a ninguna tupla contradictorio es decir no abarca a ninguna tupla debido a la contradicción que existe en el debido a la contradicción que existe en el predicado de la consulta.predicado de la consulta.

Page 8: Capitulo 21

21.7 INDIQUE LAS REGLAS DE TRANSFORMACIÓN QUE 21.7 INDIQUE LAS REGLAS DE TRANSFORMACIÓN QUE PUEDEN PUEDEN APLICARSE A 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

Page 9: Capitulo 21

21.8 INDIQUE LAS REGLAS HEURÍSTICAS QUE DEBERÍAN 21.8 INDIQUE LAS REGLAS HEURÍSTICAS QUE DEBERÍAN APLICARSE PARA MEJORAR EL PROCESAMIENTO DE UNA APLICARSE PARA MEJORAR EL PROCESAMIENTO DE UNA CONSULTACONSULTA

Realizar las operaciones de selección y proyección Realizar las operaciones de selección y proyección lo antes posible.lo antes posible.

Combinación de un producto cartesiano con una Combinación de un producto cartesiano con una operación de selección subsiguiente cuyo predicado operación de selección subsiguiente cuyo predicado represente una condición de combinación, para formar represente una condición de combinación, para formar una operación de combinaciónuna operación de combinación

La utilización de la asociatividad de las La utilización de la asociatividad de las operaciones binarias para reordenar los nodos hoja operaciones binarias para reordenar los nodos hoja de modo que los nodos hoja con las operaciones de de modo que los nodos hoja con las operaciones de selección más restrictivas se ejecuten primeroselección más restrictivas se ejecuten primero

Calcular una única vez las expresiones posiblesCalcular una única vez las expresiones posibles

Page 10: Capitulo 21

21.9 ¿QUÉ TIPOS DE ESTADÍSTICAS DEBE ALMACENAR UN 21.9 ¿QUÉ TIPOS DE ESTADÍSTICAS DEBE ALMACENAR UN SGBD PARA PODER CALCULAR ESTIMACIONES DEL COSTE DE SGBD PARA PODER CALCULAR ESTIMACIONES DEL COSTE DE LAS OPERACIONES DE ÁLGEBRA RELACIONAL?LAS OPERACIONES DE ÁLGEBRA RELACIONAL?

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

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

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

Page 11: Capitulo 21

21.10 ¿EN QUÉ CIRCUNSTANCIAS TENDRÁ QUE UTILIZAR EL 21.10 ¿EN QUÉ CIRCUNSTANCIAS TENDRÁ QUE UTILIZAR EL SISTEMA UNA BÚSQUEDA LINEAL A LA HORA DE IMPLEMENTAR SISTEMA UNA BÚSQUEDA LINEAL A LA HORA DE IMPLEMENTAR UNA OPERACIÓN DE ÁLGEBRA RELACIONAL?UNA OPERACIÓN DE ÁLGEBRA RELACIONAL?

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

El archivo no está ordenadoEl archivo no está ordenado

el predicado sea la clave de búsquedael predicado sea la clave de búsqueda

Los bloques están numerados secuencialmente a partir Los bloques están numerados secuencialmente a partir de de

Page 12: Capitulo 21

21.11 ¿CUÁLES SON LAS ESTRATEGIAS PRINCIPALES PARA 21.11 ¿CUÁLES SON LAS ESTRATEGIAS PRINCIPALES PARA IMPLEMENTAR LA OPERACIÓN DE COMBINACIÓN?IMPLEMENTAR LA OPERACIÓN DE COMBINACIÓN?

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

Combinación mediante bucle anidados por bloquesCombinación mediante bucle anidados por bloques Combinación de buche anidado indexadoCombinación de buche anidado indexado Combinación mediante ordenación-mezclaCombinación mediante ordenación-mezcla Combinación hashCombinación hash

Page 13: Capitulo 21

21.12 ¿CUÁLES SON LAS DIFERENCIAS ENTRE 21.12 ¿CUÁLES SON LAS DIFERENCIAS ENTRE MATERIALIZACIÓN Y PIPELINING?MATERIALIZACIÓN Y PIPELINING?

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

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

Page 14: Capitulo 21

21.13 EXPLIQUE LA DIFERENCIA ENTRE ÁRBOLES DE ÁLGEBRA 21.13 EXPLIQUE LA DIFERENCIA ENTRE ÁRBOLES DE ÁLGEBRA RELACIONAL LINEALES Y NO LINEALES. PROPORCIONE RELACIONAL LINEALES Y NO LINEALES. PROPORCIONE EJEMPLOS PARA ILUSTRA SU RESPUESTAEJEMPLOS PARA ILUSTRA SU RESPUESTA

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

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

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

Page 15: Capitulo 21

21.14 ¿CUÁLES SON LAS VENTAJAS Y DESVENTAJAS DE LOS 21.14 ¿CUÁLES SON LAS VENTAJAS Y DESVENTAJAS DE LOS ÁRBOLES DE PROFUNDIDAD IZQUIERDA?ÁRBOLES DE PROFUNDIDAD IZQUIERDA?

Las ventajas son: Las ventajas son: Reducir el espacio de búsqueda Reducir el espacio de búsqueda Permitir que el optimizador de consultas se base en Permitir que el optimizador de consultas se base en técnicas de procesamiento dinámico.técnicas de procesamiento dinámico.

Las desventajas son: Las desventajas son: Que al reducir el espacio de búsquedas no se toma en Que al reducir el espacio de búsquedas no se toma en cuenta muchas estrategias de ejecución alternativas cuenta muchas estrategias de ejecución alternativas algunas de las cuales pueden tener un coste menor al algunas de las cuales pueden tener un coste menor al que se haya podido determinar utilizando el árbol que se haya podido determinar utilizando el árbol lineal.lineal.