Analista Legislativo (Tecnologia da Informação - Banco de Dados)
Um DBA está planejando a indexação de uma tabela de clientes no MS SQL Server. Ele decide criar um índice Clustered na coluna CPF e um índice Non-Clustered na coluna EMAIL.Assinale a opção que descreve o impacto do índice Clustered na organização física dos dados.
AO índice Clustered armazena a chave de indexação e um ponteiro para a localização dos dados, mas não altera a ordem física das tuplas na página de dados.
BEm tabelas com índice Clustered, as tuplas de dados são armazenadas fisicamente em disco na ordem definida pela chave do índice, e a árvore Clustered é o próprio dado.
CO índice Clustered só pode ser criado em colunas de baixa cardinalidade como booleanos.
DO MS SQL Server permite criar múltiplos índices Clustered em uma única tabela para diferentes colunas em disco.
EO índice Clustered é o único tipo de índice que utiliza a estrutura de B+ Tree.
Revelar gabarito e comentário▾
GabaritoB — Em tabelas com índice Clustered, as tuplas de dados são armazenadas fisicamente em disco na ordem definida pela chave do índice, e a árvore Clustered é o próprio dado.
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”.
Índice Clustered no SQL Server
Gabarito: letra B. O índice clustered reorganiza fisicamente os dados da tabela em disco na ordem da chave do índice, e as folhas da estrutura de árvore B+ contêm as próprias linhas de dados — ou seja, a árvore é o dado. Esse é o conceito fundamental que diferencia um índice clustered de um non-clustered.
A banca testa o conhecimento sobre a estrutura física dos índices no SQL Server. Vamos analisar cada alternativa:
Alternativa A — ❌ Incorreta
Afirma que o índice clustered armazena um ponteiro para os dados e não altera a ordem física das tuplas. Isso é falso: o índice clustered reordena fisicamente as páginas de dados conforme a chave do índice. Em um índice clustered, as folhas da árvore são os próprios dados, não ponteiros.
Alternativa B — ✅ Correta ⟵ GABARITO
Descreve exatamente a característica central: "as tuplas de dados são armazenadas fisicamente em disco na ordem definida pela chave do índice, e a árvore Clustered é o próprio dado." No SQL Server, cada tabela pode ter apenas um índice clustered (a menos que seja uma heap), e ele define a ordem de armazenamento.
Alternativa C — ❌ Incorreta
Afirma que o índice clustered só pode ser criado em colunas de baixa cardinalidade. Não há essa restrição. Embora seja comum criar em colunas únicas (como CPF), o SQL Server permite criar em qualquer coluna, inclusive com muitos valores distintos. A cardinalidade alta é até desejável para evitar page splits frequentes.
Alternativa D — ❌ Incorreta
Diz que o SQL Server permite múltiplos índices clustered em uma única tabela. Isso é falso: uma tabela pode ter apenas um índice clustered, pois os dados só podem ser fisicamente ordenados de uma única forma. É possível ter vários índices non-clustered, mas clustered é um por tabela.
Alternativa E — ❌ Incorreta
Afirma que o índice clustered é o único tipo que usa estrutura de B+ Tree. Tanto índices clustered quanto non-clustered no SQL Server utilizam B+ Tree. A diferença está no nível folha: no clustered, as folhas contêm as linhas de dados; no non-clustered, as folhas contêm ponteiros (ou a chave clustered) para os dados.
PEGA ESSA DICA!
Para fixar, lembre-se: Clustered = dados ordenados fisicamente + folhas são os dados; Non-clustered = estrutura separada com ponteiros. O SQL Server exige que tabelas com chave primária tenham um índice clustered por padrão, mas isso pode ser alterado.