Questão de Tecnologia da Informação #019f69c6
(Q92) 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';
Pelo comando SELECT, entende-se que os valores da coluna valor_venda devem ser menores que zero.
Certo
Errado
Explicação Oficial / Explicações da Comunidade
A questão proposta é do tipo "Certo ou Errado" (comum em concursos organizados pela banca Cebraspe/CESPE). O gabarito original indica Errado (representado pela letra E no formato original do exame, adaptado aqui para a alternativa B).
Análise Pedagógica:
-
O papel do comando
SELECT: O comandoSELECTem SQL é utilizado para projetar e consultar dados de uma ou mais tabelas. Ele não define restrições de valores por si só. -
Filtragem com a cláusula
WHERE: Para que uma consulta retorne apenas registros onde os valores da colunavalor_vendasejam menores que zero, seria necessária a inclusão de uma cláusula condicional de filtragem, especificamente:
sql
WHERE valor_venda < 0 -
Análise do Item: Dizer que "pelo comando SELECT, entende-se que os valores devem ser menores que zero" de forma genérica é incorreto. No contexto de questões de banco de dados, o comando apresentado na prova de origem possuía uma condição diferente (como
valor_venda > 0ou nenhuma restrição desse tipo), o que torna a afirmação da questão falsa.
Portanto, a afirmação está Errada.