Please enable JavaScript.
Coggle requires JavaScript to display documents.
PROCESAMIENTO DE CONSULTAS (VISIÓN GENERAL (Pasos involucrados en el…
PROCESAMIENTO DE CONSULTAS
VISIÓN GENERAL
Pasos involucrados en el procesamiento de una consulta:
Optimización
Evaluación
Análisis y traducción
Antes de empezar el procesamiento de una consulta, el sistema debe traducir la consulta a una forma utilizable
Dada una consulta, hay generalmente varios métodos distintos para obtener la respuesta. Por ejemplo, ya se ha visto que en SQL se puede expresar una consulta de diferentes maneras.
Cada consulta en SQL se puede traducir en una expresión del álgebra relacional de varias formas
MEDIDAS DEL COSTE DE UNA CONSULTA
El coste de la evaluación de una consulta se puede expresar en términos de diferentes recursos, incluyendo los accesos a disco, el tiempo de UCP en ejecutar una consulta y, en sistemas de bases de datos distribuidos o paralelos, el coste de la comunicación
Para medir el coste de una consulta debemos tener en cuenta diferentes factores:
El número de operaciones de búsqueda realizadas.
El número de bloques leídos.
El número de bloques escritos.
Las estimaciones de coste que se proporcionan ignoran el coste de escribir el resultado final de una operación en disco.
OPERACIÓN SELECCIÓN
Algoritmos básicos
• A1 (búsqueda lineal) En una búsqueda lineal se explora cada bloque del archivo y se comprueban todos los registros para ver si satisfacen la condición de selección.
• A2 (búsqueda binaria). Si el archivo está ordenado según un atributo y la condición de la selección es una comparación de igualdad en ese atributo, se puede utilizar una búsqueda binaria para localizar los registros que satisfacen la selección
Selecciones con índices
• A3 (índice primario, igualdad basada en la clave). Para una condición de igualdad en un atributo clave con un índice primario se puede utilizar el índice para recuperar el único registro que satisface
la correspondiente condición de igualdad.
• A4 (índice primario, igualdad basada en un atributo no clave). Se pueden recuperar varios registros mediante el uso de un índice primario cuando la condición de selección especifica una comparación de igualdad en un atributo A que no sea clave.
• A5 (índice secundario, igualdad). Las selecciones con una condición de igualdad pueden utilizar un índice secundario.
Selecciones con condiciones
de comparación
• A6 (índice primario, comparación). Se puede utilizar un índice ordenado primario (por ejemplo, un índice primario de árbol B+ ) cuando la condición de selección es una comparación.
• A7 (índice secundario, comparación). Se puede utilizar un índice secundario ordenado para guiar la recuperación bajo condiciones de comparación que contengan <, ≤ , > o ≥
• A8 (selección conjuntiva utilizando un índice). Primero hay que determinar si para un atributo hay disponible algún camino de acceso en alguna de las condiciones simples.
• A9 (selección conjuntiva utilizando un índice compuesto). Se podría disponer de un índice compuesto (es decir, un índice sobre varios atributos) apropiado para algunas selecciones conjuntivas.
• A10 (selección conjuntiva mediante la intersección de identificadores). Otra alternativa para implementar la operación selección conjuntiva implica la utilización de punteros a registros o identificadores de registros
• A11 (selección disyuntiva mediante la unión de identificadores). Si se disponen de caminos de acceso en todas las condiciones de la selección disyuntiva, se explora cada índice en busca de punteros cuyas tuplas cumplan una condición individual
ORDENACIÓN
La ordenación de los datos juega un papel importante en los sistemas de bases de datos por dos razones
Primero, las consultas SQL pueden solicitar que los resultados sean ordenados
Segundo, e igualmente importante para el procesamiento de consultas, varias de las operaciones relacionales, como las reuniones, se pueden implementar eficientemente si las relaciones de entrada están ordenadas
La ordenación de relaciones que no caben en memoria se llama ordenación externa
La técnica más utilizada para la ordenación externa es normalmente el algoritmo de ordenación-mezcla externa
OPERACIONES
Eliminación de duplicados: Se puede implementar fácilmente la eliminación de duplicados utilizando la ordenación. Las tuplas idénticas aparecerán consecutivas durante la ordenación, pudiéndose eliminar todas las copias menos una.
Proyección: Se puede implementar la proyección fácilmente realizando la proyección de cada tupla, pudiendo originar una relación con registros repetidos y suprimiendo después los registros duplicados
Operaciones sobre conjuntos: Se pueden implementar las operaciones unión, intersección y diferencia de conjuntos ordenando primero ambas relaciones y examinando después cada relación para producir el resultado
EVALUACIÓN DE EXPRESIONES
Materialización: Los resultados de cada operación intermedia se crean (materializan) para utilizarse a continuación en la evaluación de las operaciones del siguiente nivel
Encauzamuento: combinación de varias operaciones relacionales en un encauzamiento de operaciones, en el que se pasan los resultados de una operación a la siguiente operación del encauzamiento. Esta evaluación, como se ha descrito, se denomina evaluación encauzada