Consiste de cuatro partes:
1. Normalización
Involucra la manipulación de los cuantificadores de la consulta y de los calificadores de la misma mediante la aplicación de la prioridad de los operadores lógicos.
La consulta de entrada puede ser arbitrariamente
compleja dependiendo de las facilidades provistas por el lenguaje. El objetivo
de la normalización es transformar una consulta a una forma normalizada para
facilitar su procesamiento posterior. La normalización consiste de dos partes:
El análisis léxico y sintáctico: En esta parte
se verifica la validez de la expresión que da origen a la consulta. Se verifica
que las relaciones y atributos invocados en la consulta estén acordes con la
definición en la base de datos.
2. Análisis
Se detecta y rechazan consultas semánticamente incorrectas.
El análisis de consultas permite rechazar
consultas normalizadas para los cuales no se requiere mayor procesamiento. Una consulta se puede rechazar si alguno de sus
atributos o nombres de relación no están definidas en el esquema global.
También se puede rechazar si las operaciones que se aplican a los atributos no
son del tipo adecuado.
En una gráfica de consulta, un nodo indica la
relación resultante, y cualquier otro nodo representa la relación operante. Un arco entre dos nodos que no son resultados
representa una junta, mientras que un arco cuyo nodo destino es una relación
resultante representa una proyección.
Una subgráfica importante de la gráfica de
conectividad es la gráfica de juntas, en la cual únicamente se consideran las
juntas.
La gráfica de juntas es particularmente
importante durante la fase de optimización.
3. Simplificación
Elimina predicados redundantes.
La consulta en forma normal conjuntiva puede
contener predicados redundantes.
Una evaluación directa de la consulta con
redundancia puede llevarnos a realizar trabajo duplicado.
4. Reestructuración
Mediante reglas de transformación una consulta en el cálculo relacional se transforma a una en el álgebra relacional. Se sabe que puede existir más de una transformación. Por tanto, el enfoque seguido usualmente es empezar con una consulta algebraica y aplicar transformaciones para mejorarla.
El último paso en la descomposición de
consultas, reescribe la consulta en el álgebra relacional.
Esto se hace típicamente en los siguientes pasos:
a. Una transformación directa del cálculo
relacional en el álgebra relacional
b. Una reestructuración de la consulta en el
álgebra relacional para mejorar la eficiencia
Por claridad es costumbre representar la
consulta en el álgebra relacional por un árbol del álgebra relacional, el cual
es un árbol en donde una hoja representa a una relación almacenada en la base
de datos y un nodo no hoja es una relación intermedia producida por una
operación del álgebra relacional.
BIBLIOGRAFIA: DISEÑO DE BASE DE DATOS DISTRIBUIDA, AQUINO BOLIVIA - 2005.
No hay comentarios.:
Publicar un comentario