Pular para o conteúdo principal

Questão de Banco de Dados — SQL Server — VUNESP 2025

Banco de DadosSQL Server
Código
vu222886
Banca
VUNESP
Órgão
TJM SP
Ano
2025
Cargo
Ana BDJ ( )
O sistema gerenciador de banco de dados MS SQL Server 2019 utiliza alguns tipos de indexação, sendo, especificamente, um desses tipos:
  1. Asegment
  2. Brecovery
  3. Cjoin
  4. Dvirtual
  5. Eárvores B
Revelar gabarito e comentário

GabaritoE — árvores B

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Indexação no SQL Server: árvores B

Gabarito: letra E. O SQL Server 2019 utiliza, como um dos principais tipos de indexação, as árvores B (B-trees), que são estruturas de dados balanceadas usadas para organizar e acelerar a busca de registros em índices. As demais alternativas (segment, recovery, join, virtual) não são tipos de indexação, mas sim conceitos de outras áreas ou termos genéricos.

A indexação é um dos mecanismos mais importantes para otimizar o desempenho de consultas em bancos de dados relacionais. Quando uma tabela possui um índice, o SGBD pode localizar rapidamente as linhas que atendem a uma condição, em vez de percorrer toda a tabela (operação conhecida como table scan). No SQL Server, a estrutura de dados padrão para índices é a árvore B, que é uma árvore balanceada onde cada nó (página) pode ter múltiplos filhos. Essa estrutura permite que as operações de busca, inserção e remoção sejam realizadas em tempo logarítmico, garantindo eficiência mesmo em tabelas com milhões de registros.

A árvore B é chamada de "balanceada" porque todas as folhas estão no mesmo nível, ou seja, o caminho da raiz até qualquer folha tem o mesmo comprimento. Isso garante que o número de acessos a disco para encontrar um registro seja previsível e mínimo. No SQL Server, os índices podem ser clustered (agrupados), onde a ordem física dos dados na tabela é a mesma do índice, ou nonclustered (não agrupados), onde o índice é uma estrutura separada que aponta para as linhas da tabela. Ambos os tipos utilizam árvores B como estrutura subjacente.

É importante distinguir a árvore B de outras estruturas de dados, como a árvore B+ (B-plus), que é uma variação onde os dados são armazenados apenas nas folhas, e as folhas são ligadas entre si para permitir varreduras sequenciais eficientes. O SQL Server, na verdade, utiliza árvores B+ para seus índices, mas a terminologia comum e a cobrança em provas se referem a "árvores B" de forma genérica. A pegadinha da questão está em reconhecer que apenas "árvores B" é um tipo de indexação, enquanto os outros termos pertencem a outros contextos.

1Estrutura: árvores B (B+)
Balanceada
Folhas no mesmo nível
Busca em tempo logarítmico
2Tipos de índice
Clustered (ordem física = índice)
Nonclustered (estrutura separada)
3Distratores (não são indexação)
Segment (armazenamento)
Recovery (recuperação)
Join (operação SQL)
Virtual (termo genérico)
Indexação no SQL Server
LEVELsoulevel.com.br
Indexação no SQL Server: Estrutura: árvores B (B+) (Balanceada, Folhas no mesmo nível, Busca em tempo logarítmico); Tipos de índice (Clustered (ordem física = índice), Nonclustered (estrutura separada)); Distratores (não são indexação) (Segment (armazenamento), Recovery (recuperação), Join (operação SQL), Virtual (termo genérico))

Alternativa A — ❌ Incorreta

Segment não é um tipo de indexação. No contexto de bancos de dados, "segment" pode se referir a uma partição lógica de um tablespace (no Oracle) ou a um conceito de armazenamento físico, mas não é uma estrutura de indexação utilizada pelo SQL Server. A banca insere esse termo para confundir o candidato que conhece a palavra em outros contextos.

Alternativa B — ❌ Incorreta

Recovery refere-se ao processo de recuperação de um banco de dados após uma falha, envolvendo o log de transações e os conceitos de rollback e redo. Não é um tipo de indexação. A confusão aqui é entre o mecanismo de recuperação (parte do SGBD) e a estrutura de indexação.

Alternativa C — ❌ Incorreta

Join é uma operação da linguagem SQL que combina registros de duas ou mais tabelas com base em uma condição de relacionamento. É um comando de consulta, não uma estrutura de indexação. A banca explora a confusão entre operações de consulta e estruturas de armazenamento.

Alternativa D — ❌ Incorreta

Virtual é um termo genérico que pode se referir a tabelas virtuais (views) ou a memória virtual, mas não é um tipo de indexação. No SQL Server, existem índices virtuais? Não, os índices são estruturas físicas ou lógicas, mas não são chamados de "virtuais". A alternativa é um distrator sem relação com o tema.

Alternativa E — ✅ Correta ⟵ GABARITO

Árvores B são estruturas de dados balanceadas, auto-organizáveis, que armazenam dados classificados e permitem pesquisas, inserções e remoções eficientes. No SQL Server, os índices (clustered e nonclustered) são implementados como árvores B, sendo essa a estrutura fundamental para acelerar consultas. O material de apoio confirma: "Árvores B são muito usadas na implementação de índices em bancos de dados. Elas são estruturas de dados em árvore, auto balanceada, que armazena dados classificados e permite pesquisas, acesso sequencial, inserções e remoções no banco de dados."

NÃO CAIA NESSA!

A banca mistura termos de áreas diferentes do banco de dados (recuperação, consulta, armazenamento) para testar se o candidato sabe que a indexação no SQL Server é baseada em árvores B. O candidato que confunde "join" (operação SQL) com estrutura de indexação cai na alternativa C. Lembre-se: indexação é sobre organização física/lógica dos dados para busca rápida, não sobre operações de consulta.

PEGA ESSA DICA!

Para questões sobre indexação, foque em estruturas de dados como árvores B, B+, hash e bitmap. No SQL Server, a resposta quase sempre será "árvores B". Memorize que índices clustered e nonclustered usam essa estrutura.

Gabarito: letra E

Link permanente: /questoes/vu222886