Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouClara Solomon Alterado mais de 10 anos atrás
1
Otimização de Consultas em SQL Planos Alternativos AULA 24 Profa. Sandra de Amo GBC053 – BCC 2012-2
2
Planos Alternativos Transformar a expressão algébrica canônica (Π σ x ) em outra expressão equivalente. Utilizar algoritmos alternativos para implementar as operações algébricas
3
Exemplo R(sid,bid,day,rname) : RESERVA S(sid,sname,rating,age) : SAILORS B(bid,bname, color) : BOAT Quais os dias em que foram reservados barcos vermelhos ?
4
Plano 1 Select R.Day From R, B Where R.Bid = B.Bid AND B.Color = Vermelho σ color = vermelho RB Π Day
5
Plano 2 (otimizado) Select R.Day From R Where R.Bid IN ( Select B.Bid From B Where B.Color =Vermelho ) σ color = vermelho R Π Day B Π Bid
6
Equivalências de Expressões Algébricas Seleção σ c1 ^ c2 ^... ^ cn (R) = σ c1 (σ c2 (... (σ cn (R))...) Vantagens: Permite realizar uma única seleção, verificando todas as condições simultaneamente, em vez de se executar n seleções separadamente em sequência. σ c1 (σ c2 (R) ) = σ c2 (σ c1 (R) ) As condições podem ser executadas em qualquer ordem. Vantagem: executar a condição mais seletiva primeiro.
7
Equivalências de Expressões Algébricas Projeção Π X1 (R) = Π X1 (Π X2 (... (Π Xn (R))...) Onde cada X i é um conjunto de atributos X i está contido em X i+1 Exemplo: Π A (R) = Π A (Π AB (Π ABC (R))) Vantagem: Reduz o número de execuções do algoritmo de projeção
8
Equivalências de Expressões Algébricas Produto Cartesiano e Junção Associativa R (S T) = (R S) T Comutativa (R S) = (S R)
9
Exercicio Mostre que R (S T) = (T R) S Conclusão: A junção entre diversas relações pode ser feita em qualquer ordem. Propriedade importante na geração de planos alternativos.
10
Equivalências de Expressões Algébricas Seleção e Projeção Π X σ c (R) = σ c Π X (R) Onde todos os atributos aparecendo na condição c estão contidos em X Exercício: Mostrar que isto não é verdade caso existam atributos de c que não aparecem em X
11
Equivalências de Expressões Algébricas Seleção e Junção R S = σ c (R S) σ c (R S) = (σ c R S) se todos os atributos de c são atributos de R e não de S σ c (R S) = (σ c R S) se todos os atributos de c são atributos de R e não de S Vantagens: junção pode ser feita entre relações menores. c
12
Exercício Dê um exemplo para mostrar que as propriedades não são válidas caso c contenha atributos de ambas as relações R e S. R S R S A= R S σ B=b1 () R) σ B=b1 ( S A= R) σ B=b1 (
13
Exercícios Seja c = c1 ^c2 ^c3 c1 envolve atributos de R e S c2 envolve atributos somente de R c3 envolve atributos somente de S Mostre que: σ c (R S) = σ c1 (σ c2 R σ c3 S)
14
Equivalências de Expressões Algébricas Projeção e Produto Cartesiano Π X (R S) = (Π Y R Π Z S) Y = atributos de X que aparecem em R Z = atributos de X que aparecem em S Exemplo: Π AB (R S) = (Π A R Π B S) onde R(AC) e S(BC) Vantagem: Produto cartesiano pode ser feito entre relações menores.
15
Equivalências de Expressões Algébricas Projeção e Junção Π X (R S) = (Π Y R Π Z S) Y = atributos de X que aparecem em R Z = atributos de X que aparecem em S Os atributos envolvidos na condição de junção c devem aparecer em X Exemplo : R(ACD), S(BEC), X = {A, B, C}, condição de junção : R.C = S.C Π ABC (R S) = (Π A R Π B S) c c cc
16
Equivalências de Expressões Algébricas
17
Exercicio Mostre que a propriedade não é válida caso Y contenha atributos que não apareçam em X.
18
Exercicio Mostre que a propriedade não é válida caso a condição de junção c contenha atributos que não estão em X
19
Equivalências de Expressões Algébricas Distribuição Generalizada (Projeção e Junção) Π X (R S) = Π X (Π Y R Π Z S) Y = atributos de R que aparecem em X ou c Z = atributos de S que aparecem em Y ou c Exemplo : R(ACD), S(BEC), X = {A, B}, condição de junção : C = 3 Π AB (R S) = Π AB (Π AC R Π BC S) cc c c
20
Equivalências de Expressões Algébricas União, Intersecção: Associativa Comutativa Seleção e Projeção podem comutar com União, Intersecção e Diferença
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.