Engenharia

Disponível somente no TrabalhosFeitos
  • Páginas : 12 (2869 palavras )
  • Download(s) : 0
  • Publicado : 15 de novembro de 2012
Ler documento completo
Amostra do texto
Projeto Físico de Banco de Dados
Capítulo 20

UNICAMP/IC/MO410/MC536/2003-5 - Slides do livro Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke, McGrow-Hill, 2003.

1

Visão Geral






Depois do projeto ER, refinamento do esquema e a definição
de visões, nós temos os esquemas conceitual e externo para
nosso banco de dados.
O próximo passo é escolher índices, fazer decisões deagrupamento, e (se necessário) refinar os esquemas
conceitual e externo para atingir metas de desempenho.
Precisamos começar pela compreensão da carga de trabalho:
 As consultas mais importantes e quão freqüentemente elas surgem.
 As atualizações mais importantes e quão freqüentemente elas
surgem.
 O desempenho desejado para estas consultas e atualizações.

UNICAMP/IC/MO410/MC536/2003-5 - Slidesdo livro Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke, McGrow-Hill, 2003.

2

Decisões a Tomar


Que índices devemos criar?
 Quais relações devem ter índices? Qual(is) campo(s) devem
estar na chave de pesquisa? Devemos construir vários
índices?



Para cada índice, que tipo de índice deve ser
utilizado?
 Agrupado? Hash/árvore?



Devemos fazer mudanças no esquemaconceitual?
 Considerar esquemas normalizados alternativos? (Lembrese, há várias escolhas na decomposição em BCNF etc.)
 Devemos “desfazer” alguns passos da decomposição e ficar
com uma forma normal mais baixa? (Desnormalização.)
 Partição horizontal, replicação, visões...

UNICAMP/IC/MO410/MC536/2003-5 - Slides do livro Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke, McGrow-Hill, 2003.3

Considerações para Seleção de Índice
É necessária a criação do índice?
 Escolha da chave de busca.
 Utilizar múltiplos atributos na chave de busca.
 É necessário o agrupamento?
 Devo usar hash ou árvore?
 Balanceamento do custo de manutenção do
índice.


UNICAMP/IC/MO410/MC536/2003-5 - Slides do livro Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke, McGrow-Hill, 2003.

4 Seleção de Índices para Junções


Ao considerar uma condição de junção:
Índice hash na mais interna é muito bom para Laços
Aninhados com Índice (LAI).
• Deve ser agrupado se a coluna de junção não é chave da
mais interna e as tuplas internas precisam ser lidas.
 Árvore B+ agrupada na(s) coluna(s) de junção é boa para
Ordenação-Intercalação.


UNICAMP/IC/MO410/MC536/2003-5 - Slides do livroDatabase Management Systems 3ed, R. Ramakrishnan and J. Gehrke, McGrow-Hill, 2003.

5

Exemplo 1


SELECT E.ename, D.mgr
FROM Emp E, Dept D
WHERE D.dname=‘Toy’ AND

E.dno=D.dno

Índice hash em D.dname suporta a seleção ‘Toy’
 Portanto, índice em D.dno não é necessário.





Índice hash em E.dno permite obter as tuplas casadas de Emp
(mais interna) para cada tupla de Dept (mais externa)selecionada.
E se o WHERE incluísse: `` ... AND E.age=25’’ ?




Poderia ler as tuplas de Emp usando um índice em E.age e então juntar
com as tuplas de Dept satisfazendo a seleção por dname. Comparável à
estratégia que usou o índice em E.dno.
Portanto, se um índice em E.age já está criado, esta consulta provê muito
menos motivação para adicionar um índice em E.dno.

UNICAMP/IC/MO410/MC536/2003-5 - Slidesdo livro Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke, McGrow-Hill, 2003.

6

Exemplo 2


SELECT E.ename, D.mgr
FROM Emp E, Dept D
WHERE E.sal BETWEEN 10000 AND 20000
AND E.hobby=‘Stamps’ AND E.dno=D.dno

Claramente, Emp deveria ser a relação mais externa.
 Sugere que devemos construir um índice hash em D.dno.



Qual índice devemos construir em Emp?
 Árvore B+ em E.salpoderia ser usada, OU um índice em
E.hobby poderia ser usado. Somente um destes é necessário,
e qual é melhor depende da seletividade das condições.
• Como regra geral, seleções de igualdade são mais
seletivas do que seleções de faixa.



Como ambos os exemplos indicam, nossa escolha de
índices é guiada pelo(s) plano(s) que esperamos que o
otimizador considere para uma consulta. Tem-se que...
tracking img