Os principais gerenciadores de bancos de dados permit...

Próximas questões
Com base no mesmo assunto
Q465298 Banco de Dados
Os principais gerenciadores de bancos de dados permitem a definição de índices baseados em árvores B (e suas variações) segundo dois arranjos principais:

· no primeiro arranjo, os registros da tabela indexada ficam fisicamente armazenados numa variação da estrutura de árvores B, juntamente com as chaves;
· no segundo arranjo, os registros e as chaves indexadas ficam em áreas separadas, como é feito com índices tabelas heap.

Sobre esses arranjos, assinale a afirmativa correta.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: D - O acesso a um registro da tabela a partir da chave primária é geralmente mais rápido no primeiro arranjo.

Para entender por que a alternativa D é a correta, precisamos falar sobre os dois arranjos de índices baseados em árvores B mencionados. No primeiro arranjo, conhecido como Índice Clusterizado ou Índice Primário, os registros são armazenados fisicamente na estrutura de árvore B, na mesma sequência das chaves. Isso significa que a chave de busca e os dados estão no mesmo local, o que torna a recuperação de dados muito mais rápida quando se utiliza a chave primária.

Por outro lado, o segundo arranjo corresponde ao Índice Não Clusterizado ou Índice Secundário, onde as chaves indexadas apontam para registros em uma área separada. Isso significa que, após encontrar a chave, o sistema ainda precisa acessar outra parte do disco para recuperar o registro completo, o que adiciona um passo extra ao processo de recuperação, tornando-o, em geral, mais lento se comparado com o primeiro arranjo.

Portanto, a Alternativa D está correta porque quando um banco de dados usa índices clusterizados, como no primeiro arranjo, o acesso aos registros é otimizado para operações que utilizam a chave primária, já que as chaves e os registros correspondentes estão armazenados juntos, minimizando a necessidade de movimentações adicionais do disco para encontrar os dados desejados.

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

Arranjo 1 = Clustered Index = Normalmente usam chave primária, salvam os dados em uma árvore-B ORDENADA

Arranjo 2 = Non-Clustered Index = Usam uma tabela HEAP que é uma estrutura que salva os dados de forma desordenada, os índices são salvos na heap que é uma estrutura separada da tabela.

Sabendo disso, o índice clustered por usar uma árvore-B ordenada normalmente é mais eficiente que o non-clustered, afinal com os dados ordenados é possível fazer uma consulta em árvore de complexidade O(log(n).

Na Heap, como os dados não estão ordenados, na média a consulta tem complexidade igual a de uma lista O(n).

A heap não é uma estrutura boa para buscas no geral, serve para inserir elementos e remover o menor ou maior elemento. (Min/Max Heap).

Por que é eficiente para buscar o primeiro e último elemento? Porque na MAX/MIN heap o menor ou maior elemento está SEMPRE na raiz.

Enfim, vale a pena ler sobre o funcionamento das estruturas da Heap e B-tree para se aprofundar no assunto de índices e entender a razão das coisas.

a) Só pode ter um único índice clustered por tabela

b) Não existe tal restrição

c) Heap vs B-tree até onde eu sei não vai interferir no espaço de armazenamento

d) Clustered Index usa a PK, por usar B-tree ordenada é mais rápido a busca (CERTA)

e) Clustered Index usando B-tree é feito justamente para o acesso de dados ordenados.

Clique para visualizar este comentário

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