Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Optimización
p de
Consultas
ΠNOM_TDA
σA.CIUDAD=“MADRID
”
× T
A D
Ejemplos de
Optimización
• La operación de selección
σA.CIUDAD=”MADRID”
A CIUDAD ”MADRID” sólo afecta a la
tabla A, por tanto, se desplaza
hasta A por aplicación de la
propiedad 66.
• La operación de selección
σT.T#=D.T# and A.A#=D.A# se puede
di idi en d
dividir dos: σT.T#=D.T# y
σA.A#=D.A# pudiéndose conmutar la
segunda selección con el producto
cartesiano
t i inmediatamente
i di t t
inferior.
• El árbol quedaría como sigue:
Ejemplos de
Optimización
Resultado
ΠNOM_TD
A
σT.T# = D.T#
σA.A# = D.A#
T
σA.CIUDAD=“MADRID”
D
A
Ejemplos de
Optimización
Árbol optimizado.
Resultado
- Conmutación de
selección y proyección
ΠNOM_TD
A - Conmutación de
proyección y producto
σT.T# = D.T# cartesiano.
ΠD.T# ΠT.T#,NOM_TDA
σA.A# = D.A#
× T
ΠA.A#
ΠD.A#,D.T#
σA.CIUDAD
A.CIUDAD=“MADRID”
MADRID
A D
Ejemplos de
Optimización
• Ejemplo 2.
Sea la Base de Datos:
¾ T (T#, CLASE, PRECIO)
T: Tabaco
¾ P ((P#, NOMBRE, PAIS))
P: Productor
¾ F (F#, T#, FNOMBRE, CANT)
F: Fumador
¾ S (T#, P#)
S: Suministro
Consulta:
¾ “Obtener los nombres de los
fumadores de tabaco rubio fabricado
en USA”
πFNOMBRE (σ PAIS=”USA” and CLASE=“RUBIO”
(F * S * T * P)))
Ejemplos de
Optimización
• Solución sin operadores derivados:
πFNOMBRE (σ PAIS=”USA” and CLASE=“RUBIO”
(σF.T#=S.T# and T.T#=S.T# and P.P#.S.P#
(F × S × T × P)))
ΠFNOMBRE
× F
×
S
P T
Ejemplos de
Optimización
• La operación de selección σ PAIS=”USA”
CLASE= RUBIO sólo afecta a las tablas
and CLASE=“RUBIO”
P y T, por tanto, se descompone en dos
selecciones, σ PAIS=”USA” y
σ CLASE=“RUBIO” y cada una se desplaza
hasta P y T respectivamente, por
aplicación de la propiedad 6.
• La operación de selección:
σF.T#=S.T# and T.T#=S.T# and P.P#.S.P# se
puede dividir en tres: σF.T#=S.T# ,
σT.T#=D.T# y σP.P#=S.P# pudiéndose
conmutar la primera y segunda
selecciones con los productos
cartesianos inferiores.
• El árbol quedaría como sigue:
Ejemplos de
Optimización
Resultado
ΠFNOMBRE
σP.P#=S.P#
σT.T# = S.T#
σPAIS=
PAIS=“USA”
USA
×
P
σF.T# = T.T#
S
×
σCLASE
CLASE=“RUBIO”
RUBIO
F
T
Ejemplos de
Optimización
Árbol optimizado
ΠNOM_TDA
σT.T#=R'.T#
x
T -
ΠT# ΠT#
x x
D T x T
R’ A D
Ejercicio Optimiz. Consultas
1Separar selecciones compuestas en
selecciones simples:
¾ σ CANT>100 and P#=”P1” and T.CIUDAD<>A.CIUDAD se
descompone en σ CANT>100 AND P#=“P1”
P# “P1” y en σ
T.CIUDAD<>A.CIUDAD.
¾ σ A.A#=D.A# and T.T#=D.T# se descompone en σ
A.A#=D.A# y en σ T.T#=D.T#
ΠNOM_TDA
σT.T#=R'.T#
x
T -
ΠT# ΠT#
σ T.T#=D.T#
x
x
σ CANT>100 and T
P#='P1' σA.A#=D.A# T
D x
ΠNOM_TDA
σT.T#=R'.T#
x
Π NOM_TDA,T.T# Π R'.T#
T -
ΠT# ΠT#
σ T.T#=D.T#
x
x
σ CANT>100 and T
P#='P1' σA.A#=D.A# T
D x
¾ π T.T# sobre T
Ejercicio Optimiz. Consultas
4Por la propiedad 5 podemos sustituir:
¾ Los nodos π T# , σ T.CIUDAD<>A.CIUDAD y
σ T.T#=D.T#
¾ Por los nodos π T#
σ T.CIUDAD<>A.CIUDAD
σ T.T#=D.T#
π T.T#,T.CIUDAD,D.T#,A.CIUDAD
5También la propiedad 11 nos permite
conmutar π T.T#,T.CIUDAD,D.T#,A.CIUDAD
con el producto cartesiano
inmediatamente inferior:
¾ π D.T#,A.CIUDAD
D T# A CIUDAD sobre el resultado de la
selección σ A.A#=D.A#
¾ π T.T#,T.CIUDAD sobre T
ΠNOM_TDA
σT.T#=R'.T#
x
Π NOM_TDA,T.T# -
T
ΠT# ΠT#
σ T.T# = D.T# σ T.CIUDAD <> A.CIUDAD
x σ T.T# = D.T#
x
ΠD.T#
D T# Π T.T#
T T#
¾ π A.A#,A.CIUDAD sobre A
ΠNOM_TDA
σT.T#=R'.T#
x
Π NOM_TDA,T.T# -
T ΠT# ΠT#
σ T.T# = D.T# σ T.CIUDAD <> A.CIUDAD
x σ T.T# = D.T#
ΠD.T# Π T.T# x
σ CANT>100 and T
Π D.T#, A.CIUDAD Π T.T#, T.CIUDAD
P# = 'P1'
P1
σA.A# = D.A# T
D
x