Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
ndices
So estruturas de dados (arquivos) adicionais quelas
contendo os registros de dados (vide tpico anterior)
Provm caminhos de acesso alternativos aos registros sem
afetar a disposio fsica dos registros no arquivo
Um ndice acelera a recuperao de registros baseada no
campo de indexao
Campo de indexao ou campo chave: atributos indexadores
usados para construir o ndice e para encontrar o end. do registro
buscado.
Chave de busca: outro termo utilizado para fazer referncia ao
conjunto de campos usado para indexao de um arquivo. No
confundir com o conceito de chave.
A princpio, qualquer subconjunto de campos do registro de um
arquivo pode compor uma chave de busca para construo de um
ndice sobre tal arquivo.
2
ndices
O que um ndice:
Estrutura de dados interna ao SGBD que permite acesso mais
rpido s informaes do banco.
Exemplo (simplificado):
Fornecedor
CODIGO
NOME
STATUS
CIDADE
F1
SMITH
20
LONDRES
F2
JONES
10
PARIS
F3
BLAKE
30
PARIS
F4
CLARK
20
LONDRES
F5
ADAMS
30
ATENAS
Endereo (Bloco)
ADAMS
BLAKE
CLARK
JONES
SMITH
ndices
Vantagens:
Acesso mais rpido ao registro quando a
procura sobre campo indexado.
Menos I/O: arquivo de ndice menor que o
arquivo de dados.
Desvantagens:
Incluso, excluso e alterao ficam mais
lentas.
Mais espao de armazenamento.
4
Tipos de ndices
Ind. Primrio x nd. Secundrio x nd. Clustering
ndice Denso x ndice no Denso (Esparso)
ndice de um nico nvel x ndices de Mltiplos
Nveis
ndices Invertidos
Tipos de ndices
Um ndice Primrio construdo sobre o campo-chave
de classificao de um arquivo ordenado de registros
Lembrando que: campo-chave de classificao o campo usado
para ordenar fisicamente os registros do arquivo no disco, e
cada registro deve possuir um valor nico para o campo
Tipos de ndices
Um ndice Denso possui uma entrada no ndice para cada
registro no arquivo de dados.
Os registros podem estar armazenados em qualquer ordem no
arquivo.
Tipos de ndices
Ashby, 25, 3000
22
Basu, 33, 4003
25
Bristow, 30, 2007
30
Ashby
33
Cass
Smith
40
44
44
Smith, 44, 3000
ndice No Denso
sobre NOME
50
Arquivo de
Dados
(ordenado por Nome)
ndice Denso
sobre Idade
ndices Primrios
Registros com 2 campos:
Campo de mesmo domnio da chave de classificao do arquivo de
dados
Ponteiro para um bloco de disco (end. bloco)
10
11
ndices Clustering
Campo de indexao no campo chave
Pode haver valores repetidos
chamado de campo de agrupamento
14
15
Indices Secundrios
Pode haver vrios para um mesmo arquivo
Estrutura similar aos outros tipos: 2 campos
Pode ser construdo
sobre chave-candidata valor nico por registro
Uma entrada para cada entrada do ndice (ndice denso), pois
como o arquivo no est ordenado por chave-candidata, no
podem ser utilizadas ncoras de bloco
Como h um maior nmero de entradas, ento maior tempo
de busca em relao ao ndice primrio
Mas comparativamente ao arquivo no indexado, o ganho
maior, pois sem o ndice seria necessrio realizar uma busca
linear
16
17
no-chave
com
valores
19
*: dados no ordenados
Resumo (1)
Campo de indexao
chave (no admite
repetio de valor)
Campo de Indexao
Utilizado para
Classificar o Arquivo
Campo de Indexao
No Utilizado para
Classificar o Arquivo
ndice Primrio
21
Resumo (2)
Tipo de ndice
Nmero de Entradas
de ndice (Primeiro
Nvel)
Denso ou
Esparso
ncora de Bloco
no Arquivo de
Dados
Primrio
Nmero de blocos do
arquivo de dados
Esparso
Sim
Clustering
Nmero de valores
distintos do campo de
indexao
Esparso
Sim/No (*)
Denso
No
Denso ou
Esparso
No
(*) Sim, se todo valor distinto do campo de indexao iniciar um novo bloco;
No, caso contrrio
22
ndices Invertidos
Emp(nome,sexo, est._civil, ....)
Existe um ndice secundrio sobre o 20 e
30 atributos de Emp, p/ os quais o valor
do atributo existe.
Consiste de um conj. de pares palavra
(chave de pesquisa)-ponteiro, de tal
forma que o ndice aponta p/ as
ocorrncias onde aquele valor ocorre
(=Verd)
23
Exemplo
Claudia....
feminino
Beatriz...
Paulo....
divorciado
24
26
rvores
n raiz (nvel 0)
Sub-rvore de altura 2
nvel 1
nvel 2
nvel 3
n folha
rvore de altura 3
28
rvores de Busca
Usada p/ pesquisa de registro, a partir do valor de um dos campos
Uma rvore de ordem p uma rvore em que cada n contm no
mximo p-1 valores de busca e p ponteiros na ordem
< P1, K1, P2, K2, ... , Pq-1, Kq-1, Pq >
onde:
X < Ki
para i = 1
Ki-1 < X
para i = q
29
P1 K1
...
Ki-1 Pi Ki
... Kq-1 Pq
Um n de uma
rvore de pesquisa
X
X < K1
X
Kq-1 < X
12
Uma rvore de
pesquisa de ordem p = 3
30
Exemplo de rvore-B
33
rvore B: Balanceamento
Ao tentar inserir em um n completo
Se for raiz, o n se divide em dois ns de nvel 1,
onde somente o valor do meio se mantm na raiz.
Se no for raiz, o n se divide em dois, e o valor do
meio sobe para o n pai, e se o n pai estiver
completo, propaga-se a diviso at chegar a raiz
34
Inseres e Delees em
rvores B
n de uma rvore B
de ordem p = 3
35
Inseres e Delees em
rvores B
1
5
insere 8, 5
insere 1 (overflow)
36
Inseres e Delees em
rvores B
5
separa, novo nvel
37
Inseres e Delees em
rvores B
insere 7, 3
insere 12 (overflow)
12
38
Inseres e Delees em
rvores B
39
Inseres e Delees em
rvores B
8
insere 9, 6
insere 4 (overflow)
12
40
Inseres e Delees em
rvores B
5
separa e propaga
12
41
Exemplo 4
42
43
Exemplo de rvore B+
Ponteiro para a
folha com menor
chave maior que Kq-1
44
Um exemplo simples de
rvore B+
Folhas
1250
0625
0350
0350
1000
0625
0625
1425
1000
1000
1250 1300
1250
2000
1425 1600
2000
1425
1300
2000
1600
Registros de Dados
45
Inseres e Delees em
rvores B+
Inserir: 8,5,1,7,3,12,9,6,4
rvore B+ de ordem p = 3
p folha = 2
1
Insere 8, 5
Tenta inserir 1
(overflow)
46
Inseres e Delees em
rvores B+
separao:
novo nvel
1
47
Inseres e Delees em
rvores B+
insere 7
tenta inserir 3
(overflow)
5
3
48
Inseres e Delees em
rvores B+
separao
mesmo nvel
3
49
Inseres e Delees em
rvores B+
tenta inserir
12 (overflow)
3
5
12
50
Inseres e Delees em
rvores B+
5
separao,
propagao,
novo nvel
3
12
51
Inseres e Delees em
rvores B+
5
insere 9
tenta inserir 6
(overflow)
3
8
6
12
52
Inseres e Delees em
rvores B+
5
separao,
mesmo nvel
3
12
53
Inseres e Delees em
rvores B+
5
insere 4
12
54
Inseres e Delees em
rvores B+
Eliminando 8
5
12
55
Inseres e Delees em
rvores B+
Eliminando 3
5
12
56
Exemplo 5
Resumo
Diferentes estruturas de armazenamento existem, cada
uma adequada para determinados requisitos
comum se ter diversos ndices definidos sobre um
arquivo , cada qual com diferentes campos indexadores.
No entanto, se o arquivo for muito dinmico, a
manuteno dos ndices torna-se cara.
O projeto fsico altamente dependente do SGBD em
questo, pois normalmente variam bastante seus
mecanismos de alocao e gerenciamento de pginas e
reas de disco, alm das alterativas de estruturas
oferecidas.
Aps a etapa inicial de implantao de um BD, seu uso
fornece informaes valiosas para que se faa o tuning
do mesmo, refinando o projeto inicial.
59
Resumo
Arquivos HEAP so bons para tabelas pequenas ou
temporrias
Arquivos ordenados ou baseados em estruturas de
rvore so adequados para buscas do tipo
intervalo (>, etc.) ou segundo a ordem do atributo
de ordenao. Tambm servem para buscas
baseadas em igualdade.
Arquivos Hashed so bons para selees baseadas
em igualdade
60
Estruturas de Indexao
Leituras Recomendadas
Cap. 14 Elmasri e Navathe
Cap. 12 Silberschatz e Korth
Atividades Prticas
Exerccios do livro-texto (Elmasri e Navathe): 14.1 a
14.7, 14.14 a 14.16.
61