Questão de Banco de Dados — Métodos de acesso — Quadrix 2025
- Código
- qg594747
- Banca
- Quadrix
- Órgão
- CFBio
- Ano
- 2025
- Nível
- Superior
- Cargo
- Analista de Sistemas
- CCerto
- EErrado
GabaritoE — Errado
Gabarito: ERRADO (letra E). A afirmação está incorreta porque os índices B-tree são, na verdade, altamente adequados tanto para consultas de igualdade quanto para consultas de intervalo — essa é uma de suas principais vantagens. A estrutura balanceada da árvore permite localizar rapidamente um valor exato (igualdade) e percorrer de forma eficiente uma faixa de valores (intervalo), como ocorre com cláusulas BETWEEN, > ou <.
Os índices B-tree (ou B+-tree, sua variação mais comum em SGBDs) são estruturas de acesso auxiliares que organizam os valores da chave de pesquisa em uma árvore balanceada, mantendo os dados ordenados. Essa ordenação é o que viabiliza o acesso eficiente por igualdade: a busca desce pela árvore comparando o valor procurado com os valores dos nós, reduzindo drasticamente o número de acessos a disco em comparação com uma varredura sequencial. Para consultas de intervalo, a vantagem é ainda mais evidente: uma vez encontrado o primeiro valor do intervalo, os demais valores consecutivos estão fisicamente próximos nas folhas da árvore, permitindo uma leitura sequencial eficiente.
A confusão que a banca explora aqui é com os índices hash. Os índices hash são excelentes para consultas de igualdade (acesso direto por função de espalhamento), mas não suportam consultas de intervalo, pois a função hash espalha os valores de forma não ordenada. Já a B-tree, por manter a ordem, atende perfeitamente aos dois tipos de consulta. Essa distinção é clássica em provas de banco de dados e costuma ser cobrada de forma invertida, como nesta questão.
Na prática, quando um SGBD relacional precisa otimizar uma consulta com WHERE coluna = valor ou WHERE coluna BETWEEN valor1 AND valor2, o otimizador frequentemente escolhe um índice B-tree se ele existir sobre a coluna. Por exemplo, em uma tabela de pedidos com um índice B-tree sobre a coluna data_pedido, uma consulta que busca pedidos entre duas datas fará um range scan no índice, lendo apenas as folhas correspondentes ao intervalo, em vez de varrer a tabela inteira.
Portanto, a afirmação de que os índices B-tree são inadequados para igualdade e intervalo é exatamente o oposto da realidade. A banca inverteu a característica dos índices hash (que são inadequados para intervalo) e a atribuiu à B-tree. Guarde essa fronteira: B-tree = igualdade + intervalo; hash = igualdade apenas.
A alternativa afirma que os índices B-tree são inadequados para consultas de igualdade e intervalo. Isso é falso. Conforme explicado, a B-tree é a estrutura mais versátil para esses dois tipos de consulta, justamente por manter os dados ordenados. O índice que não atende bem a consultas de intervalo é o hash, pois a função de espalhamento não preserva a ordem dos valores. A banca trocou as características: atribuiu à B-tree uma limitação que pertence ao hash.
A alternativa correta é a que nega a afirmação do enunciado, ou seja, a letra E (Errado). Os índices B-tree são adequados para consultas de igualdade e intervalo. Essa é uma propriedade fundamental dessas estruturas, amplamente utilizadas em SGBDs relacionais para acelerar buscas por valor exato e por faixas de valores.
Para não errar mais, lembre-se do par: B-tree atende igualdade e intervalo; hash atende apenas igualdade. Quando a questão falar em consulta de intervalo, desconfie de qualquer alternativa que diga que a B-tree é inadequada — é a pegadinha clássica de inverter as propriedades.
Gabarito: letra E
Link permanente: /questoes/qg594747