Analise o script a seguir, no contexto do MS SQL Server. create table teste ( a smallint identity (100,1), ... ) Assinale a opção que indica o efeito decorrente da cláusula identity na coluna a.
- A)A coluna assume o tipo int.
Errada: IDENTITY não muda o tipo da coluna, que continua sendo smallint.
- B)A coluna é uma chave estrangeira.
Errada: identity não cria chave estrangeira; isso é feito com FOREIGN KEY.
- C)Os valores da coluna serão autonumerados.
Certa: a cláusula IDENTITY faz a coluna gerar valores automaticamente, com início em 100 e incremento de 1.
- D)A coluna será o único identificador (chave) da tabela
Errada: a coluna não vira chave por causa de IDENTITY; para isso seria preciso declarar PRIMARY KEY ou UNIQUE.
- E)Será criado um índice não clusterizado baseado nessa coluna.
Errada: IDENTITY não cria índice, muito menos define se ele será clusterizado ou não.
Gabarito: C
A cláusula IDENTITY no SQL Server serve para criar uma coluna com numeração automática. No script da questão, a coluna a foi definida como smallint identity(100,1), o que significa que o primeiro valor gerado será 100 e, a cada novo registro inserido, o banco vai somar 1 ao valor anterior. Ou seja, voce não precisa informar manualmente esse campo toda vez: o próprio sistema cuida da sequência. Isso é muito comum em colunas de identificação, como números de cadastro ou códigos internos. Mas atenção: IDENTITY não transforma a coluna em chave primária, não cria índice por si só e não altera o tipo da coluna. Ela apenas faz a geração automática dos valores, dentro do tipo já escolhido. Por isso, o gabarito está na letra C. A expressão identity(100,1) indica semente 100 e incremento 1, exatamente o padrão de autonumeração no SQL Server. Em termos doutrinários, trata-se de uma propriedade da coluna para geração de valores sequenciais, e não de uma restrição de integridade ou de indexação. Em prova, pense assim: IDENTITY ajuda o banco a dizer "eu preencho isso sozinho". O resto, como chave primária ou índice, depende de outras cláusulas e não vem embutido nessa palavrinha mágica.