Vous êtes sur la page 1sur 20

Indexao e Hashing

Contextualizao
1.

Considerando que o arquivo j esteja em alguma organizao primria


(desordenada/heap, ordenada, hash)

2.

ndice = arquivo auxiliar busca de um registro mais eficiente



2.1. Arquivo de ndice geralmente ocupa MENOS espao que blocos no
disco. Por qu?

O tamanho da entrada no ndice

MUITO MENOR que tamanho do


registro

!
2.4. Exemplo: um arquivo com entradas

<valor do campo, ponteiro ao registro>: ordenado pelo valor

3.

ndice geralmente especificado em um campo do arquivo (embora


possvel especificar em vrios campos)

O que um NDICE?
1.

2.

3.

ndices so estruturas de dados auxiliares cujo nico propsito


tornar mais rpido o acesso a registros baseado em certos
campos, chamados campos de indexao ou chaves de busca
Um ndice permite localizar um registro sem ter que examinar
mais que uma pequena frao dos registros possveis
Tipos de ndices
3.1.

Ordenados
3.1.1.

3.2.

Baseiam-se na ordenao de valores

Hash
3.2.1.

4.

baseiam-se na distribuio uniforme dos valores determinados por uma


funo (funo de hash)

Qual o melhor?
4.1.

Cada uma mais adequada a determinada aplicao

Fatores de Avaliao
1.

Tipos de Acesso
1.1.

2.

Tempo de Acesso
2.1.

3.

Localizao de Registros

Tempo gasto para localizar determinado item


de dados ou um conjunto de itens.

Tempo de Insero
3.1.1.Tempo

dado

gasto para inserir um novo item de

Fatores de Avaliao
1.

Tempo de Excluso
1.1.

2.

Alem da excluso em si, deve-se considerar o


tempo de localizao do registro a ser excludo
assim como a atualizao da estrutura de ndice

Espao Adicional
2.1.

Espao ocupado por uma estrutura de ndices.


O espao adicional deve ser moderado para se
conseguir desempenho.

Avaliao das Tcnicas


Tipos de Acesso

Acessos Eficientes

Tempo de Acesso

Depende da Tcnica

Tempo de Insero

Localizar e Atualizar

Tempo de Excluso

Localizar e Atualizar

Espao Adicional

Espao x Desempenho

ndices Ordenados
1.

Chave de Busca O que ?


1.1.

Difere de chave primria, chave candidata,...

1.2.

Um ndice ordenado armazena os valores das


chaves de buscas em ordem classificada e
associada aos registros que as utiliza.

1.3.

Atributo ou conjunto deles utilizados


pesquisar registros em um arquivo

1.4.

Acesso aleatrio rpido aos registros

1.5.

ndice armazena a chave de busca

1.6.

Chave de busca associada aos registros

para

ndices Ordenados
1.

Um arquivo pode conter vrios ndices em diferentes


chaves de busca
1.1.

ndice Primrio
1.1.1.Chave

de busca especifica a ordem sequencial do


arquivo

1.1.2.Geralmente
1.2.

a chave primria, mas nem sempre

ndice de Agrupamento ou clustering


Semelhante ao ndice primrio quando a chave
de busca no for chave primria

1.2.1.

1.3.

ndice Secundrio
1.3.1.A

chave de busca especifica uma ordem diferente


da sequencial

ndices Primrios
1.

Este ndice consiste em um arquivo ordenado cujos


registros so de tamanho fixo, contendo dois campos:
1.1.
1.2.

1- mesmo tipo do campo chave no arquivo de dados


2- ponteiro para o bloco do disco, ou seja, a localizao
fsica do registro do dado

!
!
3.

Ponteiro

Arquivos com ndices primrios so chamados


3.1.

4.

Campo chave

Arquivos indexados sequencialmente

Como o ndice primrio mantm ordenado os registros


no arquivo, os processos de insero e remoo so
um grande problema para este tipo de estrutura.

ndices Primrios
Arquivo sequencial para
registros de conta

Arquivo de ndices para


registros de conta

ndices de Agrupamento

ndice aparece para cada valor da chave de


busca no arquivo. O restante dos registros do
mesmo valor da chave de busca so
armazenados
sequencialmente
aps
o
primeiro registro

ndice de Agrupamento

ndices Ordenados
1.

Denso
1.1.

1.2.
2.

Sequncia de blocos contendo apenas as chaves dos


registros e os ponteiros para os prprios registros
ndice denso = (chave, ponteiro para registros)

Esparso
2.1.

2.2.

Usa menos espao de armazenamento que o ndice


denso ao custo de um tempo maior para localizar o
registro
ndice esparso = (chave, ponteiro para blocos de dados)

Aponta para o primeiro registro de cada bloco

ndices Densos - Chave

ndices Esparsos

Contm ndice de registro somente para


alguns valores da
chave de busca e o
restante da busca feita sequencialmente.

ndices Densos x Esparsos


1.

Densos
1.1.

2.

Esparsos
2.1.

3.

So mais rpidos para localizar um registro

Necessita menos espao e menos sobrecarga de


manuteno de ponteiros para operaes de
incluso e excluso

Qual melhor?
3.1.

Depende da aplicao

3.2.

Deciso tomada pelo DBA

ndices de Nvel nico


1.

2.

ndices esparsos muito grandes


1.1.

Ocupam muitos blocos

1.2.

Processamento ineficiente

1.3.

Armazenados sequencialmente

Arquivo maior que a memria principal


2.1.

3.

Busca exige vrias leituras de bloco de disco

Soluo
3.1.

ndices de Nveis Mltiplos

ndices de Nveis Mltiplos


1.

ndices com dois ou mais nveis


1.1.

ndice esparso sobre o ndice primrio

1.2.

Exemplo fora de banco de dados


1.2.1.

Dicionrio

ndice Esparso em Dois Nveis


1.

Procedimento de busca
Brighton

1.1.

Busca binria sobre o ndice


externo
1.1.1.

1.2.

1.3.

Perryridge

Busca o registro com maior


valor de chave valor desejado

Varredura do bloco de ndice


interno

Brighton
Downtown

Perryridge

Brighton
Clayce

Downtown

Redwood
Mianus

Encontra o registro
Perryridge

1.3.1.

2.

Ponteiro aponta para o bloco do


arquivo que contm o registro

Redwood

Exemplo
2.1.

Encontrar o registro para a


agncia de nome Redwood

Round Hill

Vilage

Vous aimerez peut-être aussi