Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FGV 2025

Banco de DadosSQL
Código
fg121548
Banca
FGV
Órgão
TCE-PE
Ano
2025
Nível
Superior
Cargo
Auditor de Controle Externo – Tecnologia da Informação
Considere o script SQL a seguir, desenvolvido para o controle de estoque de uma loja. • (Comando 1) Criação de tabela de produtos CREATE TABLE Produto ( id_produto INT PRIMARY KEY, nome VARCHAR(120) NOT NULL, preco NUMERIC(10,2) NOT NULL, quantidade INT NOT NULL ); • (Comando 2) Inserção de dado inicial INSERT INTO Produto (id_produto, nome, preco, quantidade) VALUES (1, 'Mouse Óptico', 49.90, 100); • (Comando 3) View para produtos sem estoque CREATE VIEW vw_produtos_em_falta AS SELECT id_produto, nome FROM Produto WHERE quantidade = 0; • (Comando 4) Procedure para atualizar preço CREATE PROCEDURE atualizar_preco(p_id INT, p_preco NUMERIC(10,2)) BEGIN UPDATE Produto SET preco = p_preco WHERE id_produto = p_id; END; • (Comando 5) Trigger para log de mudanças de preço CREATE TRIGGER trg_log_preco AFTER UPDATE OF preco ON Produto FOR EACH ROW BEGIN INSERT INTO LogAlteracoes(id_produto, campo, valor_antigo, valor_novo, dt_evento) VALUES (OLD.id_produto, 'preco', OLD.preco, NEW.preco, CURRENT_TIMESTAMP); END; • (Comando 6) Atualização de quantidade UPDATE Produto SET quantidade = quantidade - 1 WHERE id_produto = 1; • (Comando 7) Remoção de produtos sem estoque DELETE FROM Produto WHERE quantidade = 0; • (Comando 8) Concessão de permissão de leitura GRANT SELECT ON Produto TO analista; • (Comando 9) Alteração de esquema da tabela ALTER TABLE Produto ADD COLUMN ativo BOOLEAN DEFAULT TRUE; • (Comando 10) Revogação de permissão de inserção REVOKE INSERT ON Produto FROM analista; As instruções do tipo DML são executadas nos comandos:
  1. A1 – 3 – 4.
  2. B2 – 6 – 7.
  3. C2 – 8 – 10.
  4. D3 – 5 – 9.
  5. E1 – 7 – 10.
Revelar gabarito e comentário

GabaritoB — 2 – 6 – 7.

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”.

Comandos DML em SQL

Gabarito: letra B. Os comandos 2 (INSERT), 6 (UPDATE) e 7 (DELETE) são instruções de manipulação de dados (DML). CREATE TABLE, CREATE VIEW, CREATE PROCEDURE, CREATE TRIGGER e ALTER TABLE são DDL; GRANT e REVOKE são DCL.

A questão exige distinguir as subcategorias da linguagem SQL:

Categoria

Comandos

Exemplos na questão

DDL (Data Definition Language)

CREATE, ALTER, DROP

1, 3, 4, 5, 9

DML (Data Manipulation Language)

INSERT, UPDATE, DELETE, SELECT

2, 6, 7

DCL (Data Control Language)

GRANT, REVOKE

8, 10

Alternativa A — ❌ Incorreta

Inclui os comandos 1 (CREATE TABLE - DDL) e 3 (CREATE VIEW - DDL), que não são DML.

Alternativa B — ✅ Correta ⟵ GABARITO

Os comandos 2 (INSERT), 6 (UPDATE) e 7 (DELETE) são todos de manipulação de dados. A ordem não importa.

Alternativa C — ❌ Incorreta

Inclui os comandos 8 (GRANT - DCL) e 10 (REVOKE - DCL), que não são DML.

Alternativa D — ❌ Incorreta

Inclui 3 (CREATE VIEW - DDL), 5 (CREATE TRIGGER - DDL) e 9 (ALTER TABLE - DDL). Nenhum é DML.

Alternativa E — ❌ Incorreta

Inclui 1 (CREATE TABLE - DDL) e 10 (REVOKE - DCL). Apenas 7 (DELETE) é DML.

PEGA ESSA DICA!

Memorize a classificação: DDL estrutura o banco; DML manipula dados; DCL controla acesso. Em provas de SQL, essa distinção é recorrente.

Gabarito: letra B.

Link permanente: /questoes/fg121548