Analise o script a seguir, no contexto do MS SQL Server. create table teste ( a smallint identity (100,1), ... ) Assinale o efeito decorrente da cláusula identity na coluna a.
- A)A coluna assume o tipo int.
Errada, porque IDENTITY não altera o tipo da coluna; ela continua SMALLINT.
- B)A coluna é uma chave estrangeira.
Errada, porque chave estrangeira é definida por FOREIGN KEY, não por IDENTITY.
- C)Os valores da coluna serão autonumerados.
Certa, porque IDENTITY faz a coluna receber valores autonumerados automaticamente.
- D)A coluna será o único identificador (chave) da tabela.
Errada, porque ser identificador único depende de PRIMARY KEY ou UNIQUE, e não de IDENTITY.
- E)Será criado um índice não clusterizado baseado nessa coluna.
Errada, porque IDENTITY não cria índice; índice é definido por outra cláusula ou comando.
Gabarito: C
No SQL Server, a cláusula IDENTITY serve para gerar valores automáticos em uma coluna numérica, seguindo uma semente e um incremento definidos pelo usuário. No enunciado, IDENTITY (100,1) significa que o primeiro valor será 100 e, a partir daí, cada novo registro recebe 101, 102, 103 e assim por diante. É como um contador interno da tabela: você insere a linha e o banco completa esse campo sozinho. Esse recurso é muito usado para chaves substitutas, mas atenção: ele não transforma a coluna em chave primária, não cria índice automaticamente e não muda o tipo da coluna. A própria sintaxe mostra que a coluna já é SMALLINT; o IDENTITY só acrescenta a característica de autonumeração. Por isso, a alternativa correta é a C. O efeito da cláusula IDENTITY na coluna a é justamente fazer com que os valores sejam gerados automaticamente pelo mecanismo do banco. Essa é a leitura clássica cobrada em prova quando a banca quer ver se você confunde autonumeração com chave, índice ou tipo de dado. Em termos de doutrina prática de SQL Server, IDENTITY indica apenas propriedade de geração automática, e não uma restrição de integridade como PRIMARY KEY ou FOREIGN KEY. Então, sem drama: aqui o banco faz a conta sozinho.