Questão nº 46

Questão de Banco de Dados · FGV CGE-SC 2022 (nº 46)

FGV2022Auditor do Estado - Ciências da ComputaçãoBanco de Dados
Gabarito: Ever comentário ↓

Basicamente, um Sistema Gerenciador de Bancos de Dados (SGBD) pode ser considerado, de maneira abstrata, como um conjunto de registros ou arquivos, arquivos esses nos quais se armazenam a estrutura e os dados das tabelas.
Porém, procurar dados percorrendo todas as tabelas e arquivos não é eficiente. Desta forma, os SGBD implementam estruturas que organizam os registros de dados permitindo a recuperação de maneira eficiente, desde que sejam satisfeitas as condições de pesquisa. A essa estrutura dá-se o nome de índices.
Em relação a índices em um SGBD, assinale V para a afirmativa verdadeira e F para afirmativa falsa.
( ) Uma tabela que possua um número grande de índices e na qual as colunas da tabela estão fazendo parte de N índices, operações de INSERT, UPDATE, DELETE terão seu desempenho afetado devido ao fato de que todos os índices deverão ser ajustados.
( ) Em um banco de dados, todas as tabelas, independentemente do tamanho e da frequência com que são atualizadas, possuem pelo menos um índice NOCLUSTERED ou CLUSTERED a fim de tornar operações de SELECT eficientes.
( ) Índices que implementam estruturas de árvore B+ não são eficientes, uma vez que a tarefa de percorrer a estrutura da árvore está diretamente ligada à sua altura. Dessa forma, é sempre melhor opção o uso da estrutura árvore B, que utiliza o algoritmo de busca binária para percorrer a estrutura.
As afirmativas são, respectivamente,

Resposta comentada

Gabarito Alternativa E

Um índice em um banco de dados é como o índice remissivo de um livro: ele ajuda a encontrar informações rapidamente sem precisar ler o livro (tabela) inteiro. Ele armazena uma cópia ordenada de algumas colunas da tabela, junto com ponteiros para as linhas originais, acelerando as buscas.

  • (A) Incorreta: Esta alternativa agrupa as afirmativas como V, F e V, o que não corresponde ao gabarito.
  • (B) Incorreta: Esta alternativa agrupa as afirmativas como V, V e F, o que não corresponde ao gabarito.
  • (C) Incorreta: Esta alternativa agrupa as afirmativas como F, V e F, o que não corresponde ao gabarito.
  • (D) Incorreta: Esta alternativa agrupa as afirmativas como F, V e V, o que não corresponde ao gabarito.
  • (E) Correta:
    • (V) Uma tabela que possua um número grande de índices e na qual as colunas da tabela estão fazendo parte de N índices, operações de INSERT, UPDATE, DELETE terão seu desempenho afetado devido ao fato de que todos os índices deverão ser ajustados. Verdadeiro. Cada vez que os dados de uma tabela são modificados (inseridos, atualizados ou excluídos), todos os índices que dependem dessas colunas ou da própria linha precisam ser atualizados para manter sua consistência. Isso adiciona uma sobrecarga significativa às operações DML (Data Manipulation Language), impactando negativamente o desempenho.
    • (F) Em um banco de dados, todas as tabelas, independentemente do tamanho e da frequência com que são atualizadas, possuem pelo menos um índice NOCLUSTERED ou CLUSTERED a fim de tornar operações de SELECT eficientes. Falso. Embora índices sejam cruciais para a eficiência de SELECTs, não é uma regra que todas as tabelas devam ter pelo menos um índice. Tabelas muito pequenas podem não se beneficiar de índices, pois a varredura completa da tabela pode ser mais rápida do que a navegação pelo índice. Além disso, tabelas que são atualizadas com extrema frequência e raramente consultadas podem ter o custo de manutenção do índice superando o benefício da busca. A frase "independentemente do tamanho e da frequência" torna a afirmação absoluta e, portanto, falsa. (Armadilha da banca: A tentação é pensar que índices são sempre bons e necessários, mas a generalização excessiva ("todas as tabelas", "independentemente") é o erro aqui.)
    • (F) Índices que implementam estruturas de árvore B+ não são eficientes, uma vez que a tarefa de percorrer a estrutura da árvore está diretamente ligada à sua altura. Dessa forma, é sempre melhor opção o uso da estrutura árvore B, que utiliza o algoritmo de busca binária para percorrer a estrutura. Falso. Índices baseados em árvores B+ são extremamente eficientes e são a estrutura mais comum para índices em SGBDs. Embora a busca esteja ligada à altura da árvore, as árvores B+ são projetadas para serem "rasas" (baixa altura) e otimizadas para acesso a disco, minimizando as operações de I/O. A afirmação de que não são eficientes é incorreta. Além disso, as árvores B+ são geralmente consideradas mais eficientes que as árvores B para índices de banco de dados, especialmente para buscas por intervalo, porque todos os dados estão nos nós folha e esses nós são encadeados, permitindo varreduras sequenciais rápidas. A afirmação de que a árvore B é sempre a melhor opção é também incorreta.

Fonte: FGV CGE-SC 2022 Auditor do Estado - Ciências da Computação (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho