Escolar Documentos
Profissional Documentos
Cultura Documentos
3
Organização de Ficheiros
e Indexação
“If you don’t find it in the index, look very carefully
through the entire catalogue.”
-- Sears, Roebuck, and Co.,
Consumer’s Guide , 1897
Bibliografia:
1. R. Ramakrishnan and J. Gehrke. “Database Management Systems”. Addison-Wesley,
2003 (cap.8).
1
1. Objectivos
4
4. Análise e Modelo de Custos
Heap Files:
A inserção é sempre feita no fim do ficheiro.
Ficheiros Ordenados:
Ficheiros compactados após eliminações de registos.
Selecções baseadas na chave de pesquisa (search key).
6
B: número de páginas de dados (data pages)
R: número de registos por página
D: tempo (médio) para ler/escrever uma página no disco
Três alternativas:
• registo de dados real (chave com valor k)
• <k, rid do registo de dados que contém k>
• <k, lista de rids dos registos de dados que contêm k >
12
8.2 Alternativas 2 e 3:
<k, rid do registo de dados que contém k>
<k, lista de rids dos registos que contêm k>
13
9. Classificação de Índices
14
9.1 Índices Clustered vs. Unclustered
16
B: The number of data pages
R: Number of records per page
9.3 Custo de operações D: (Average) time to read or write disk page
17
10. Chaves de Pesquisa Compostas
Exemplos de índices de chave
Pesquisa sobre uma composta usando ordem lexicográfica
combinação de campos.
Inquirição de igualdade:
Todo o valor dum campo é 11,80 11
igual a um valor constante;
e.g.: 12,10 12
wrt <age,sal> index: 12,20 name age sal 12
age=20 e sal =75 13,75 bob 12 10 13
Inquirição de gama: algum
valor dum campo não é <age, sal> cal 11 80 <age>
constante; e.g.: joe 12 20
age > 20; ou age=20 10,12 sue 13 75
e sal > 10 10
Verbetes de dados no índice 20,12 Data records 20
ordenados por chave de 75,13 sorted by name 75
pesquisa para suportar 80,11 80
inquirições de gama.
<sal, age> <sal>
Ordem lexicográfica.
Como o dicionário, mas Data entries in index Data entries
sobre campos, não sobre sorted by <sal,age> sorted by <sal>
letras!
18
Sumário
A camada de ficheiros gere o acesso a registos em páginas.
Os formatos de registos e de páginas dependem do
comprimento ser fixo ou variável.
A gestão do espaço livre é uma questão importante.
O formato de página entalhada (slotted page format) suporta
registos de comprimento variável e permite que os registos se
movam dentro de cada página.
Existem muitas formas de organizar a estrutura dum
ficheiro, sendo cada uma apropriada para certos casos.
Se as inquirições de selecção são frequentes, ordena-se o
ficheiro ou constrói-se um índice.
Índices em hashing só são bons para pesquisa de igualdade.
Ficheiros ordenados (sorted files) e índices estruturados em
árvore (tree-based indexes) adequam-se melhor a pesquisas de
gama; também são bons para pesquisas de igualdade de
valores. (Ficheiros raramente se mantêm ordenados na prática;
o índice estruturado em árvore B+ é melhor.)
Um índice é uma colecção de verbetes de dados mais uma
forma de encontrar rapidamente verbetes com valores 19
específicos de chave.
FIM DE CAPÍTULO
Sumário (cont.)
20