Acerca do SQL Server, julgue o item subsequente.O comando Tr...

Próximas questões
Com base no mesmo assunto
Ano: 2008 Banca: CESPE / CEBRASPE Órgão: INPE
Q1226007 Banco de Dados

Acerca do SQL Server, julgue o item subsequente.

O comando Transact-SQL chamado CREATE INDEX é usado para criar índices em uma tabela. Ao se executar esse comando, UNIQUE informa não ser possível que duas linhas tenham o mesmo valor de índice. Quando há um índice UNIQUE definido, os comandos UPDATE e INSERT, que gerariam linhas com valores de índice duplicados, passam a ser revertidos (rollback). O dono de uma tabela pode criar índices apenas quando essa tabela não tiver dados armazenados.

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Vamos analisar a questão sobre o comando Transact-SQL CREATE INDEX no SQL Server e entender por que a alternativa correta é a indicada.

Alternativa correta: E (errado)

O comando Transact-SQL CREATE INDEX é realmente utilizado para criar índices em uma tabela no SQL Server. Um índice pode melhorar significativamente o desempenho das consultas ao banco de dados, permitindo acesso mais rápido aos dados.

Vamos analisar em detalhes cada trecho da afirmação dada na questão para entender o motivo pelo qual ela está incorreta:

1. "Ao se executar esse comando, UNIQUE informa não ser possível que duas linhas tenham o mesmo valor de índice."

Correto. Quando um índice é criado com a palavra-chave UNIQUE, ele garante que todos os valores no índice sejam distintos. Isso significa que não é permitido valor duplicado no campo que está sendo indexado.

2. "Quando há um índice UNIQUE definido, os comandos UPDATE e INSERT, que gerariam linhas com valores de índice duplicados, passam a ser revertidos (rollback).

Correto. Se uma operação INSERT ou UPDATE tentar inserir um valor duplicado em uma coluna que possui um índice UNIQUE, essa operação falhará e será revertida, garantindo a integridade dos dados.

3. "O dono de uma tabela pode criar índices apenas quando essa tabela não tiver dados armazenados."

Incorreto. Este é o ponto chave que torna a questão errada. No SQL Server, é possível criar índices em tabelas que já possuem dados armazenados. Não há necessidade de a tabela estar vazia. A criação de índices em tabelas com dados pode levar mais tempo devido à necessidade de reorganizar e ordenar os dados existentes, mas é totalmente viável e comum no uso prático.

Portanto, a indicação de que índices só podem ser criados em tabelas vazias está equivocada, tornando a assertiva incorreta no contexto do SQL Server.

Recapitulando:

A questão está errada porque, embora corretamente mencione o uso de índices UNIQUE e o comportamento dos comandos UPDATE e INSERT com relação a esses índices, ela incorretamente afirma que índices só podem ser criados em tabelas sem dados, o que não é verdadeiro no SQL Server.

Espero que essa explicação tenha ajudado a esclarecer por que a alternativa correta é a indicada. Se houver mais dúvidas ou precisar de mais informações, estou à disposição!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo