Escolar Documentos
Profissional Documentos
Cultura Documentos
4
Indexao Estruturada em rvore
If I had eight hours to chop down a tree,
Id spent sharpening my ax.
-- Abraham Lincoln
Bibliography:
1. R. Ramakrishnan and J. Gehrke. Database Management Systems. Addison-Wesley, 2003
(cap.10).
1. Objectivos
2. Ficheiros,Pginas e Registos:
uma reviso
ndices podem ser usados para tornar mais rpidos muitos tipos de
acessos (i.e., percursos de acesso)
pointer
3. Mtricas de avaliao de
ndices
4. ndices ordenados
Tcnicas de indexao avaliadas com base em:
Num ndice ordenado, verbetes de indexao so
armazenados e ordenados segundo o valor da chave de
pesquisa; p.ex., catlogo de autores numa biblioteca.
ndice primrio: num ficheiro sequencialmente ordenado, o
ndice cuja chave de pesquisa especifica a ordem sequencial do
ficheiro.
l
l
6. ndice Multi-nvel
10
11
l
l
verbete de indexao
P
0
k 2
k m
Pm
12
Ficheiro
de Indexao
kN
k1 k2
One-level
Index Structure
Page 1
Page 2
Page 3
Page N
Ficheiro
de Dados
13
9. ISAM
(Indexed Sequential Access Method)
Non-leaf
Pages
Leaf
Pages
Overflow
page
Primary pages
14
10*
15*
20
33
20*
27*
51
33*
37*
40*
46*
51*
63
55*
63*
97*
15
Index
Pages
20
33
20*
27*
51
63
51*
55*
Primary
Leaf
10*
15*
33*
37*
40*
46*
48*
41*
Pages
Overflow
23*
63*
97*
Pages
42*
16
9.3 Delete:
exemplo para os verbetes 42*, 51* e 97*
Root
40
Index
Pages
20
33
20*
27*
51
63
Primary
Leaf
10*
15*
33*
37*
40*
46*
48*
41*
Pages
Overflow
23*
55*
63*
Pages
Note que 51* aparece nos nveis de indexao, mas no no nvel dos dados
17
Data Pages
Index Pages
Overflow pages
Page allocation
in ISAM
18
Prs?
l
Index Entries
(to direct search)
Data Entries
("Sequence set")
Index
File
20
2*
3*
5*
7*
14* 16*
17
24
30
Com base na pesquisa para 15*, sabemos que ele no est na rvore!
21
Capacidades tpicas:
l
l
Altura 2: 1333 =
2,352,637 verbetes
Altura 3: 1334 = 312,900,700 verbetes
Nvel 1 =
1 pgina =
8 Kbytes
Nvel 2 =
133 pginas =
1 Mbyte
Nvel 3 = 17,689 pginas = 133 MBytes
22
11.1 Exemplo:
insero do verbete de dados 8*
Root
13
3*
2*
5*
7*
17
24
30
14* 16*
Root
17
2*
3*
24
13
5*
7* 8*
14* 16*
30
Observe
como a
ocupao
mnima
garantida
quer na
partio
duma
pgina folha
quer duma
pgina de
indexao.
Note a
diferena
entre
copiar-paracima e
transladarpara-cima.
3*
5*
7*
8*
2*
3*
5*
7*
8*
17
13
17
24
30
25
13.1 Exemplo:
eliminao dos verbetes de dados
19* e 20*
Root
17
2*
3*
5*
7* 8*
2*
3*
24
13
14* 16*
7* 8*
Root
17
27
13
5*
30
14* 16*
22* 24*
30
27* 29*
13.2 Exemplo:
e depois eliminar o verbete de dados 24*
Root
17
2*
3*
27
13
5*
7* 8*
22* 24*
14* 16*
30
27* 29*
30
22*
27*
29*
33*
34*
38*
39*
28
2*
3*
5*
7*
8*
13
14* 16*
17
30
13.3 Exemplo:
re-distribuio entre pginas no-folha
2* 3*
5* 7* 8*
13
14* 16*
17
30
20
17* 18*
20* 21*
30
2* 3*
5* 7* 8*
13
17
14* 16*
2* 3*
5* 7* 8*
17* 18*
20* 21*
Root
17
13
14* 16*
30
20
20
17* 18*
20* 21*
22
30
Compresso de chaves
Carregamento em massa (bulk-loading) duma rvore B
+
32
33
34
Raiz
3* 4*
6* 9*
10* 11*
35
3* 4*
6* 9*
10
12
20
23
35
10* 11* 12* 13* 20* 22* 23* 31* 35* 36* 38* 41* 44*
36
20
10
3* 4*
6* 9*
12
35
23
10* 11* 12* 13* 20* 22* 23* 31* 35* 36* 38* 41* 44*
37
Lenta.
No permite armazenamento sequencial das folhas.
38
Sumrio
39
FIM DE CAPTULO
Sumrio (cont.)
40