Árvores - GBD

14
Árvores – Capítulo 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 inserção de dados de entrada com chave 9 a esta árvore A entrada de dados com a tecla 9 é inserido na segunda página da folha: 2. Mostre a árvore + B que irá resultar a partir da inserção de uma entrada de dados com a chave 3 na árvore original. Quantas páginas de leitura e escrita a página de inserção exige? A entrada de dados com chave 3 vai para a primeira página folha F. Desde F pode acomodar, no máximo, quatro entradas de dados (D = 2), F divide. A entrada da nova folha de dados menor é dada até o ancestral, que também se divide. Note-se como a chave do meio 18 é empurrado até o nó raiz. A inserção exigirá 5 páginas de escrita, 4 páginas de leitura e alocação de 2 novas páginas. 3. Mostrar a árvore B+ que resultaria se excluir a entrada de dados com chave 8 da árvore original, assumindo que o irmão deixou está marcada para uma possível redistribuição. A entrada de dados com chave 8 é excluído, resultando em uma página de N foliar com menos de duas entradas de dados. O irmão deixou L está marcada para redistribuição. Uma vez que L tem mais do que duas entradas de dados, as teclas restantes são redistribuídos entre L e N, resultando no seguinte árvore:

description

Árvores - Gerenciamento BD

Transcript of Árvores - GBD

rvores Captulo 1010.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 rvoreA 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 1111.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 24DA 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 no-diretrio)?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 comoh ( + k) = nUma 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.aSeja 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 e um