Académique Documents
Professionnel Documents
Culture Documents
Proyeccin
X Producto Cartesiano
Join Reunin
Teora de Conjuntos
Unin
Interseccin
- Diferencia
Las consultas se pueden expresar de varias maneras
Expresiones equivalentes
En cada ejemplar de la base de datos
Las dos expresiones generan el mismo conjunto de tuplas
Sin importar el orden
Reglas de Equivalencia
Sustituir una expresin de la primera forma de otra expresin de la segunda forma y
viceversa
Sin modificar el resultado
El optimizador utiliza esas reglas para transformar expresiones en otras equivalentes lgicamente.
OPTIMIZACION
Estado
Actual
Estado
Nuevo
Ejemplo 1
1. Prrafo. Dame los datos de los empleados
2. Instruccin SQL
Select * from E
3. Consulta de Algebra Relacional
EName
(
Title = Elect. Eng
( E ) )
EName
(
Title = Elect. Eng
(
EName, Title
(E ) ))
Reglas de Equivalencias del Algebra Relacional
Una Regla de Equivalencia dice que las expresiones de dos formas son equivalentes. Se puede sustituir
una expresin de la primera forma por una expresin de la segunda forma, o viceversa.
A continuacin se relacionan varias reglas generales de equivalencia para las expresiones del Algebra
Relacional.
1. Las operaciones de seleccin conjuntivas pueden dividirse en una secuencia de selecciones
individuales. Esta transformacin se denomina Cascada de .
1 ^2
(E) =
1
(
2
(E))
2. Las operaciones de seleccin son conmutativas.
1
(
2
(E)) =
2
(
1
(E))
3. Solo son necesarias las ltimas operaciones de una secuencia de operaciones de proyeccin, las
dems pueden omitirse. Esta transformacin puede denominarse Cascada de .
L1
(
L2
((
L1
(E)))) =
L1
(E)
4. Las selecciones pueden combinarse con los productos cartesianos y con las reuniones zeta.
a)
(E
1
X E
2
) = E
1
E
2
Esta expresin es precisamente la definicin de la reunin zeta
b)
1
(E
1
2
E
2
) = E
1
1^2
E
2
5. Las operaciones de reunin zeta son conmutativas. Realmente el orden de los atributos es
diferente en el trmino de la derecha y en el de la izquierda, por lo que la equivalencia no se
cumple si se tiene en cuenta el orden de los atributos. Se puede aadir una operacin de
proyeccin a uno de los lados de equivalencia para reordenar los atributos de la manera
adecuada, pero por simplicidad se omite la proyeccin y se ignora el orden de los atributos en la
mayor parte de los ejemplos.
E
1
E
2
= E
2
E
1
Recurdese que en la reunin natural es simplemente un caso especial del operador de reunin
zeta; por tanto las reuniones naturales tambin son conmutativas.
6. a) Las operaciones de reunin natural son asociativas. Las reuniones zeta son asociativas en el
sentido siguiente:
(E
1
E
2
)
E
3
= E
1
(E
2
E
3
)
b) Las reuniones zeta son asociativas en el sentido siguiente:
(E
1
1
E
2
)
2 ^3
E
3
= E
1
1 ^3
(E
2
2
E
3
)
7. La operacin de seleccin se distribuye por la operacin de reunin zeta bajo las dos condiciones
siguientes:
a. Se distribuye cuando todos los atributos de la condicin de seleccin
0
implican
nicamente
los atributos de una de las expresiones que se estn reuniendo.
0
(E
1
E
2
) = (
0
(E
1
))
E
2
b. Se distribuye cuando la condicin de la seleccin
1
implica nicamente los atributos de
E
1
y
2
implica nicamente los atributos de E
2
.
1^2
(E
1
E
2
) = (
1
(E
1
) )
(
2
(E
2
))
8. La operacin proyeccin se distribuye por la operacin de reunin zeta bajo las condiciones
siguientes:
a. Sea L
1
y L
2
atributos de E
1
y E
2
, respectivamente. Supngase que la condicin de reunin
implica nicamente los atributos de L
1
L
2
. Entonces:
L1 L2
(E
1
E
2
) = (
L1
(E1))
(
L2
(E
2
))
b. Considere una reunin E
1
E
2
. Sean L
1
y L
2
conjuntos, de atributos de E
1
y E
2
,
respectivamente. Sea L
3
los atributos de E1 que estan implicados en la condicin de
reunin , pero que no estn en L
1
L
2
, y sean L
4
los atributos de E
2
que estn
implicados en la condicin de reunin pero no estn en L
1
L
2
. entonces:
L1 L2
(E
1
E
2
) =
L1 L2
((
L1 L3
(E
1
))
L2 L4
(E
2
)))
9. Las operaciones de conjuntos unin e interseccin son conmutativas. La diferencia en conjuntos
no es conmutativa.
E
1
E
2
= E
2
E
1
E
1
E
2
= E
2
E
1
10. La unin e interseccin de conjuntos son asociativas.
(E
1
E
2
) E
3
= E
1
(E
2
E
3
)
(E
1
E
2
) E
3
= E
1
(E
2
E
3
)
11. La operacin de seleccin se distribuye por las operaciones de unin, interseccin y diferencia de
conjuntos.
p
(E
1
E
2
) =
p
(E
1
) -
p
(E
2
)
De manera parecida, la equivalencia anterior, con sustituido por o por , tambin es
vlida. Adems,
p
(E
1
E
2
) =
p
(E
1
) - E
2
La equivalencia anterior, con sustituido por, tambin es vlida, pero no se cumple si se
sustituye por.
12. La operacin de proyeccin se distribuye por la operacin unin.
L
(E
1
E
2
) = (
L
(E
1
)) (
L
)E
2
))
3.3. Mtodo de ejecucin del JOIN
Join Reunin
Todas las tuplas que estn en ambas tablas
Smbolo
Tipo de Reuniones
Reunin Natural ()
Reunin de tablas con todos los atributos del mismo nombre de ambas tablas.
Reunin (
S =
(R X S)
R S = S R
Ejemplos
a) Muestra todos los alumnos y sus materias asociadas
AL CAL
CVAl NomAl
1 Jos
2 Mara
CVAL CVMAT CALIF
1 3 70
CVMAT NomMAT
3 SD1
4 BDD
AL CAL
MAT
b) Muestra los alumnos sin materias asociadas
CALIF =NULL
(AL CAL)
3.4. Principios de Optimizacin
Se basa en la eleccin de los planes de evaluacin.
Un plan de evaluacin es la estrategia a seguir para la implementacin de una consulta.
Tipos de Optimizacin
o Basada en Costo
Minimizacin de costos operativos
o Optimizacin Heurstica
Basada en la experiencia
Tomando en cuenta las equivalencias
PRINCIPIO 1
o Descomponer las selecciones conjuntivas en una secuencia de operaciones sencillas. ( Regla
1)
PRINCIPIO 2
o Desplazar las operaciones de seleccin hacia la parte de abajo del rbol de consultas.
o Ejecutar lo antes posible. (Regla 2, 7a, 7b, 11)
PRINCIPIO 3
o Seleccionar y ejecutar en primera instancia las operaciones de seleccin y reunin que
producirn tuplas de menor tamao.
o Reordenar el rbol para que las selecciones restrictivas se ejecuten antes
PRINCIPIO 4
o Sustituir la seleccin y producto cartesiano por reunin (Regla 4a)
PRINCIPIO 5
o Dividir la lista de atributos de proyeccin y desplazarlas hacia la parte inferior del rbol,
todo lo que sea posible, creando proyecciones nuevas donde sea necesario.
PRINCIPIO 6
o Identificar subrboles cuyas operaciones puedan encausarse y ejecutarlos utilizando
encauzamiento.
CVAL NomAL CVAL1 CVMAT CALIF
1 Jos 1 3 70
2 Mara NULL NULL NULL
CVAL NomAL CVAL1 CVMAT CALIF
2 Mara NULL NULL NULL
rbol de Consultas
Representacin Grfica
Jerarquica
Operaciones de Algebra Relacional
Esquema de Ejecucin de una consulta
Ejemplo 1:
Muestre los datos de los Alumnos del 1er semestre
Select * from Al CvSem = 1;
CvSem = 1
(Al)
Ejemplo 2:
Muestre la calificacin del alumno Jos Mtz. en la materia de SD1.
Calif
(
nomAl=Jos Mtz and CvMat=SD1 and CAL.CVAL=AL.CVAL
(CAL X AL))
rbol de la operacin anterior
Calif
Calif
nomAl=Jos Mtz
CvMat=SD1
CAL.CVAL=AL.CVAL
X
CAL AL
Principio 2
Calif
CAL.CVAL=AL.CVAL
X
CvMat=SD1
nomAl=Jos Mtz
CAL AL
CvSem = 1
(Al)
Al
Ejemplo 3:
Obtener las claves de los alumnos aprobados en la materia de SD2.
CVAl
(
Calif >= 70 and CVMat = SD2
(CAL))
Principio 1
CVAl
CVMat = SD2
Calif >= 70
CAL
Principio 3
CVAl
Calif >= 70
CVMat = SD2
CAL
rbol de la
operacin anterior
CVAl
AL.CVAl =CAL.CVAl
MAT.CVMat = CAL.CVMAt
AL.CVAl =75
X
AL X
CAL MAT
Principio 2
AL.CVAl =CAL.CVAl
X
AL.CVAl =75
MAT.CVMat = CAL.CVMAt
AL X
CAL MAT
Principio 4
CVAl
AL.CVAl =75
CVMAt
AL CAL MAT
Principio 3
CVMAt
CVAl
MAT
AL.CVAl =75
CAL
AL
Instruccin Resultante
NomnAl
NomMat
Calif
CVMAt
CVAl
MAT
AL.CVAl =75
CAL
AL
Principio 5
CVMAt
CVAl
NomMat, CVMat
AL.CVAl =75
Calif, CVAl
MAT
NomAl, CVAl
CAL
AL
Instruccin Resultante