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.