Os bancos de dados, em sua organização física, basei...

Próximas questões
Com base no mesmo assunto
Q465302 Algoritmos e Estrutura de Dados
Os bancos de dados, em sua organização física, baseiam-se em árvores B-trees (e suas variantes) para a implementação de índices. Analise as comparações a seguir entre B-trees e índices baseados em funções de hashing.

I. B-trees são mais rápidas na localização de um registro a partir de uma chave.

II. B-trees permitem busca com operadores de comparação “>” e “<”.

III. B-trees permitem busca a partir de uma substring à esquerda da chave.

IV. A partir de um certo ponto, o número máximo de acessos necessários para a localização de uma chave em uma B-tree não aumenta com o número total de chaves indexadas, o que tende a torná-la mais rápida em bancos de dados muito grandes.

Assinale a opção que indica o número de comparações corretas.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Vamos analisar a questão e entender as comparações feitas a respeito das árvores B (B-trees) e os índices baseados em funções de hashing.

Alternativa correta: C - Duas comparações corretas

Primeiro, vamos revisar cada afirmação:

I. B-trees são mais rápidas na localização de um registro a partir de uma chave.

Essa afirmação não é correta. Na verdade, índices baseados em hashing são geralmente mais rápidos para localizar um registro específico a partir de uma chave devido ao acesso direto proporcionado pela função de hash, enquanto as B-trees são mais eficientes em operações que exigem ordenação e comparação de intervalos.

II. B-trees permitem busca com operadores de comparação “>” e “<”.

Esta afirmação é correta. As B-trees mantêm suas chaves em ordem, permitindo buscas eficientes com operadores de comparação como “>” e “<”. Isso é uma vantagem significativa das B-trees em relação aos índices de hash, que não suportam facilmente esse tipo de operação.

III. B-trees permitem busca a partir de uma substring à esquerda da chave.

Essa afirmação também é correta. As B-trees são adequadas para buscas que envolvem substrings à esquerda, aproveitando a ordenação das chaves. Por exemplo, se estamos buscando chaves que começam com certas letras, as B-trees podem ser muito eficientes.

IV. A partir de um certo ponto, o número máximo de acessos necessários para a localização de uma chave em uma B-tree não aumenta com o número total de chaves indexadas, o que tende a torná-la mais rápida em bancos de dados muito grandes.

Esta afirmação é incorreta. Na verdade, o número de acessos em uma B-tree cresce logaritmicamente com o número de chaves. Isto significa que, embora a busca seja eficiente, o número de acessos ainda aumenta com o aumento do número de chaves, ao contrário do que a afirmação sugere.

Portanto, as comparações corretas são a II e a III, o que torna a alternativa C a resposta correta.

Espero que esta explicação tenha esclarecido suas dúvidas sobre a questão. Se precisar de mais alguma coisa, estarei por aqui para ajudar!

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

Uma árvore B é uma estrutura de dados projetada para funcionar especialmente em memória secundária como um disco magnético ou outros dispositivos de armazenamento secundário. Dentre suas propriedades ela permite a inserção, remoção e busca de chaves numa complexidade de tempo logarítmica e, por esse motivo, é muito empregada em aplicações que necessitam manipular grandes quantidades de informação tais como um banco de dados ou um sistema de arquivos. 

Se analisarmos as árvores B, elas são uma generalização das árvores binária de busca, pois cada nó de uma árvore binária armazena uma única chave de busca, enquanto as árvores B armazenam um número maior do que um de chaves de busca em cada nó, ou no termo mais usual para essa árvore, em cada página. Como a idéia principal das árvores B é trabalhar com dispositivos de memória secundária, quanto menos acessos a disco a estrutura de dados proporcionar, melhor será o desempenho do sistema na operação de busca sobre os dados manipulados.


c-

In computer science, a B-tree is a self-balancing tree data structure that maintains sorted data and allows searches, sequential access, insertions, and deletions in logarithmic time. The B-tree generalizes the binary search tree, allowing for nodes with more than two children. Unlike other self-balancing binary search trees, the B-tree is well suited for storage systems that read and write relatively large blocks of data, such as disks. It is commonly used in databases and file systems.

https://en.wikipedia.org/wiki/B-tree

B-trees favorecem consultas que buscam chaves num determinado intervalo (operadores >= e <=). Tambem são usualmente mais lentos para buscas pela chave (operador =).

I. B-trees são mais rápidas na localização de um registro a partir de uma chave. (correto)

II. B-trees permitem busca com operadores de comparação “>” e “<”. (correto, mesmo que a questão esteja meio certo, não significa que esteja errado. Pois, comparamos com <= e >=).

III. B-trees permitem busca a partir de uma substring à esquerda da chave.(Errado, a busca começa pela raiz e imerge para os nós a esquerda)

IV. A partir de um certo ponto, o número máximo de acessos necessários para a localização de uma chave em uma B-tree não aumenta com o número total de chaves indexadas, o que tende a torná-la mais rápida em bancos de dados muito grandes. (Errado, pois de acordo com o tamanho da árvore poderemos ter mais ou menos acessos necessários para chegar a chave de busca.)

Clique para visualizar este comentário

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