Buscar

ADMBD-Parte02-2013

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 66 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 66 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 66 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

18/03/2013
1
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
Parte II
Estruturas Indexadas para 
Arquivos
43
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
Revisão dos conceitos básicos 
sobre indexação
• Índices são estruturas de acesso auxiliares 
utilizadas para acelerar a recuperação de 
registros em resposta a determinadas 
condições de pesquisa.
• Possibilitam o acesso eficiente a registros 
com base nos campos de indexação que são 
utilizados para construir o índice.
44
18/03/2013
2
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Nos índices ordenados, os valores no índice 
são ordenados para permitir uma busca 
binária.
• Há vários tipos de índices ordenados como 
os índices primários, clustering e 
secundários.
45
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Índices primários ou principais
– Especificados no campo chave de ordenação de 
um arquivo de registros ordenado.
– O número total de entradas no índice é o 
mesmo número de blocos de disco do arquivo 
de dados ordenado.
– É um índice não-denso (esparso) pois possui 
uma entrada no índice para cada bloco de disco 
do arquivo de dados ao invés de para cada 
registro.
46
18/03/2013
3
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 47
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Índices por Clustering
– Se os registros de um arquivo estiverem 
fisicamente ordenados por um campo que não 
seja chave, este campo é chamado de campo 
clustering.
– Podemos criar o índice clustering para acelerar a 
recuperação de registros que possuem o mesmo 
valor para o campo clustering.
– É um índice não denso pois possui uma entrada 
para cada valor distinto do campo de indexação.
48
18/03/2013
4
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 49
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Índices secundários
– Especificado em qualquer campo não-ordenado 
de um arquivo.
– Podem existir muitos índices secundários para o 
mesmo arquivo.
– Duas alternativas:
• Índice secundário num campo chave que possui um 
valor distinto para cada registro.
• Índice secundário em um campo que não é chave. 
50
18/03/2013
5
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 51
ÍN
D
IC
E 
SE
CU
N
D
ÁR
IO
 
D
EN
SO
 
EM
 
CA
M
PO
 
CH
AV
E
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 52
ÍN
D
IC
E 
SE
CU
N
D
ÁR
IO
 
EM
 
CA
M
PO
 
N
ÃO
 
CH
AV
E
18/03/2013
6
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Índices de múltiplos níveis
53
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
– Terminologia de estruturas de dados do tipo 
árvore:
• Uma árvore é formada de nós.
• Cada nó da árvore, exceto um nó especial chamado raiz, 
possui um nó pai e diversos (zero ou mais) filhos.
• O nó raiz não possui pai.
• Um nó que não possua nenhum nó filho é chamado de 
nó folha.
• Um nó que não seja folha é chamado de nó interno.
• O nível de um nó é um a mais que o nível do seu pai, 
sendo o nível do nó raiz igual a zero.
• Uma subárvore de um nó consiste daquele nó e todos 
os seus nós descendentes.
54
18/03/2013
7
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Árvore B
55
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Exercício:
– Baseado no resultado da árvore anterior, incluir 
as seguintes chaves:
• 2, 4, 11, 15
56
18/03/2013
8
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Exercício:
– Resposta:
57
5
2 8 11
1 3 4 6 7 9 12 15
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
– Árvore B ou B-Tree é uma estrutura de dados 
pertencente ao grupo das árvores, e é muito 
utilizada em banco de dados e em sistemas de 
arquivos;
– Está sempre balanceada, ou seja, os nós folhas 
estão sempre no mesmo nível.
– Cada valor do campo de pesquisa aparece uma 
vez em algum nível da árvore, juntamente com 
um ponteiro de dados.
58
18/03/2013
9
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
– Todo nó da árvore tem um número mínimo de 
elementos, que é dado pela metade do valor da 
ordem do nó, truncando o número caso a 
árvore seja de ordem ímpar, exceto para a raiz 
da árvore, que pode ter o mínimo de um 
registro. 
– Por exemplo, os nós de uma árvore de ordem 5, 
devem ter, no mínimo 5/2 = 2,5 registros, ou 
seja, dois registros.
59
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
– A quantidade de filhos que um nó pode ter é 
sempre a quantidade de registros do nó mais 1 
(V+1). 
– Por exemplo, se um nó tem 4 registros, este nó 
terá obrigatoriamente 5 apontamentos para os 
nós filhos.
60
18/03/2013
10
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
– Para uma árvore com ordem p, cada nó interno 
possui no máximo p e no mínimo teto(p/2) 
ponteiros de árvore. A raiz é exceção e possui 
pelo menos dois ponteiros de árvore.
– A estrutura do nós internos e das folhas é <P1, 
<K1, Pr1>, P2, <K2, Pr2>, ... <K(q-1), Pr(q-1)>, 
Pq), sendo K o valor do campo de pesquisa , Pr o 
ponteiro de dados e q<=p.
– Seja X um valor de busca. Se X < K, devemos 
percorrer a subárvore à esquerda de K. Se X > K, 
percorreremos a subárvore à direita de K.
61
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
– Para inserir ou remover variáveis de um nó, a 
quantidade de descendentes no nó não poderá 
ultrapassar sua ordem e nem ser menor que sua 
ordem dividida por dois (fator de 
preenchimento). 
– Árvores B não precisam ser rebalanceadas como 
são freqüentemente as árvores de busca 
binária. 
– Árvores B têm vantagens substanciais em 
relação a outros tipos de implementações 
quanto ao tempo de acesso e pesquisa aos nós.
62
18/03/2013
11
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Forma geral:
– Uma árvore B de ordem "m" é uma árvore que 
atende as seguintes propriedades:
1.Cada nó tem no máximo "m" filhos
2.Cada nó (exceto araíz e as folhas) tem pelo 
menos "m/2" filhos
3.A raiz tem pelo menos dois filhos se ela 
mesma não for uma folha
4.Todas as folhas aparecem no mesmo nível e 
carregam informação
5.Um nó não-folha com "k" filhos deve ter k-1 
chaves
63
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
– Inserção
• Primeiro pesquise a chave, para ter a certeza de que esta não existe na 
árvore.
• Depois, busque a posição onde esta será inserida. Teste para ver se o nó 
está cheio.
• Se nó estiver vazio, insira o valor dentro dele, senão execute uma 
subdivisão do nó da seguinte forma:
– Verifique se o nó-pai está vazio, se sim execute
» Passe o elemento do meio do nó para seu pai.
» Divida o nó em dois nós iguais.
– Se o nó pai estiver cheio, repita as duas linhas acima 
recursivamente.(Caso todos os nós-pai estiverem cheios, inclusive 
a raiz, deve ser criada uma nova raiz aumentando assim a altura da 
árvore.
– Somente após satisfazer todas divisões necessárias, insira nova 
chave.
64
18/03/2013
12
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Exemplo:
– Inserir as chaves 1,2,3,4,5,6,7 em uma árvore B 
de ordem 3:
• Ou seja, numa árvore-B de ordem m, o número 
máximo de chaves em uma página é m-1. 
• Então 3-1 = 2 chaves por página (nó);
65
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 66
1
18/03/2013
13
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 67
1 2
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 68
2
1 3
18/03/2013
14
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 69
2
1 3 4
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 70
2 4
1 3 5
Obs: cada página tem no máximo m descendentes (ordem).
18/03/2013
15
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 71
2 4
1 3 5 6
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 72
4
2
1
6
3 5 7
18/03/2013
16
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Exercício:
– Baseado no resultado da árvore anterior, inclua 
as chaves:
• 8, 9, 10, 11, 12, 13
73
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Exercício:
– Resultado:
74
4 8
2 10 12
1 3 9 11 13
6
5 7
18/03/2013
17
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Vantagens
– Melhor desempenho por ter um número menor de nós 
do que uma árvore binária, por exemplo. Menos nós, 
significa menos altura que resulta em menos acessos ao 
disco.
– Por garantir poucos ponteiros entre os nós, há uma 
economia de espaço.
– Maior rapidez em buscas pela utilização de chaves 
primárias.
– Sua estrutura é dinâmica, ajustando automaticamente o 
balanceamento da árvore, a cada inclusão/exclusão.
– Permite um tempo de acesso de dados menor, em uma 
busca aleatória, por causa de suas ramificações.
75
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Desvantagens
– Nó não folha com n chaves, é visitado n vezes, 
portanto o processo de busca às vezes pode se 
tornar lento.
– As árvores B+ sempre mantém uma cópia de 
todos os dados nas folhas, o que em caso de 
necessidade de imprimir toda ela, por exemplo, 
permite uma rápida busca linear, fazendo com 
que a Árvore B, em comparação, tenha menor 
performance.
76
18/03/2013
18
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Exercício:
– Insira as chaves a seguir em uma Árvore B de 
ordem 5;
– 3, 9, 2, 1, 7, 8, 10, 13, 6, 11
77
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Exercício:
– Resultado:
78
3 9
1 2 6 7 8 10 11 13
18/03/2013
19
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Exercício:
– Insira as chaves a seguir em uma Árvore B de 
ordem 5;
– a, g, f, b, k, d, h, m, j, e, s, i, r, x, c, l, n, t, u, p
79
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Exercício:
– Insira as chaves a seguir em uma Árvore B de 
ordem 5;
– a, g, f, b, k, d, h, m, j, e, s, i, r, x, c, l, n, t, u, p
80
18/03/2013
20
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 81
a b f g
Em uma árvore B de ordem m, o número máximo de chaves em uma página é m-1, 
então 5-1 = 4
a, g, f, b, k, d, h, m, j, e, s, i, r, x, c, l, n, t, u, p
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 82
f
a b g k
cada nó (exceto a raíz e as folhas) tem pelo menos "m/2" filhos, 
então 5/2 = 2,5 trunc = 2
a, g, f, b, k, d, h, m, j, e, s, i, r, x, c, l, n, t, u, p
18/03/2013
21
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 83
f
a b d g h k m
a, g, f, b, k, d, h, m, j, e, s, i, r, x, c, l, n, t, u, p
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 84
f j
a b d g h k m
a, g, f, b, k, d, h, m, j, e, s, i, r, x, c, l, n, t, u, p
18/03/2013
22
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 85
f j r
a b d e g h k m
a, g, f, b, k, d, h, m, j, e, s, i, r, x, c, l, n, t, u, p
i s x
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 86
c f j r
a b
a, g, f, b, k, d, h, m, j, e, s, i, r, x, c, l, n, t, u, p
d e g h i k m s x
18/03/2013
23
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 87
c f j r
a b
a, g, f, b, k, d, h, m, j, e, s, i, r, x, c, l, n, t, u, p
d e g h i k l m n s t u x
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 88
c f
j
r
a b
a, g, f, b, k, d, h, m, j, e, s, i, r, x, c, l, n, t, u, p
d e g h i lk s t u x
Obs: cada página tem no máximo m descendentes (ordem), nesse caso, 5
m
n p
18/03/2013
24
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Pesquisa:
– Remoção de elementos em árvoreB
• Trazer metodologia, exercício completo e explicar 
como funciona;
89
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Árvores B+
90
18/03/2013
25
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
– Está sempre balanceada, ou seja, os nós folhas 
estão sempre no mesmo nível.
– Os ponteiros de dados estão armazenados 
somente nos nós folhas da árvore. 
– A definição da ordem p da árvore B+ é igual a da 
árvore B.
– pfolha é o número máximo de ponteiros de 
dados para um nó folha.
– A estrutura dos nós folhas difere da estrutura 
dos nós internos.
91
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
– A estrutura do nó interno é (P1, K1, P2, K2, 
...P(q-1), K(q-1), Pq), sendo K o valor do campo 
de pesquisa e q<=p.
– A estrutura do nó-folha é (<K1, Pr1>, <K2, Pr2>, 
...<K(q-1), Pr(q-1)>, Ppróximo), sendo K o valor 
do campo de pesquisa, Pr o ponteiro de dados e 
q<=p.
– Os nós folhas são interligados através de um 
ponteiro para fornecer um acesso ordenado no 
campo de pesquisa. Esta é uma grande 
vantagem da árvore B+ em relação à árvore B.
92
18/03/2013
26
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
– Seja X um valor de busca. Se X <= K, devemos 
percorrer a subárvore à esquerda de K. Se X > K, 
percorreremos a subárvore à direita de K.
93
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Forma geral
– Variante da árvore B. 
– Os nós não folha armazenam as chaves dos 
registros e não os registros inteiros. 
– Em nó interno de uma árvore B+ cabe mais 
registros do que o de uma árvore B. 
– Consequentemente a altura da árvore B+ é 
menor do que a da árvore B. 
– Os registros são armazenados em nós folha. 
– Nó não folha agem como se fossem uma 
estrutura de índice para nós que contém os 
dados. 
94
18/03/2013
27
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
– Diferentemente da árvore B, a árvore B+ tem a 
estrutura de índices separada da estrutura de 
dados. 
– Para acessar qualquer registro é necessário o 
mesmo número de acessos, já que todos ficam 
no mesmo nível.
95
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Vantagens: 
– Na maioria das vezes a árvore B+ tem altura 
menor do que a árvore B para os mesmos 
registros, o que significa que menos operações 
de E/S são necessárias durante a busca. 
– Não é necessário subir e descer na árvore para 
acessar sequencialmente os registros. 
– Tanto o acesso direto como o acesso sequencial
são melhores que na árvore B. 
96
18/03/2013
28
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
– Uma árvore B+ é uma árvore B na qual os 
registros dados são armazenados em nós folha e 
os nós não folha armazenam apenas os valores 
das chaves, formando um índice para os nós de 
dados. 
– Melhoria no acesso sequencial é obtida 
interligando os nós de dados. Como resultado 
não é necessário mover através da árvore mas 
apenas processar uma lista encadeada formada 
pelos nós não folha. 
– Pela própria definição da árvore B, os registros 
dos nós folha estão automaticamente 
ordenados na lista encadeada. 
97
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 98
18/03/2013
29
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
– Dado que os registros não mais armazenados 
nos nós não folha, o procedimento de busca é 
modificado a fim de que, numa comparação 
igual, a busca prossiga à esquerda ou à direita 
para localizar o nó folha apropriado. 
Arbitrariamente, escolheremos ir à esquerda – o 
que é importante ser definido a priori. 
– As principais diferenças entre a árvore B e a 
árvore B+ está na inserção em um nó folha e no 
que acontece quando ocorre overflow. 
99
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
– Quando ocorre overflow, realiza-se a divisão do 
nó, mas apenas a chave do registro do meio é 
promovida para o nível mais alto. 
– Como nós folha e nós de índice têm funções 
diferentes em uma árvore B+, a inserção do 
primeiro registro de uma árvore B+ é um caso 
especial. 
– O registro é armazenado em um nó folha e sua 
chave é armazenada em um nó de índice, com 
um ponteiro para o nó folha, por exemplo: 
100
18/03/2013
30
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 101
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
– Algoritmo de Inserção em árvore B+ 
• Navegar nos nós não folha da árvore B+ com um 
índice a fim de localizar o nó folha apropriado para 
inserir um novo registro. 
• Se ≤, seguir à esquerda, se > e existe outro registro à 
direita, repetir a comparação anterior (de ≤), senão 
seguir a ramificação da direita.
/*Ao encontrar o nó folha*/ 
102
18/03/2013
31
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• SE existir espaço disponível ENTÃO 
– Inserir o registro (de forma ordenada). 
• SENÃO 
– Dividir o nó folha onde ocorreu overflow. 
» Subir a chave do registro do meio para a estrutura de 
índice. O registro do meio é escolhido entre os 
registros do nó que sofreu overflow e o registro sendo 
inserido, considerando-os de forma ordenada. 
» Dividir os registros do nó que sofreu overflow, 
incluindo o registro sendo inserido, entre dois nós tal 
que todos os registros com chave menores do que a 
chave do registro sendo inserido e o registro sendo 
inserido sejam armazenados no nó da esquerda. Os 
demais são armazenados no nó da direita. 
– Processar a chave que foi recentemente elevada para a 
estrutura de índice como uma inserção em uma árvore B.
103
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Exemplo: 
– Inserir as chaves a seguir em uma árvore b+ de 
ordem 4
– 85, 60, 52, 70, 58, 37, 54, 110, 230, 56
104
18/03/2013
32
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 105
85, 60, 52, 70, 58, 37, 54, 110, 230, 56
52 60 85
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 106
85, 60, 52, 70, 58, 37, 54, 110, 230, 56
60
•As M-1chaves serão divididas em dois grupos:
•As (M-1 div 2) chaves menores ficam na folha esquerda;
•As (M-1 div 2) chaves maiores ficam na folha direita;
•A maior chave da esquerda é copiada para o nó pai. 
52 60 70 85
18/03/2013
33
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 107
85, 60, 52, 70, 58, 37, 54, 110, 230, 56
60
5258 60 70 85
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 108
85, 60, 52, 70, 58, 37, 54, 110, 230, 56
52 60
58 60 70 8537 52
18/03/2013
34
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 109
85, 60, 52, 70, 58, 37, 54, 110, 230, 56
52 60
54 58 60 70 85 11037 52
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 110
85, 60, 52, 70, 58, 37, 54, 110, 230, 56
52 60 85
54 58 60 70 8537 52 110 230
18/03/2013
35
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 111
85, 60, 52, 70, 58, 37, 54, 110, 230, 56
54 56 58 6037 52 70 85
56
52 56 60 85
110 230
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Pesquisa
– Semelhante à pesquisa em árvore B;
– A pesquisa sempre leva a uma página folha;
– A pesquisa não pára se a chave procurada for 
encontrada em uma página índice.
112
18/03/2013
36
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Exemplo:
– Procurar a chave 60
113
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Remoção
– Caso 1:
• A chave X aparece apenas em um nó folha;
– A chave X é simplesmente removida e a folha é 
reorganizada; 
– Exemplo: remover a chave 80;
114
18/03/2013
37
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 115
Antes:
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 116
Depois:
18/03/2013
38
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Remoção
– Caso 2:
• A chave X aparece também em nós internos (índice)
– A chave X é removida; 
– A folha é reorganizada; 
– A chave X não é removida dos nós internos.
– Exemplo: remover a chave 85;
117
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Antes:
118
18/03/2013
39
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Depois:
119
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Remoção com concatenação
– Exemplo:
• Remover a chave 110;
120
18/03/2013
40
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Antes
121
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Depois
122
18/03/2013
41
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
– Quando uma chave é retirada de um nó folha, o 
número de chaves restantes pode ser menor 
que (M-1)/2.
– Tratamentos:
• Concatenação
• Redistribuição
123
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Remoção com Concatenação
– Duas páginas P e Q são chamadas irmãos 
adjacentes se têm o mesmo pai W e são 
apontadas por ponteiros adjacentes em W.
– P e Q podem ser concatenadas se são irmãos 
adjacentes e juntas possuem menos de M-1 
chaves.
– A concatenação agrupa as entradas de duas 
páginas em uma só;
– No nó pai deixa de existir uma entrada: aquela 
da chave que se encontra entre os ponteiros 
para Pe Q.
124
18/03/2013
42
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
– Essa chave é simplesmente removida do nó pai.
– Então:
125
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 126
- Remover a chave 110 (cont.)
18/03/2013
43
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
– Como foi retirada uma chave do nó W, caso ele 
passe a ter menos de (M-1)/2chaves, o processo 
se repete;
– Ou seja, a concatenação é um processo 
propagável;
– Se a propagação atingir a raiz, a árvore 
diminuirá de altura.
– Então:
127
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 128
– Remover a chave 110 (propagação) continuação
18/03/2013
44
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Outro exemplo:
– Remover a chave 80 (antes);
129
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Outro exemplo:
– Remover a chave 80 (depois);
130
18/03/2013
45
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Remoção com Redistribuição
– Se a página P e seu irmão adjacente Q possuem 
em conjunto M-1 ou mais chaves, estas podem 
ser equilibradamente distribuídas:
• Concatena-se P e Q;
• Efetua-se a cisão da página resultante.
131
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 132
- Remover a chave 80 (redistribuição);
18/03/2013
46
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Exercício:
– Incluir as chaves 8, 5, 1, 7, 3, 12, 9, 6
– Em uma árvore B+ de ordem 3;
133
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 134
5 8
8, 5, 1, 7, 3, 12, 9, 6
18/03/2013
47
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 135
5
8, 5, 1, 7, 3, 12, 9, 6
1 5 8
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 136
3 5
8, 5, 1, 7, 3, 12, 9, 6
1 3 5 7 8
18/03/2013
48
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 137
3
8, 5, 1, 7, 3, 12, 9, 6
1 3 5 7 8
5
8
12
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 138
3
8, 5, 1, 7, 3, 12, 9, 6
1 3 5 7 8
5
8
9 12
18/03/2013
49
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 139
3
8, 5, 1, 7, 3, 12, 9, 6
1 3 5 6 7
5
7 8
9 128
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Bancode Dados – Prof. Anderson Nascimento
• Comparação entre consultas com Árvores B 
e B+
– Exemplo: 
– n=100
– Arquivo com 1.000.000 valores de chave de 
busca (K)
– Pesquisa acessa apenas 4 nós em árvore B+
– Pesquisa acessa 20 nós em árvore B 
140
18/03/2013
50
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Índices de Hash
– Hashing pode ser usado não apenas para a 
organização do arquivo, mas também para a 
criação da estrutura de índices.
– Um índice hash organiza as chaves de busca (K) 
com os seus ponteiros de registro (P) 
associados.
– Uma vez que uma entrada K é encontrada no 
arquivo de índice, o ponteiro P é utilizado para 
localizar o registro correspondente no arquivo 
de dados.
141
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
• Comparação entre indexação ordenada e hashing
– Indexação ordenada:
• Razoavelmente eficiente para pesquisa de igualdade 
pois a busca binária é utilizada.
• Eficiente para pesquisas de intervalo de valores.
– Hashing: 
• Eficiente para pesquisa de igualdade.
• Ineficiente para recuperar registros de maneira 
ordenada.
-
142
18/03/2013
51
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento
Exercício
• Utilizando uma estrutura de índices baseada 
em Árvores B+, insira os valores a seguir, 
utilizando árvore de ordem p=4: 
• C S D T A M P I B W N G U R K E H O L J Y Q Z 
F X V
143
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 144
C D S
C S D T A M P I B W N G U R K E H O L J Y Q Z F X V
número de chaves em cada nó P-1 => 3
18/03/2013
52
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 145
D
C S D T A M P I B W N G U R K E H O L J Y Q Z F X V
C D S T
número de chaves mínimos => trunc(P/2) => 2
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 146
C S D T A M P I B W N G U R K E H O L J Y Q Z F X V
D
A C D M S T
18/03/2013
53
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 147
C S D T A M P I B W N G U R K E H O L J Y Q Z F X V
D P
A C D M P S T
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 148
C S D T A M P I B W N G U R K E H O L J Y Q Z F X V
D P
A C D I M P S T
18/03/2013
54
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 149
C S D T A M P I B W N G U R K E H O L J Y Q Z F X V
B D P
C D I M P S TA B
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 150
C S D T A M P I B W N G U R K E H O L J Y Q Z F X V
B D P
C D I M P S T WA B
18/03/2013
55
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 151
C S D T A M P I B W N G U R K E H O L J Y Q Z F X V
B D P
C D I M P S T WA B
número máximo de nós filhos = P => P=4 então, 4 nós
N
M
D
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 152
C S D T A M P I B W N G U R K E H O L J Y Q Z F X V
C D I M S T WA B
D
B D M P
N P
18/03/2013
56
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 153
C S D T A M P I B W N G U R K E H O L J Y Q Z F X V
C D G I M S T WA B
D
B D M P
N P
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 154
C S D T A M P I B W N G U R K E H O L J Y Q Z F X V
C D G I M S T WA B
D
B D M P
N P
U
18/03/2013
57
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 155
C S D T A M P I B W N G U R K E H O L J Y Q Z F X V
C D G I M S TA B
D
B D M P T
N P U W
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 156
C S D T A M P I B W N G U R K E H O L J Y Q Z F X V
C D G I M R S TA B
D
B D M P T
N P U W
18/03/2013
58
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 157
C S D T A M P I B W N G U R K E H O L J Y Q Z F X V
C D G I M R S TA B
D
B D M P T
N P U W
K
I
M
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 158
C S D T A M P I B W N G U R K E H O L J Y Q Z F X V
C D G K M R S TA B
D
B D M P T
N P U W
M
I
I
18/03/2013
59
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 159
C S D T A M P I B W N G U R K E H O L J Y Q Z F X V
C D G K M R S TA B
D
B D M P T
N P U W
M
I
IE
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 160
C S D T A M P I B W N G U R K E H O L J Y Q Z F X V
C D G K M R S TA B
D
B D M P T
N P U W
M
I
IE
H
G
18/03/2013
60
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 161
C S D T A M P I B W N G U R K E H O L J Y Q Z F X V
C D G K M R S TA B
D
B D M P T
N P U W
M
I
IE H
G
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 162
C S D T A M P I B W N G U R K E H O L J Y Q Z F X V
C D G K M R S TA B
D
B D M P T
N O P U W
M
I
IE H
G
18/03/2013
61
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 163
C S D T A M P I B W N G U R K E H O L J Y Q Z F X V
C D G K M R S TA B
D
B D M P T
N O P U W
M
I
IE H
G
L
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 164
C S D T A M P I B W N G U R K E H O L J Y Q Z F X V
C D G K M R S TA B
D
B D M P T
N O P U W
M
I
IE H
G
L
J
K
18/03/2013
62
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 165
C S D T A M P I B W N G U R K E H O L J Y Q Z F X V
C D G K M R S TA B
D M
B D M P T
N O P U W
I
I
IE H
G
L
K
J
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 166
C S D T A M P I B W N G U R K E H O L J Y Q Z F X V
C D G K M R S TA B
D M
B D M P T
N O P U W Y
I
I
IE H
G
L
K
J
18/03/2013
63
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administraçãode Banco de Dados – Prof. Anderson Nascimento 167
C S D T A M P I B W N G U R K E H O L J Y Q Z F X V
C D G K M R S TA B
D M
B D M P T
N O P U W Y
I
I
IE H
G
L
K
J
Q
R
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 168
C S D T A M P I B W N G U R K E H O L J Y Q Z F X V
C D G K M R S TA B
D M
B D M R T
N O P U W Y
I
I
IE H
G
L
K
J
P
Q
18/03/2013
64
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 169
C S D T A M P I B W N G U R K E H O L J Y Q Z F X V
C D G K M R S TA B
D M
B D M R T
N O P U W Y
I
I
IE H
G
L
K
J
P
Q
Z
W
R
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 170
C S D T A M P I B W N G U R K E H O L J Y Q Z F X V
C D G K M R S TA B
D I R
B D M R T
N O P U W
I
IE H
G
L
K
J
P
Q
M
M
Z
W
Y
18/03/2013
65
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 171
C S D T A M P I B W N G U R K E H O L J Y Q Z F X V
C D K M R S TA B
D I R
B D M R T
N O P U W
I
IH
G
L
K
J
P
Q
M
M
Z
W
YGE F
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 172
C S D T A M P I B W N G U R K E H O L J Y Q Z F X V
C D K M R S TA B
D I R
B D M R T
N O P U W Z
I
IH
G
L
K
J
P
Q
M
M
Y
W
XGE F
18/03/2013
66
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 173
C S D T A M P I B W N G U R K E H O L J Y Q Z F X V
C D K M R S TA B
D I R
B D M R T
N O P U W Z
I
IH
G
L
K
J
P
Q
M
M
Y
W
XGE F V
Escola de Ciência e Tecnologia
Curso: Sistemas de Informação
Disciplina: Administração de Banco de Dados – Prof. Anderson Nascimento 174
Fim da Parte II

Continue navegando