Questão nº 92
Questão de Informática · CEBRASPE PF 2025 (nº 92)
CREATE TABLE catalogo ( id_tabela INT, nome_tabela VARCHAR(255), descricao TEXT, colunas TEXT, relacionamentos TEXT, regras_negocio TEXT, data_criacao DATE, data_ultima_atualizacao DATE ); INSERT INTO catalogo VALUES ( 1, 'vendas', 'Registros de vendas realizadas', 'id_venda INT, data_venda DATE, valor_venda DECIMAL, id_produto INT', 'id_produto REFERENCES produtos(id)', 'valor_venda > 0', '2023-01-01', '2023-10-05' ); SELECT * FROM catalogo WHERE nome_tabela = 'vendas';Com base nas informações do código precedente, julgue os próximos itens.
Pelo comando SELECT, entende-se que os valores da coluna valor_venda devem ser menores que zero.
Resposta comentada
O comando SELECT * FROM catalogo WHERE nome_tabela = 'vendas'; apenas busca (lê) a linha que contém "vendas" na coluna nome_tabela. Ele não executa nenhuma validação sobre os dados armazenados. A regra de negócio "valor_venda > 0" está apenas guardada como texto na coluna regras_negocio, mas o banco de dados não a interpreta como uma restrição real.
- Correta: Errado. O item afirma que "os valores da coluna valor_venda devem ser menores que zero", mas o código mostra exatamente o oposto: a regra gravada é
'valor_venda > 0'(maior que zero), e oSELECTapenas exibe essa informação, sem impor qualquer condição.
Como ficaria certo: "Pelo comando SELECT, entende-se que a regra de negócio registrada para a tabela 'vendas' é que valor_venda deve ser maior que zero."
Fonte: CEBRASPE PF 2025 Conhecimentos Comuns (Escrivão-Agente-Papiloscopista PF). Reproduzida para fins de estudo.