Otimização de Consultas em SQL Planos Alternativos AULA 24 Profa. Sandra de Amo GBC053 – BCC 2012-2.

Slides:



Advertisements
Apresentações semelhantes
Distâncias.
Advertisements

AULA 5 PGC Sistemas de Banco de Dados Profa. Sandra de Amo
Otimização de Consultas em SQL Estimativas de Custos
Álgebra Relacional Marcelo Mendes Manaus
Operações com conjuntos: Intersecção
SELECT Usado para extrair informações de uma relação
Prof.: Bruno Rafael de Oliveira Rodrigues
Linguagens relacionais
Manipulação algébrica
AULA 26 Profa. Sandra de Amo GBC053 – BCC
Otimização de Consultas em SQL Parte II - Planos Alternativos -  Estimativa de Custos dos Planos de Execução AULA 19 Profa. Sandra de Amo Programa de.
REVISÃO PARA 3a PROVA Gerência de Banco de Dados
Modelos de Preferências em Inteligência Artificial CP-Nets
SQL 3 Recursão em SQL AULA 7 PGC Sistemas de Banco de Dados
Otimização de Consultas em SQL Parte I - Planos de Execução e Equivalências de Expressões da Álgebra Relacional AULA 19 Profa. Sandra de Amo Programa.
Algoritmos para Projeção eliminando Duplicatas
Cálculo Relacional Datalog não-recursivo
Gerenciamento de Banco de Dados
SQL Exercícios de Revisão
Algoritmos de Junção – BNL e IndexNL AULA 16 Profa. Sandra de Amo GBC053 – BCC
AULA 27 Profa. Sandra de Amo GBC053 – BCC
Modelos de Preferências AULA 15 DATA MINING Sandra de Amo.
Algoritmos para Seleção Simples AULA 16 Profa. Sandra de Amo GBC053 – BCC
Algoritmos de Junção – Sort-Merge Join Hash Join
SQL – Consultas Aninhadas
Algoritmos para Seleção com Condições Gerais AULA 17 Profa. Sandra de Amo GBC053 – BCC
Algoritmos para Seleção e Projeção
SQL – Comandos de Agregação
Algoritmos para Seleção Simples
Algoritmos para Operações de Conjuntos AULA 19 Profa. Sandra de Amo GBC053 – BCC
AULA 23 Profa. Sandra de Amo GBC053 – BCC
SQL – Consultas Aninhadas e Agregação Profa. Sandra de Amo Capitulo 5 – Livro Texto Database Management Systems Ramakrishnan - Gehrke.
Algebra relacional nomeada e não-nomeada
Algoritmos para Projeção e Operações de Conjuntos AULA 22 Profa. Sandra de Amo GBC053 – BCC
Otimização de Consultas em SQL Planos de Execução e Equivalências de Expressões da Álgebra Relacional AULA 24 Profa. Sandra de Amo GBC053 – BCC
Subconsultas ou Consultas Aninhadas
Márcia Jacyntha Nunes Rodrigues - DIMAP/UFRN
SQL – DML Consultas envolvendo relacionamentos entre tabelas
ÁLGEBRA RELACIONAL Cada operador da álgebra relacional toma uma ou duas relações como sua entrada e gera uma nova relação como saída. São oito os operadores.
Universidade Federal do Espírito Santo Programação II Professora: Norminda Luiza.
Prof. Alexander Roberto Valdameri
G R U P O S - II.
ESTRUTURAS ALGÉBRICAS
Algoritmos para Operação de Junção Loops Aninhados
Colégio da Imaculada Curso Técnico em Informática Álgebra Relacional
Comandos de SQL Excel VBA II.
Transformação ODMG Relacional. Implementação Relacional de BDs OO Transformação Esquema Objeto Esquema Relacional Transformação Esquema Objeto Esquema.
Geração de Planos de Execução Planos para Consultas Aninhadas
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA ENGENHARIA DE AUTOMAÇÃO INDUSTRIAL Estruturas de Repetição Estruturas de Repetição - Repita até Repita c1 c2 cn.
AULA 26 Profa. Sandra de Amo GBC053 – BCC
Otimizador de consultas
Otimização de Consultas em SQL Planos de Execução
Algoritmos para Operação de Junção Loops Aninhados AULA 17 Profa. Sandra de Amo GBC053 – BCC.
Campus de Caraguatatuba
Comandos SQL.
REVISÃO Comandos SQL - DML SELECT * FROM ?.
AULA 20 Profa. Sandra de Amo GBC053 – BCC
Algoritmos para Operações Binárias entre blocos SQL AULA 19 – Parte I Profa. Sandra de Amo GBC053 – BCC.
BD I / Processamento de Consultas Prof. Altigran Soares da Silva IComp/UFAM.
Algoritmos para o operador de Projeção AULA 19 – Parte II Profa. Sandra de Amo GBC053 – BCC.
AOBD 07/08 Mini-Projecto 2 Soluções. 1) Considere que existem três relações R1=(A,B,C), R2=(C,D) e R3=(D,E) com chaves primárias A, C e D, respectivamente.
Optimização - 1 Optimização de perguntas 1 Processamento de selecções 2 Processamento de junções 3 Manipulação algébrica.
Sumário 1 SQL Embutida 2 Processamento de Consultas
Banco de Dados I Unidade 6 Processamento de Consultas Otimização Lógica.
INE 5336 Banco de Dados II Ronaldo S. Mello 2007/2 Horário Atendimento: Quintas-feiras, das 17h30 às 19h UFSC-CTC-INE.
Uma Proposta para Bancos de Dados Categoriais Rafael C. Pinto.
Recuperação de Dados Banco de Dados Carina Farias
UCSal – Bacharelado em Informática
Algoritmos para Seleção AULA 23 Profa. Sandra de Amo GBC053 – BCC.
Sistema para aprendizado de Álgebra Relacional e Linguagem SQL
Transcrição da apresentação:

Otimização de Consultas em SQL Planos Alternativos AULA 24 Profa. Sandra de Amo GBC053 – BCC

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

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 ?

Plano 1 Select R.Day From R, B Where R.Bid = B.Bid AND B.Color = Vermelho σ color = vermelho RB Π Day

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

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.

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

Equivalências de Expressões Algébricas Produto Cartesiano e Junção Associativa R (S T) = (R S) T Comutativa (R S) = (S R)

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.

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

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

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 (

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)

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.

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

Equivalências de Expressões Algébricas

Exercicio Mostre que a propriedade não é válida caso Y contenha atributos que não apareçam em X.

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

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

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