Questão de Banco de Dados — SQL — FGV 2024
- Código
- fg103674
- Banca
- FGV
- Órgão
- TCE-PA
- Ano
- 2024
- Nível
- Superior
- ACHECK
- BFOREIGN KEY
- CNOT NULL
- DPRIMARY KEY
- EUNIQUE
GabaritoA — 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.
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.
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.
NOT NULL apenas impede que valores nulos sejam armazenados em uma coluna. Não verifica condições lógicas ou ordem temporal.
PRIMARY KEY é a combinação de NOT NULL e UNIQUE, identificando exclusivamente cada linha. Não impõe restrições de valor ou cronologia.
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