FC ConcursosFC Concursos

Questão FC514909

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

Linguagem SQL

CEBRASPE (CESPE) · 2025

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 o próximo item.

 

Pelo comando SELECT, entende-se que os valores da coluna valor_venda devem ser menores que zero.

Mostrar resposta e comentário

Gabarito

Errado

Comentário do professor

A afirmação é ERRADA porque o comando SELECT apenas recupera linhas da tabela catalogo onde nome_tabela = 'vendas'. Ele não impõe nem valida restrições sobre a coluna valor_venda.

No CREATE TABLE a tabela catalogo define colunas do tipo texto para metadados; os trechos como 'valor_venda DECIMAL' e 'valor_venda > 0' estão armazenados como texto na coluna regras_negocio, sem virar constraint real no SGBD.

Ou seja, a expressão textual 'valor_venda > 0' descreve uma regra desejada (valor maior que zero), não cria uma checagem. O SELECT não transforma nem aplica essa regra; apenas mostra o conteúdo documentado.

Portanto a conclusão de que os valores de valor_venda devem ser menores que zero é incorreta e contradiz o que está documentado (maior que zero) e o funcionamento do SQL.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo