Está en la página 1de 12

rvores Captulo 10

10.1- Considerar a rvore B + de ndice de ordem d = 2 mostrada na Figura 10.1

1. Mostre a rvore que resultaria da insero de dados de entrada com chave 9 a esta rvore
A entrada de dados com a tecla 9 inserido na segunda pgina da folha:

2. Mostre a rvore + B que ir resultar a partir da insero de uma entrada de dados com a chave
3 na rvore original.
Quantas pginas de leitura e escrita a pgina de insero exige?
A entrada de dados com chave 3 vai para a primeira pgina folha F. Desde F pode acomodar, no mximo,
quatro entradas de dados (D = 2), F divide. A entrada da nova folha de dados menor dada at o ancestral,
que tambm se divide. Note-se como a chave do meio 18 empurrado at o n raiz. A insero exigir 5
pginas de escrita, 4 pginas de leitura e alocao de 2 novas pginas.

3. Mostrar a rvore B+ que resultaria se excluir a entrada de dados com chave 8 da rvore
original, assumindo que o irmo deixou est marcada para uma possvel redistribuio.
A entrada de dados com chave 8 excludo, resultando em uma pgina de N foliar com menos de duas
entradas de dados.
O irmo deixou L est marcada para redistribuio. Uma vez que L tem mais do que duas entradas de
dados, as teclas restantes so redistribudos entre L e N, resultando no seguinte rvore:

4.

Mostrar a rvore B+ que resultaria de excluir a entrada de dados com chave 8 da rvore
original, assumindo que o irmo da direita est marcado para uma possvel redistribuio.
Como a parte 3, a entrada de dados com chave 8 apagada da pgina folha irmo direita R de N. N est
marcada para redistribuio, mas R tem o nmero mnimo de chaves. Portanto, os dois irmos se fundem. A
chave para o ancestral que distinguia entre as folhas recm-fundidas excludo.

5.

Mostra a rvore + B que resultaria de partida com a rvore original, inserindo uma entrada de
dados com o nmero 46 e, em seguida, eliminar a entrada de dados com o nmero 52.
A entrada de dados com chave 46 pode ser inserido sem qualquer alterao estrutural na rvore. Mas a
remoo da entrada de dados com chave 52 faz com que sua pgina na folha L de se fundir com um irmo
(que escolheu o irmo direita). Isto resulta na remoo de uma chave no antepassado de um L e
reduzindo assim o nmero de teclas em I abaixo do nmero mnimo de teclas. Uma vez que o irmo deixou
B de A tem mais do que o nmero mnimo de teclas, redistribuio entre A e B ocorre.

6. Mostrar a rvore B+ que resultaria de excluir a entrada de dados com chave 91 da rvore
original.
A entrada de dados com chave 91 excludo da pgina folha de N. N deixou irmo L est marcada para
redistribuio, mas L tem o nmero mnimo de chaves. Portanto, os dois irmos se fundem. A chave para o
ancestral que distinguia entre as folhas recm-fundidas excludo. Isso nos deixa com um n interior com
menos de entradas mnimas. Consequentemente, pede uma entrada de seu irmo de esquerda.
Esta entrada de 50, que foi empurrado para cima para o n de raiz. A ltima entrada (40) no primeiro n
ento empurrado at a raiz. O resultado pode ser visto a seguir:

7. Mostra a rvore B+ que resultaria de partida com a rvore original, inserindo uma entrada de
dados com o nmero 59, e em seguida, eliminando a entrada de dados com chave 91.
A entrada de dados com chave 59 pode ser inserido sem qualquer alterao estrutural na rvore. Nenhum
irmo da pgina folha com a entrada de dados com a chave 91 afetada pela incluso. Excluindo, portanto,
a entrada de dados com chave 91 mudanas na rvore de uma forma muito semelhante parte 6.

8. Mostrar a rvore B+ que resultaria da excluso sucessiva das entradas de dados com chaves de
32, 39, 41, 45 e 73 a partir da rvore original.
Considerando-se a verificao do irmo direita para possvel fuso em primeiro lugar, a eliminao
sucessiva das entradas de dados com chaves de 32, 39, 41, 45 e 73 resulta na rvore mostrada na figura:

10.2 Considere o ndice B + rvore mostrada na Figura 10.10, que usa Alternativa (1) para as
entradas de dados. Cada n intermedirio pode conter at cinco ponteiros e quatro valores
fundamentais. Cada folha pode conter at quatro registros, e ns folha so duplamente ligada, como
de costume, embora estas ligaes no sejam mostradas na figura. Responda as seguintes perguntas.
1. Nome de todos os ns de rvore que devem ser buscados para responder a seguinte pergunta:
"Obter todos os registros com chave de pesquisa maior que 38.".
2. Mostrar a rvore B+ que resultaria da insero de um registro com chave de busca 109 na rvore.

3. Mostrar a rvore B+ que resultaria da excluso do registro com a pesquisa chave 81 da rvore
original.

4. Nome pesquisa um valor de chave de tal modo que inseri-la na (original) rvore iria causar um
aumento na altura da rvore.

5. Note que a sub rvore A, B, e C no so totalmente especificado. No entanto, o que se pode inferir
sobre o contedo e a forma destas rvores?

6. Como que as suas respostas s questes anteriores mudar se isso fosse um ndice ISAM?

7. Suponha que este um ndice ISAM. Qual o nmero mnimo de inseres necessrias para criar
uma cadeia de trs pginas de sobrecarga?

10.3 Responda as seguintes perguntas:


1. Qual a utilizao de espao mnimo para um ndice B + rvore?
Pela definio de uma rvore B +, cada pgina de ndice, com exceo para a raiz, tem, pelo menos, d e no
mximo entradas de chave 2d. Portanto, com a exceo de o-a raiz utilizao do espao mnimo garantido por um
ndice B + rvore de 50 por cento.
2. Qual a utilizao de espao mnimo para um ndice ISAM?
A utilizao de espao mnimo por um ndice ISAM depende do projeto do ndice e da distribuio dos dados sobre
a vida do ndice ISAM. Uma vez que um ndice ISAM esttico, de espaos vazios em pginas de ndices nunca so
preenchidos (em contraste com um ndice de rvore B+, que um ndice dinmico). Portanto, a utilizao do

espao de pginas de ndice ISAM geralmente perto de 100 por cento em design. No entanto, no h garantia
para a utilizao 'pginas de folha.
3. Se o seu sistema de banco de dados suportado tanto um esttico e um ndice de rvore dinmico
(digamos, ISAM e B + rvores), que voc nunca iria considerar o uso do ndice esttico em preferncia
ao ndice dinmico?
Um ndice esttico, sem pginas de sobrecarga mais rpido do que um ndice dinmico em inseres e
excluses, desde pginas de ndice s so lidos e nunca escreveu. Se o conjunto de chaves que ser inserido na
rvore conhecido de antemo, ento possvel construir um ndice esttico que se reserva o espao suficiente
para todas as possveis inseres futuras. Alm disso, se o sistema vai periodicamente off line, ndices estticos
pode ser reconstrudo e escalado para a ocupao atual do ndice. Atualizaes infrequentes ou programadas so
bandeiras para quando a considerar a estrutura do ndice esttico.
10.4 Suponha-se que uma pgina pode conter, no mximo, quatro valores de dados e que todos os
valores de dados so nmeros inteiros. Usando apenas B + rvores de ordem 2, dar exemplos de cada
um dos seguintes procedimentos:
1. A + B rvore cuja altura muda de 2 para 3 quando o valor 25 inserido. Mostre sua estrutura
antes e depois da insero.

2. Uma rvore B + em que a supresso do valor 25 leva a uma redistribuio. Mostre sua
estrutura antes e depois da eliminao.

3. Uma rvore B + em que a supresso do valor 25 provoca uma fuso de dois ns, mas sem
alterar a altura da rvore.

4. Uma estrutura ISAM com quatro baldes, nenhuma das quais tem uma pgina de estouro. Alm
disso, cada balde tem espao para mais exatamente uma entrada. Mostre sua estrutura antes e
depois da insero de dois valores adicionais, escolhidos de forma que uma pgina de estouro
criada.

10. 5 - Considere a rvore B + mostrado na Figura 10.11

1. Identificar uma lista de cinco entradas de dados de tal forma que:


a) Inserindo as entradas na ordem mostrada e, em seguida, exclu-los na ordem inversa (por
exemplo, inserir um, insero b, b excluir, eliminar a) resulta na rvore original.
Um exemplo o conjunto de cinco entradas de dados com chaves de 17, 18, 13, 15 e 25.
Insero de 17 e 18 far com que a rvore para dividir e ganhar um nvel. A insero 13, 15, 25 e no
altere a estrutura da rvore de prosseguir, de modo exclu-los em ordem inversa no produz nenhuma
alterao estrutura. Quando 18 excludo, a redistribuio ser possvel a partir de um n adjacente
desde um n ir conter apenas o valor 17, e seu vizinho direito conter 19, 20 e 22. Por ltimo, quando
17 excludo, sem redistribuio ser possvel, de modo a rvore vai perder um nvel e voltar para a
rvore original.
b) Inserindo as entradas na ordem mostrada e, em seguida, exclu-los na ordem inversa (por
exemplo, inserir um, insira b, b excluir, eliminar a) resulta em uma rvore diferente.
Insero e a excluso do conjunto 13, 15, 18, 25, e 4 vai causar uma alterao na estrutura de rvore.
Quando 4 inserido, o mais sair para a direita ir dividir fazendo com que a rvore para ganhar um
nvel. Quando ele excludo, a rvore no vai encolher de tamanho. Desde inseres 13, 15, 18 e 25
no afetam o n mais direita, a sua supresso no vai mudar a estrutura alterada tambm.
2. Qual o nmero mnimo de inseres de entrada de dados com teclas distintas que far com
que a altura do (original) rvore mude do seu valor atual (de 1) a 3?
Vamos chamar a rvore atual representado na Figura 10.11 T. T tem 16 entradas de dados.

A menor rvore de altura S 3, que criado exclusivamente atravs de inseres tem (1 * 2 * 3 * 3) * 2 + 1


= 37 entradas de dados em suas pginas de folha. S tem 18 pginas de folha com duas entradas de dados
cada e uma pgina folha com trs entradas de dados. T j tem quatro pginas de folha que tm mais de
duas entradas de dados; que pode ser preenchida e feita para dividir, mas depois de cada derramado, uma
das duas pginas ainda possui trs entradas de dados restantes. Por conseguinte, a altura da rvore menor
que 3 pode possivelmente ser criada a partir de T apenas por meio de inseres tem (1 * 2 * 3 * 3) * 2
entradas + 4 = 40 dados. Por conseguinte, o nmero mnimo de entradas que far com que a altura de T
para alterar a 3 se 40 - 16 = 24.
3. Ser que o nmero mnimo de inseres que far com que a rvore original para aumentar a
altura de 3 a mudana se foram autorizados a inserir duplicatas (mltiplas entradas de dados
com a mesma chave), assumindo que pginas de sobrecarga, no so utilizados para o
tratamento de duplicatas?
O argumento da parte 2 no assume nada sobre as entradas de dados a serem inseridos; vlido se
duplicados podem ser inseridos. Por conseguinte, a soluo no muda.
10.6 - Resposta Exerccio 10,5 assumindo que a rvore uma rvore ISAM! (Alguns dos exemplos
pediram pode no existir, em caso afirmativo, explicar brevemente.)

10.7- Suponha que voc tenha um arquivo ordenado e quer construir um B primria densa + ndice de
rvore sobre este dossier.
1. Uma maneira de realizar essa tarefa digitalizar o arquivo, registro por registro, inserindo
cada um usando o procedimento de insero B + rvore. Quais os problemas de desempenho e
utilizao de armazenamento esto l com essa abordagem?
Esta abordagem susceptvel de ser muito caro, uma vez que cada entrada nos obriga a comear a partir
da raiz e v para a pgina folha apropriada.
Mesmo que as pginas no nvel do ndice so propensas a permanecer na rea de buffer entre os pedidos
sucessivos, a sobrecarga ainda considervel. Alm disso, de acordo com o algoritmo de insero, cada
vez que um n divide, as entradas de dados so redistribudas uniformemente para ambos os ns. Isto leva
a uma utilizao da pgina fixa de 50%
2. Explicar como o algoritmo de grandes quantidades de carga descrito no texto melhora a este
regime.
O algoritmo de carregamento a granel tem bom desempenho e utilizao de espao em comparao com a
abordagem repetida inseres. Desde a rvore B + produzido a partir de baixo para cima, o algoritmo de
carregamento em massa permite que o administrador pr-definir o valor que cada pgina de ndice e os
dados devem ser preenchidos. Isso permite que um bom desempenho para inseres futuras, e suporta
algumas utilizaes do espao desejado.
10.8 - Suponha que voc acabou de construir um ndice de rvore B + densa usando Alternativa (2)
em um arquivo heap contendo 20.000 registros. O campo de chave para este ndice B + rvore uma
seqncia de 40 bytes, e uma chave candidata. Ponteiros (ou seja, ids recordes e ids pgina) so
(no mximo) os valores de 10 bytes. O tamanho de uma pgina do disco de 1000 bytes. O ndice foi
construdo de uma forma de baixo para cima usando o algoritmo de grandes quantidades de carga, e
os ns em cada nvel foram preenchidos, tanto quanto possvel.
1. Quantos nveis que a rvore resultante?
2. Para cada nvel da rvore, como o nmero de ns est nesse nvel?
3. Como muitos nveis seria a rvore resultante tem se a compresso chave usada e que reduz o
tamanho mdio de cada chave de uma entrada de 10 bytes?
4. Quantos nveis seria a rvore resultante tem sem compresso chave, mas com todas as pginas
de 70 por cento completos?

10.9 - Os algoritmos para insero e excluso em uma rvore B + so apresentados como algoritmos
recursivos. No cdigo para inserir, por exemplo, feita uma chamada para o pai de um n N para
inserir em (a sub-rvore com raiz em) n N, e quando esta chamada retorna, o n atual o pai de N.
Assim, no mantm qualquer 'ponteiros pai' em ns de rvore B +. Tais indicaes no fazem parte da
estrutura da rvore B + por uma boa razo, que este exerccio demonstra. Uma abordagem

alternativa que utiliza ponteiros pai de novo, lembre-se que esses ponteiros no fazem parte da
estrutura de rvore B + padro -em cada n parece ser mais simples:
Pesquisar para a folha apropriada, utilizando o algoritmo de busca; em seguida, insira a entrada e
dividir, se necessrio, com divises propagadas para os pais, se necessrio (utilizando os ponteiros de
pai para encontrar os pais).
Considere isso (insatisfatrio) abordagem alternativa:
1. Suponha-se que um n N interno dividido em nodos N e N2. O que voc pode dizer sobre os
ponteiros de pai nos filhos do n original N?
Os ponteiros de pai em qualquer d ou d + 1 dos filhos do n original N no so vlidos mais: eles ainda
apontam para N, mas eles devem apontar para N2.
2. Propor duas maneiras de lidar com os ponteiros pai inconsistentes nos filhos de n N.
Uma soluo ajustar todos os ponteiros de pai nos filhos do n original N, que se tornaram filhos de N2.
Outra soluo deixar os ponteiros durante a operao de insero e adapt-las mais tarde, quando a
pgina realmente necessrio e lido na memria de qualquer maneira.
3. Para cada uma destas sugestes, identificar um potencial (maior) desvantagem.
A primeira soluo requer pelo menos d + 1 pgina adicional l (e algum tempo depois, pgina escreve) em
uma insero, o que resultaria em uma diminuio notvel. Na segunda soluo acima mencionada, uma
criana M, que tem um ponteiro-me para ser ajustada, atualizada se uma operao que realizada
realmente M l na memria (talvez em um caminho para baixo a partir da raiz para uma pgina de folha).
Mas esta soluo modifica M e, portanto, requer algum tempo depois a escrita de M, que pode no ter sido
necessrio se no houvesse ponteiros pai.
4. Que concluses voc pode desenhar com este exerccio?
Em concluso, para adicionar ponteiros pai para a estrutura de dados em rvore B + no um bom
modificao. Ponteiros pai causar atualizaes desnecessrias pgina e assim levar a uma diminuio no
desempenho.
10.10 - Considere o exemplo da relao Estudantes mostrado na Figura 10.12. Mostrar uma rvore B
+ de ordem 2 em cada um desses casos abaixo, assumindo que as duplicatas so tratadas usando
pginas de sobrecarga. Indique claramente que as entradas de dados so (ou seja, no use a
conveno k *).

1. rvore A B + de ndice da idade usando Alternativa (1) para as entradas de dados.

2. Uma densa B + ndice de rvore sobre GPA usando Alternativa (2) para as entradas de dados.
Para esta questo, assumir que estas tuplas so armazenadas em um arquivo ordenado na
ordem mostrada na Figura 10.12: A primeira tupla na pgina 1, slot 1; a segunda tupla est
em pgina 1, slot 2; e assim por diante. Cada pgina pode armazenar at trs registros de
dados. Voc pode usar? Page-id, slot? para identificar uma tupla.

10.11 - Suponha que as duplicatas so tratadas usando a abordagem sem pginas de sobrecarga
discutidos na Seo 10.7. Descreva um algoritmo para procurar mais esquerda ocorrncia de uma
entrada de dados com valor de chave de busca K.
A chave para compreender este problema observar que, quando os splits foliares por duplicatas inseridos, depois
das duas folhas resultantes, pode acontecer que a folha da esquerda contm os valores de chave de busca outro
menos do que o valor de chave de busca duplicado. Alm disso, pode acontecer que o elemento menos sobre a
folha direita poderia ser o valor duplicado. (Este cenrio poderia ocorrer, por exemplo, quando a maioria das
entradas de dados sobre a folha original eram para chaves de busca do valor duplicado.) O n de ndice pai
(assumindo que a rvore de, pelo menos, altura 2) ter uma entrada para o valor duplicado com um ponteiro
para a folha da direita.
Se esta folha continua a ser enchido com entradas tendo o mesmo valor de chave duplicada, que pode dividir
novamente causando outra entrada com o mesmo valor de chave para ser inserido no n pai. Assim, o mesmo
valor de chave pode aparecer muitas vezes nos ns de ndice bem. Embora a pesquisa de entradas com um dado
valor de chave, a pesquisa deve proceder, utilizando o mais esquerda das entradas em uma pgina de ndice de
tal modo que o valor de chave menor do que ou igual ao valor de chave determinada. Alm disso, ao chegar ao
nvel de folha, possvel que existam entradas com o valor da chave dada (chamemos-lhe k) na pgina esquerda
da pgina folha atual, a menos que alguma entrada com um valor de chave menor est presente nesta folha
pgina. Assim, temos de digitalizar para a esquerda usando os ponteiros vizinhos no nvel folha at encontrar uma
entrada com um valor de chave menos de k (ou vir para o incio das pginas de folha). Ento, temos que varrer a
frente ao longo do nvel de folha at encontrar uma entrada com um valor de chave maior que k.

Hash Captulo 11
11.1 - Considere o ndice Hashing Extensvel mostrado na Figura 11.1. Responda as seguintes
perguntas sobre este ndice:

1. O que voc pode dizer sobre a ltima entrada que foi inserido no ndice?
Pode ser qualquer uma das entradas de dados no ndice. Ns sempre podemos encontrar uma sequncia de
inseres e delees com um valor de chave particular, entre os valores de teclas apresentados no ndice
como a ltima insero. Por exemplo, considerar a introduo de dados 16 e a seguinte sequncia:
1 5 21 10 15 7 51 4 12 36 64 8 24 56 16 8D 56D 24D
A ltima insero a entrada de dados de 16 e ele tambm faz uma diviso. Mas a sequncia de
eliminaes seguintes essa insero causar uma mala que conduz estrutura do ndice mostrado na Figura
11.1.
2. O que voc pode dizer sobre a ltima entrada que foi inserido no ndice se voc sabe que no
houve supresses esse ndice at agora?
A ltima insero no poderia ter causado uma ciso porque o nmero total de entradas de dados na
baldes A e A2 6. Se a ltima entrada causou uma diviso do total teria sido 5
3. Suponha que voc disse que no houve supresses esse ndice at agora. O que voc pode
dizer sobre a ltima entrada, cuja insero no ndice causou uma diviso?
A ltima insero, que causou uma diviso no pode estar em balde C. Baldes B e C ou C e D poderia ter
feito uma possvel combinao imagem balde-split, mas o nmero total de entradas de dados nestas
combinaes 4 e a ausncia de eliminaes exige um montante de, pelo menos, 5 entradas de dados
para tais combinaes. Baldes B e D podem formar uma combinao possvel imagem de balde-split,
porque eles tm um total de 6 entradas de dados entre si. Ento, fazer um e A2. Mas, para o B e D para ser
dividir imagens a profundidade mundial partida deveria ter sido 1. Se a profundidade mundial de partida
2, ento a ltima insero causando uma separao seria em A ou A2.
4. Mostre o ndice depois de inserir uma entrada com o valor de hash 68.

5. Mostrar o ndice depois de inserir entradas com valores de hash de 17 e 69 para a rvore
original.

6. Mostre o ndice depois de eliminar a entrada com valor de hash 21 para a rvore original.
(Suponha que o algoritmo de eliminao completa usado.).

7. Mostrar o ndice depois de eliminar a entrada com valor de hash 10 para a rvore original.
uma fuso desencadeada por esta eliminao? Se no, explicar o porqu. (Suponha que o
algoritmo de eliminao completa usado.).
A supresso da entrada de dados 10, que a nica entrada de dados no balde C no aciona uma mala
porque balde C uma pgina principal e deixado como um local reservado.
Agora, elemento diretrio 010 e sua diviso de imagem 110 j apontam para o mesmo balde C. Ns no
podemos fazer mais uma mesclagem.

11.2 - Considere o ndice Linear Hashing mostrado na Figura 11.6. Suponha que ns dividimos sempre
que uma pgina de estouro criada. Responda as seguintes perguntas sobre este ndice:

1. O que voc pode dizer sobre a ltima entrada que foi inserido no ndice?

2. O que voc pode dizer sobre a ltima entrada que foi inserido no ndice se voc sabe que no
houve supresses esse ndice at agora?

3. Suponha que voc sabe que no houve supresses esse ndice at agora. O que voc pode dizer
sobre a ltima entrada, cuja insero no ndice causou uma diviso?

4. Mostre o ndice depois de inserir uma entrada com o valor de hash 4.

5. Mostrar o ndice depois de inserir uma entrada com o valor de hash 15 para a rvore original.

6. Mostre o ndice depois de apagar as entradas com valores de hash 36 e 44 para a rvore
original. (Suponha que o algoritmo de eliminao completa usado.).

7. Encontre uma lista de entradas, cuja insero no ndice original poderia levar a um balde com
duas pginas de sobrecarga. Use o mnimo de entradas quanto possvel para alcanar este
objetivo. Qual o nmero mximo de entradas que podem ser inseridos nesse balde antes que
ocorra uma separao reduz o comprimento dessa cadeia transbordamento?

11.3 - Responda as seguintes perguntas sobre Hashing Extensvel:


1. Explique por que a profundidade local e global detalhado necessria.
Hashing extensvel permite que o tamanho do diretrio para aumentar ou diminuir, dependendo do nmero
e variedade de inseres e excluses. Uma vez que as alteraes de tamanho de diretrio, a funo hash
aplicada pesquisa valor de chave tambm deve mudar. Assim, deve haver alguma informao no ndice
de qual a funo hash ser aplicado. Esta informao fornecida pela profundidade global.
Um aumento no tamanho do diretrio no causa a criao de novos baldes para cada nova entrada de
diretrio. Todas as novas entradas de diretrio, exceto uns buckets compartilhados com as entradas do
diretrio de idade. Sempre que um balde que est sendo compartilhado por dois ou mais entradas de
diretrio para ser dividido o tamanho do diretrio no precisa ser duplicada. Isso significa que para cada
balde precisamos saber se ele est sendo compartilhado por dois ou mais entradas de diretrio. Esta
informao fornecida pela profundidade local do balde. A mesma informao pode ser obtida por uma
varredura do diretrio, mas este mais caro.
2. Depois de uma insero que faz com que o tamanho do diretrio para o dobro, quantos baldes
ter exatamente um diretrio de entrada apontando para eles? Se uma entrada excludo de um
desses baldes, o que acontece com o tamanho do diretrio? Explique suas respostas
brevemente.
Exatamente duas entradas de diretrio tm apenas uma entrada de diretrio apontando para eles aps a
duplicao do tamanho do diretrio. Isto porque, quando o diretrio duplicado, um dos buckets deve ter
dividido causando uma entrada de diretrio para apontar para cada um destes dois novos buckets.
Se uma entrada excluda de um desses buckets, uma fuso pode ocorrer, mas isso depende do algoritmo
de eliminao. Se tentarmos mesclar dois buckets apenas quando um balde fica vazio, ento no
necessrio que a diminuio tamanho do diretrio aps a excluso que foi considerado na pergunta. No
entanto, se tentar mesclar dois buckets sempre que possvel faz-lo, em seguida, o tamanho do diretrio
diminui aps a eliminao.
3. Ser Hashing Extensvel garantia no mximo o acesso de um disco para recuperar um registro
com um determinado valor de chave?
No h garantia de "acesso em disco mnimo" fornecido por hashing extensvel. Se o diretrio no estiver
na memria que ele precisa ser obtido a partir do disco que pode exigir mais de um acesso ao disco,
dependendo do tamanho do diretrio. Em seguida, o bucket exigido tem de ser trazido para a memria.
Alm disso, se as alternativas 2 e 3 so seguidas para armazenar as entradas de dados no ndice, em
seguida, outro acesso ao disco possivelmente necessrio para buscar o registro de dados real.
4. Se a funo hash distribui entradas de dados sobre o espao dos nmeros de caamba de uma
forma muito inclinada (no uniforme), o que voc pode dizer sobre o tamanho do diretrio? O
que voc pode dizer sobre a utilizao do espao em pginas de dados (ou seja, pginas nodiretrio)?
Considere o ndice na figura 11.1. Vamos considerar uma lista de entradas de dados com os valores-chave
de busca da forma 2i onde i> k. Por uma escolha apropriada de k, podemos obter todos estes elementos
mapeados no balde A. Isso cria elementos 2k no diretrio que apontam para apenas K + 3 baldes
diferentes. Alm disso, notamos existem k baldes (pginas de dados), mas apenas um bucket usado.
Assim, a utilizao de pginas de dados = 1 / k.
5. A duplicao do diretrio exigem-nos a examinar todos os baldes com profundidade local, igual
profundidade global?
No. Como estamos usando hashing extensvel, apenas a profundidade local do bucket sendo necessidades
de diviso ser examinado.
6. Por que est a lidar com valores de chave duplicada no Extendible Hash mais difcil do que em
ISAM?
Hashing extensvel no suposto ter pginas de sobrecarga (pginas de sobrecarga devem ser tratadas
com o uso de redistribuio e splitting). Quando h muitas entradas duplicadas no ndice, pginas de
sobrecarga podem ser criadas, que nunca pode ser redistribudo (eles sempre so mapeados para o mesmo
bucket). Sempre que um "split" ocorre em um bucket que contm apenas as entradas duplicadas, um
bucket vazio ir ser criado uma vez que todos os duplicados permanecer no mesmo recipiente. As cadeias
de estouro nunca sero divididas, o que faz inseres e procura mais caro.
11.4 - Responda as seguintes perguntas sobre Linear Hashing:
1. Como Linear Hashing fornecer um custo mdio de pesquisa-caso de apenas um pouco mais do
que um disco I / O, uma vez que baldes de estouro fazem parte de sua estrutura de dados?

2. No Linear Hashing garantia no mximo o acesso de um disco para recuperar um registro com
um determinado valor de chave?

3. Se um ndice Linear Hashing usando Alternativa (1) para as entradas de dados contm registros
de N, com registros P por pgina e uma utilizao mdia de armazenamento de 80 por cento, o
que o custo de pior caso para uma pesquisa da igualdade? Em que condies seria esse custo
ser o custo de pesquisa real?
4. Se a funo hash distribui entradas de dados sobre o espao dos nmeros de caamba de uma
forma muito inclinada (no uniforme), o que voc pode dizer sobre a utilizao do espao em
pginas de dados?

11.5 - D um exemplo de quando voc usaria cada elemento (A ou B) para cada um dos seguintes "A
versus B 'pares:
1. Um ndice hash usando Alternativa (1) versus organizao de arquivos heap.
Exemplo 1: Considere uma situao em que a maioria das consultas so consultas de igualdade com base
no campo de chave de busca. Vale a pena construir um ndice hash sobre este campo, caso em que
podemos obter o registro exigido em um ou dois acessos ao disco. A organizao de arquivos heap pode
exigir uma verificao completa do arquivo para acessar um determinado registro.
Exemplo 2: Considere um arquivo no qual apenas varreduras seqenciais so feitas. Pode sair-se melhor se
for organizado como um arquivo de heap. Um ndice hash construda sobre ele pode exigir mais acessos de
disco porque a ocupao das pginas pode no ser 100%.
2. Hashing Extensvel contra Linear Hashing.
Exemplo 1: Considere um conjunto de entradas de dados com chaves de busca que levam a uma
distribuio desigual de valores de chave hash. Neste caso, hashing extensvel provoca divises de baldes
na caamba necessrio Considerando hashing linear vai sobre baldes de diviso de uma forma round-robin,
que intil. Aqui hashing extensvel tem uma melhor ocupao e cadeias de estouro mais curtos do que
hashing linear. Assim, busca a igualdade mais barato para extensvel hashing.
Exemplo 2: Considere um arquivo muito grande que precisa de um diretrio que abrange vrias pginas.
Neste caso extensvel hashing requer d + 1 acessos a disco para as selees de igualdade, onde d o
nmero de pginas do diretrio. Hashing linear mais barato.
3. Hashing esttico contra Hashing Linear.
Exemplo 1: Considere uma situao em que o nmero de registros no arquivo constante. Deixe que todos
os valores das chaves de busca ser da forma 2n + k para diferentes valores de n e alguns valores de k. As
funes hash tradicionais usados em hashing linear como tomar os ltimos detalhes d do chumbo chave de
busca a uma distribuio desigual dos principais valores hash. Isto leva a cadeias longas de
transbordamento. Um ndice de hashing esttica pode usar a funo hash definido como
h(

+ k) = n

Uma famlia de funes hash no pode ser construda com base nessa funo hash como k leva apenas
alguns valores. Neste caso melhor hash esttica.
Exemplo 2: Considere uma situao em que o nmero de registros no arquivo varia muito e o hash valores
fundamentais tm uma distribuio uniforme. Aqui hashing linear claramente melhor do que hashing
esttica que possa conduzir a correntes de estouro de longas aumentando consideravelmente o custo da
busca da igualdade.
4. Hashing esttico contra ISAM.
Exemplo 1: Considere uma situao em que o nmero de registros no arquivo selees de igualdade
constantes e somente so realizadas. Hashing esttico requer um ou dois acessos ao disco para chegar
entrada de dados. ISAM pode exigir mais do que um, dependendo da altura da rvore ISAM.
Exemplo 2: Considere uma situao em que os valores-chave de busca de entradas de dados podem ser
usados para construir um ndice de cluster ea maioria das consultas so consultas gama neste campo.
Ento ISAM definitivamente ganha sobre hashing esttica.
5. Hash Linear contra rvores B +.
Exemplo 1: Novamente considerar uma situao em que apenas so realizadas seleces de igualdade no
ndice. Hashing Linear melhor que B + rvore neste caso.

Exemplo 2: Quando um ndice que agrupado ea maioria das consultas so buscas de alcance, os ndices B
+ so melhores.

11.7 - Considere-se uma relao R (a, b, c, d), contendo 1 milho de registros, onde cada pgina da
relao detm 10 registros. R organizado como um arquivo de heap com ndices unclustered, e os
registros em R so ordenados aleatoriamente. Suponha que um atributo uma chave candidata para
R, com valores que se encontra na faixa de 0 a 999.999. Para cada uma das seguintes consultas, citar
a abordagem que seria mais provvel exigir o menor I / Os para processar a consulta. As abordagens
para considerar a seguir:

Digitalizao atravs de todo o arquivo de pilha para R.


Usando uma rvore B + ndice em atributo R.a
Usando um ndice hash em atributo R.a

Seja h a altura da rvore B + (geralmente 2 ou 3) e M o nmero de entradas de dados por pgina (M> 10).
Vamos supor que depois de acessar a entrada de dados preciso mais um acesso ao disco para obter o
registro real. Seja C o fator de ocupao em indexao hash.
Considere a tabela abaixo (acessos a disco):

As consultas so:
1. Encontre todas as tuplas de R.
A partir da primeira linha da tabela, vemos que a organizao de arquivos heap a melhor (tem os
menores acessos a disco).
2. Encontre todas as tuplas R tal que a <50.
A partir da segunda linha da tabela, com os valores tpicos para h e M, B + rvore tem o menor nmero de
acessos de disco.
3. Encontre todas as tuplas R tal que a = 50.
A partir da terceira linha da tabela, indexao hash a melhor.
4. Encontre todas as tuplas R tal que a> 50 e um <100.
A partir da quarta linha ou a tabela, vemos mais uma vez que B + Tree o melhor
http://pages.cs.wisc.edu/~dbbook/openAccess/thirdEdition/solutions/ans3ed-oddonly.pdf

También podría gustarte