Questão de Banco de Dados — SQL Server — VUNESP 2023
- Código
- vu197126
- Banca
- VUNESP
- Órgão
- Pref SBO
- Ano
- 2023
- Cargo
- Ana ( )

- ACategoria.
- BIdCategoria.
- CDataCriacao.
- DPK_Categoria.
- EPrimary.

GabaritoB — IdCategoria.
Gabarito: letra B. No SQL Server, o incremento automático de uma coluna é definido pela propriedade IDENTITY, aplicada a uma coluna numérica (tipicamente a chave primária). No código de criação da tabela, a coluna IdCategoria é a que recebe essa propriedade, sendo incrementada automaticamente a cada inserção — é exatamente o que a alternativa B afirma. As demais alternativas apontam para outros elementos da definição da tabela (colunas comuns, nome da constraint, palavra-chave), que não possuem incremento automático.
A propriedade IDENTITY é um recurso específico do SQL Server (e de outros SGBDs, como o MySQL com AUTO_INCREMENT) que gera valores sequenciais automaticamente para uma coluna. Ela é aplicada na definição da coluna, geralmente junto com a restrição PRIMARY KEY, e garante que cada nova linha receba um valor único e crescente, sem que o usuário precise informá-lo no comando INSERT. Essa é uma das formas mais comuns de implementar chaves primárias sintéticas (surrogate keys) em bancos relacionais.
No comando CREATE TABLE, a sintaxe típica é: IdCategoria INT IDENTITY(1,1) PRIMARY KEY. O primeiro parâmetro (1) indica o valor inicial, e o segundo (1) indica o incremento a cada inserção. Assim, a primeira linha recebe 1, a segunda 2, e assim por diante. É importante notar que a propriedade IDENTITY não é uma restrição (constraint) como PRIMARY KEY ou UNIQUE — é uma propriedade da coluna que define seu comportamento de geração de valores.
A banca explora aqui a confusão entre os elementos da definição da tabela: o nome da coluna, o tipo de dado, a restrição de chave primária e o nome da constraint. O candidato que não conhece a sintaxe do IDENTITY pode se perder entre as alternativas, especialmente porque PK_Categoria parece um nome de constraint e Primary parece uma palavra-chave. A chave para acertar é reconhecer que o incremento automático é uma característica da coluna em si, não da constraint nem do nome da tabela.
Guarde o critério decisivo: a coluna com autoincremento é aquela que possui a propriedade IDENTITY na sua definição — é nela que a banca vai apontar a alternativa correta.
Categoria é uma coluna comum da tabela, provavelmente do tipo texto (VARCHAR/NVARCHAR), que armazena o nome da categoria. Colunas de texto não podem receber a propriedade IDENTITY, pois ela exige um tipo numérico. Portanto, não há incremento automático nesse campo.
IdCategoria é a coluna que recebe a propriedade IDENTITY, sendo incrementada automaticamente a cada inserção. É o campo que identifica unicamente cada registro, funcionando como chave primária sintética. A sintaxe típica seria IdCategoria INT IDENTITY(1,1) PRIMARY KEY, onde o primeiro 1 é o valor inicial e o segundo é o incremento.
DataCriacao é uma coluna do tipo data/hora que armazena a data de criação do registro. Embora possa ter um valor padrão (DEFAULT GETDATE()), ela não é incrementada automaticamente — o incremento é uma característica exclusiva de colunas numéricas com IDENTITY. A data é definida pelo sistema ou pelo usuário, mas não segue uma sequência numérica.
PK_Categoria é o nome da constraint PRIMARY KEY, que define a chave primária da tabela. Uma constraint é uma regra de integridade, não uma coluna — portanto, não pode ser incrementada. A confusão aqui é pensar que o nome da constraint indica uma coluna, mas na verdade ele apenas nomeia a restrição que garante a unicidade e não-nulidade da chave.
Primary é a palavra-chave usada na definição da restrição PRIMARY KEY, não uma coluna da tabela. Ela indica que a coluna (ou conjunto de colunas) seguinte é a chave primária. Como é apenas um termo da sintaxe SQL, não possui incremento automático. A pegadinha está em confundir a palavra-chave com um campo real da tabela.
A banca mistura elementos da definição da tabela — colunas reais (Categoria, DataCriacao), nome de constraint (PK_Categoria) e palavra-chave (Primary) — para confundir quem não sabe que o autoincremento é uma propriedade da coluna (IDENTITY), não da constraint nem da sintaxe. O candidato que decora a sintaxe sem entender o conceito pode marcar PK_Categoria por parecer um nome de campo. Com treino, você reconhece que o incremento automático está sempre ligado à coluna numérica que recebe a propriedade IDENTITY 💪.
Para identificar a coluna de autoincremento em uma questão de CREATE TABLE, procure pela palavra-chave IDENTITY (SQL Server) ou AUTO_INCREMENT (MySQL) na definição da coluna. Ela sempre acompanha uma coluna numérica, geralmente a chave primária. Se a questão não mostrar a sintaxe completa, lembre-se: o autoincremento é uma propriedade da coluna, não da constraint.
Gabarito: letra B
Link permanente: /questoes/vu197126