1. BASE DE DATOS AVANZADAS
Unidad 6: Procesamiento de Consultas
ESCUELA: Ciencias de la Computación
NOMBRES: Ing. Juan Carlos Morocho
1
2. Objetivo del procesamiento de
consultas
Transformar consultas escritas en lenguaje de
alto nivel, como SQL, en estrategias de
ejecución optimizadas para aprovechar los
recursos.
Normalmente una estrategia de ejecución se
expresa en lenguaje de bajo nivel, como
álgebra relacional.
3. Descomposición de consultas
Análisis
La tabla “empleado” no existe,
el nombre correcto es
“empleados”.
SELECT + FROM empleado;
El símbolo “+” no se
reconocerá, lo correcto sería
“ӿ”.
Como resultado del análisis esta consulta se
rechazará.
4. Descomposición de consultas
Normalización
SELECT * FROM empleados
WHERE cargo=‘Vendedor’ OR jefe=“N” AND
comision>0;
Forma normal conjuntiva:
(cargo=‘Vendedor’ OR jefe=“N”) AND comision>0
Forma normal disyuntiva:
(cargo=‘Vendedor’ AND comision>0) OR (jefe=“N”
AND comision>0)
5. Descomposición de consultas
Análisis semántico
SELECT nombre, apellido
FROM empleados
WHERE cargo=‘Vendedor’ AND comision>0;
πnombre, apellido
σcargo=‘Vendedor’ ᴧ comision>0
Empleados
6. Descomposición de consultas
Simplificación
CREATE VIEW Staff3 AS
SELECT staffNo,fName,lName,salary,branchNo
FROM Staff
WHERE branchNo=‘B003’;
SELECT *
FROM Staff3
WHERE (branchNo=‘B003’ AND salary>2000);
Para efectos de la ejecución, como la vista ya tiene la
condición branchNo=‘B003’, en la consulta siguiente
sobre la vista, se hace innecesaria dicha condición.
7. Descomposición de consultas
Reestructuración de la consulta
Una vez analizados los pasos anteriores, la
consulta se reestructura para que su
ejecución sea más eficiente y se aproveche
al máximo los recursos.