Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FCC 2022

Banco de DadosSQL
Código
fc065419
Banca
FCC
Órgão
TRT - 22ª Região (PI)
Ano
2022
Cargo
Técnico Judiciário - Tecnologia da Informação
Considere que em um banco de dados SQL Server, aberto e funcionando em condições ideais, um Técnico está criando a tabela TRTFunc, utilizando a instrução abaixo.CREATE TABLE TRTFunc( NroMatricula INT IDENTITY PRIMARY KEY,NomeFunc varchar(255) NOT NULL,Salario DEC(10,2) CONSTRAINT ..I..);Para criar uma restrição, cujo nome seja valor_positivo, de forma que o campo Salario deva ser positivo e maior que zero, a lacuna I deve ser corretamente preenchida com
  1. Avalor_positivo IS (Salario > 0)
  2. BCHECK (Salario > 0) AS valor_positivo
  3. Cvalor_positivo CHECK (Salario > 0)
  4. DVALIDATE valor_positivo CHECK (Salario > 0)
  5. Evalor_positivo VALIDATE (Salario > 0)
Revelar gabarito e comentário

GabaritoC — valor_positivo CHECK (Salario > 0)

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”.

SQL Server: Criação de constraint CHECK

Gabarito: letra C. A sintaxe correta para criar uma constraint CHECK com nome explícito no SQL Server, dentro de um comando CREATE TABLE, é: CONSTRAINT nome CHECK (condição). No enunciado, a cláusula CONSTRAINT ..I.. já aparece, logo a lacuna I deve conter o nome da restrição e a definição CHECK. A alternativa C traz exatamente valor_positivo CHECK (Salario > 0), que é a forma esperada.

A banca cobra o conhecimento da sintaxe de constraints no SQL Server. A palavra-chave CONSTRAINT já está presente no comando, então o que falta é o nome da constraint e o tipo CHECK com a expressão.

Alternativa A — ❌ Incorreta

Usa IS como se fosse um operador lógico, mas não existe IS para definir uma constraint. A sintaxe valor_positivo IS (Salario > 0) é inválida.

Alternativa B — ❌ Incorreta

Emprega AS para nomear a constraint (CHECK (Salario > 0) AS valor_positivo). Não é a sintaxe correta para nomear constraints no SQL Server.

Alternativa C — ✅ Correta ⟵ GABARITO

Apresenta a sequência correta: nome da constraint seguido da cláusula CHECK com a condição entre parênteses: valor_positivo CHECK (Salario > 0). Isso está de acordo com a sintaxe padrão do SQL Server para constraints nomeadas.

Alternativa D — ❌ Incorreta

Introduz VALIDATE antes de CHECK. VALIDATE não faz parte da sintaxe de criação de constraints CHECK no SQL Server.

Alternativa E — ❌ Incorreta

Também usa VALIDATE, que é inválida. A ordem valor_positivo VALIDATE (Salario > 0) não é reconhecida pelo SQL Server.

Link permanente: /questoes/fc065419