Pular para o conteúdo principal

Questão de Banco de Dados — SQL — CESPE / CEBRASPE 2025

Banco de DadosSQL
Código
ce223984
Banca
CESPE / CEBRASPE
Órgão
Polícia Federal
Ano
2025
Nível
Superior
Imagem da questão
Com base nas informações do código precedente, julgue o próximo item.Pelo comando SELECT, entende-se que os valores da coluna valor_venda devem ser menores que zero.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

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: Comando SELECT e a cláusula WHERE

Gabarito: Errado. A afirmação está incorreta porque a regra de negócio definida na tabela catalogo para a coluna valor_venda é valor_venda > 0, ou seja, os valores devem ser maiores que zero, e não menores. O comando SELECT * FROM catalogo WHERE nome_tabela = 'vendas' apenas recupera os registros da tabela catalogo cujo nome da tabela seja 'vendas', sem qualquer relação com a validação de valor_venda.

O comando SELECT é a instrução fundamental da linguagem SQL para recuperar dados de um banco de dados. Sua sintaxe básica é SELECT colunas FROM tabela WHERE condição. A cláusula WHERE é usada para filtrar as linhas que serão retornadas, aplicando uma condição lógica sobre as colunas. No código apresentado, a condição é nome_tabela = 'vendas', o que significa que apenas as linhas da tabela catalogo onde a coluna nome_tabela tem o valor 'vendas' serão retornadas.

A confusão da questão reside na interpretação da regra de negócio. No INSERT INTO Catalogo, a coluna regras_negocio recebe o valor 'valor_venda>0'. Isso estabelece uma restrição de integridade que determina que o valor da coluna valor_venda deve ser positivo (maior que zero). Essa regra é uma especificação de negócio, não uma condição de consulta. O comando SELECT não valida nem aplica essa regra; ele apenas consulta os dados conforme a condição do WHERE.

Na prática, se um registro fosse inserido com valor_venda negativo, ele violaria a regra de negócio, mas o SELECT ainda o retornaria se a condição nome_tabela = 'vendas' fosse atendida. A regra de negócio é uma diretriz para a aplicação, não um filtro automático do banco de dados. Portanto, a afirmação de que "os valores da coluna valor_venda devem ser menores que zero" é exatamente o oposto do que a regra estabelece.

A pegadinha da banca está em inverter o sinal da regra de negócio. O candidato pode ler rapidamente valor_venda>0 e, por associação com a palavra "venda" (que pode sugerir saída de dinheiro), interpretar erroneamente que o valor deve ser negativo. No entanto, a regra é clara: valor_venda deve ser maior que zero. Além disso, é importante destacar que o comando SELECT não tem relação com a validação dessa regra; ele apenas recupera os dados conforme a condição do WHERE.

Item — ❌ Errado

A afirmação está errada porque a regra de negócio valor_venda>0 determina que os valores da coluna valor_venda devem ser maiores que zero, e não menores. O comando SELECT * FROM catalogo WHERE nome_tabela='vendas' apenas recupera os registros da tabela catalogo onde o nome da tabela é 'vendas', sem qualquer relação com a validação de valor_venda. A banca inverteu o sinal da regra, transformando > em <, o que torna a afirmação falsa.

Gabarito: Errado

Link permanente: /questoes/ce223984