Gerenciadores de bancos de dados frequentemente empregam índ...

Próximas questões
Com base no mesmo assunto
Q873276 Banco de Dados
Gerenciadores de bancos de dados frequentemente empregam índices implementados na forma de árvores B. Nesse tipo de organização, considerando-se uma árvore na qual o número máximo de chaves numa página não folha é 19 (ou seja, d=20), o número máximo de acessos necessários para localizar uma chave, num universo de 10 milhões de chaves distintas, é:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a letra B, que afirma que o número máximo de acessos necessários para localizar uma chave em uma árvore B onde o número máximo de chaves numa página não folha é 19 (ou seja, d=20), num universo de 10 milhões de chaves distintas, é 7.

Para entender por que a resposta é essa, primeiro precisamos compreender o que são as árvores B. Árvores B são estruturas de dados usadas em bancos de dados para permitir busca, inserção e remoção eficientes de registros. Elas são desenhadas para funcionar bem em discos rígidos ou outros meios de armazenamento secundário, pois minimizam o número de acessos ao disco, que são operações custosas em termos de tempo.

Quando se fala que o número máximo de chaves numa página não folha é 19, estamos lidando com árvores B de ordem 20, isto é, cada nó interno (exceto a raiz) pode ter no mínimo 10 e no máximo 20 filhos. A altura de uma árvore B é determinada pela quantidade de níveis de nós desde a raiz até as folhas, e essa configuração da árvore impacta diretamente no número de acessos necessários para encontrar uma chave.

Para calcular o número máximo de acessos, utilizamos a propriedade de que uma árvore B é perfeitamente balanceada, o que significa que todas as folhas estão no mesmo nível. Assim, o número de chaves que podem ser armazenadas em uma árvore B é dado pela fórmula N = d^h - 1, onde N é o número total de chaves, d é a ordem da árvore, e h é a altura da árvore (número de níveis).

Para 10 milhões de chaves, precisamos encontrar um valor h tal que 20^h - 1 seja maior ou igual a 10 milhões. Resolvendo essa inequação, encontramos que h precisa ser 7 para acomodar todas as chaves. Isso significa que o número máximo de acessos ao disco para encontrar qualquer chave é igual à altura da árvore, ou seja, 7 acessos.

Portanto, a alternativa B é a correta porque reflete corretamente o número de acessos determinado pelo cálculo baseado na altura da árvore B, considerando a ordem e o número de chaves fornecidos pelo problema.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Esperando alguém comentar...

1ºNivel => 20 chaves

2ºNivel => 20x20 = 400 chaves

3ºNivel => 20x20x20 = 8.000 chaves

4ºNivel => 20x20x20 = 160.000 chaves

5ºNivel => 20x20x20x20 = 3.200.000 chaves

6ºNivel => 20x20x20x20x20 = 64.000.000 chaves

 

Qual a relação de SGBD com Árvore Binária em Estrutura de Dados?

Cada nó da árvore divide os registros em pelo menos 10 partes e no máximo em 19. Quando um registro não cabe mais no nó, os 19 itens + o novo são divididos entre 2 nós de 10 cada.

No pior caso, os nós contém 10 chaves.

Como isso se propaga nos níveis abaixo, cada um dividindo os dados remanescentes por 10, é só fazer o log10 de 10 milhões = 7

Pra não errar mais esse tipo de questão

D=20

chaves distintas = 10.000.000 . aqui vou chamar de N

N = 10.000.000

Fórmula = Log(D÷2)^N = x

  • Log(10)^10.000.000 = x
  • Pra quem não sabe calcular o Log
  • 10^x = 10.000.000
  • 10^7 = 10.000.000
  • logo número máximo de acesso = 7

Vamos fazer o restante das alternativas aproveitando a fórmula dada acima

A.

  • 10^4 = 10.000 ERRADO

B.

  • 10^7 = 10.000.000 CERTO

C.

  • 10^19 = 10.000.000.000.000.000 ERRADO

D.

  • 10^100 = 10000000000............. ERRADO

E.

  • 10^316 = 100000000000............ ERRADO

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo