Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FGV 2024

Banco de DadosSQL
Código
fg103674
Banca
FGV
Órgão
TCE-PA
Ano
2024
Nível
Superior
Ao projetar uma tabela para acompanhamento de processos, deseja-se evitar inconsistência temporal entre as etapas, permitindo que o sistema verifique se o valor a ser inserido em um campo preserve a cronologia das etapas.Nesse contexto, a cláusula SQL que implementa essa restrição é a
  1. ACHECK
  2. BFOREIGN KEY
  3. CNOT NULL
  4. DPRIMARY KEY
  5. EUNIQUE
Revelar gabarito e comentário

GabaritoA — CHECK

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

Restrições SQL: CHECK

Gabarito: letra A. A cláusula CHECK permite definir uma condição lógica que os valores inseridos em uma coluna devem satisfazer, sendo a única restrição que pode validar a cronologia entre etapas (ex.: garantir que a data de uma etapa posterior seja maior que a anterior). Nenhuma das outras cláusulas (FOREIGN KEY, NOT NULL, PRIMARY KEY, UNIQUE) oferece essa capacidade de validação arbitrária.

O enunciado descreve a necessidade de evitar inconsistência temporal, ou seja, verificar se o valor inserido em um campo preserva a ordem cronológica das etapas. Em SQL, essa verificação é implementada por meio da restrição CHECK, que pode conter expressões booleanas comparando colunas ou valores.

Alternativa A — ✅ Correta ⟵ GABARITO

A restrição CHECK é utilizada exatamente para impor condições personalizadas sobre os dados. No caso, pode-se escrever, por exemplo: CHECK (data_etapa_atual > data_etapa_anterior). O material de apoio define: "CHECK – Garante que os valores em uma coluna satisfaçam uma condição específica". É a solução direta para o problema de cronologia.

Alternativa B — ❌ Incorreta

FOREIGN KEY (chave estrangeira) é usada para garantir a integridade referencial entre tabelas, impedindo ações que destruam vínculos. Não tem relação com validação de valores dentro de uma mesma tabela nem com cronologia.

Alternativa C — ❌ Incorreta

NOT NULL apenas impede que valores nulos sejam armazenados em uma coluna. Não verifica condições lógicas ou ordem temporal.

Alternativa D — ❌ Incorreta

PRIMARY KEY é a combinação de NOT NULL e UNIQUE, identificando exclusivamente cada linha. Não impõe restrições de valor ou cronologia.

Alternativa E — ❌ Incorreta

UNIQUE garante que todos os valores em uma coluna (ou combinação de colunas) sejam distintos. Não é capaz de verificar condições como ordem temporal.

Gabarito: letra A

Link permanente: /questoes/fg103674