Questão de Banco de Dados — Banco de Dados Relacionais — INSTITUTO AOCP 2025
Banco de Dados›Banco de Dados Relacionais
Código
qg540900
Banca
INSTITUTO AOCP
Órgão
MPE-RS
Ano
2025
Nível
Médio
Cargo
Técnico do Ministério Público - Informática
Em Sistemas de Gerenciamento de Banco de Dados (SGBDs) relacionais, as linguagens de definição, manipulação, controle e transação de dados desempenham papéis distintos. Nesse sentido, assinale a alternativa que apresenta três comandos de DDL (Data Definition Language).
ASELECT, INSERT e UPDATE.
BCREATE, ALTER e DROP.
CDELETE, TRUNCATE e HAVING.
DCOMMIT, ROLLBACK e SAVEPOINT.
EGRANT, REVOKE e BEGIN TRANSACTION.
Revelar gabarito e comentário▾
GabaritoB — CREATE, ALTER e DROP.
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”.
Sublinguagens SQL: DDL, DML, DCL e DTL
Gabarito: letra B. A DDL (Data Definition Language) é a sublinguagem da SQL responsável por definir e gerenciar a estrutura dos objetos do banco de dados (tabelas, índices, visões, etc.), e seus comandos clássicos são CREATE, ALTER e DROP (além de TRUNCATE e RENAME). As demais alternativas misturam comandos de outras sublinguagens, como DML, DCL e DTL.
A linguagem SQL é dividida em sublinguagens, cada uma com um papel específico. A DDL (Data Definition Language) — Linguagem de Definição de Dados — é usada para criar, alterar e remover a estrutura dos objetos do banco. É com ela que você define o esquema: cria uma tabela (CREATE TABLE), adiciona uma coluna (ALTER TABLE ... ADD), remove uma tabela inteira (DROP TABLE). Esses comandos não manipulam os dados em si, mas sim a estrutura que os armazena.
Já a DML (Data Manipulation Language) — Linguagem de Manipulação de Dados — é usada para inserir, consultar, atualizar e excluir os dados dentro das tabelas. Os comandos são INSERT, SELECT, UPDATE e DELETE. Note que o SELECT às vezes é tratado à parte, na DQL (Data Query Language), mas na maioria das provas ele é considerado DML.
A DCL (Data Control Language) — Linguagem de Controle de Dados — gerencia permissões e segurança, com os comandos GRANT e REVOKE. Por fim, a DTL (Data Transaction Language) — também chamada de TCL — controla transações, com comandos como COMMIT, ROLLBACK e SAVEPOINT.
A pegadinha desta questão é exatamente essa: misturar comandos de sublinguagens diferentes em uma mesma alternativa. O candidato que decora os comandos de cada grupo sem entender a função de cada um acaba se confundindo. A dica é sempre pensar: "este comando mexe na estrutura ou nos dados?" Se mexe na estrutura, é DDL; se mexe nos dados, é DML; se controla permissão, é DCL; se controla transação, é DTL.
Guarde essa classificação: é ela que separa as alternativas corretas das incorretas nesta questão.
Alternativa A — ❌ Incorreta
SELECT, INSERT e UPDATE são comandos de DML (Manipulação de Dados), não de DDL. Eles operam sobre os dados armazenados, não sobre a estrutura. O SELECT consulta, o INSERT insere e o UPDATE atualiza registros.
Alternativa B — ✅ Correta ⟵ GABARITO
CREATE, ALTER e DROP são os comandos clássicos da DDL. O CREATE cria objetos (tabelas, bancos, índices), o ALTER modifica a estrutura de objetos existentes (adicionar/remover colunas, alterar tipos) e o DROP remove objetos por completo. São exatamente os três comandos que definem a estrutura do banco.
Alternativa C — ❌ Incorreta
DELETE é um comando de DML (exclui dados de uma tabela), TRUNCATE é um comando de DDL (remove todos os dados de uma tabela, mas mantém a estrutura) e HAVING é uma cláusula usada em consultas SELECT para filtrar grupos, pertencente à DQL/DML. A mistura de sublinguagens torna a alternativa incorreta.
Alternativa D — ❌ Incorreta
COMMIT, ROLLBACK e SAVEPOINT são comandos de DTL/TCL (Linguagem de Transação de Dados). Eles gerenciam transações: o COMMIT confirma as alterações, o ROLLBACK desfaz e o SAVEPOINT define um ponto de restauração dentro da transação. Nenhum deles define estrutura, portanto não são DDL.
Alternativa E — ❌ Incorreta
GRANT e REVOKE são comandos de DCL (Controle de Dados), usados para conceder e revogar permissões de acesso. BEGIN TRANSACTION é um comando de DTL/TCL, que inicia uma transação. Novamente, nenhum deles é DDL.
A classificação correta das sublinguagens é o que resolve a questão. Memorize:
Sublinguagem
Função
Comandos
DDL
Definir estrutura
CREATE, ALTER, DROP, TRUNCATE, RENAME
DML
Manipular dados
INSERT, SELECT, UPDATE, DELETE
DCL
Controlar acesso
GRANT, REVOKE
DTL/TCL
Controlar transações
COMMIT, ROLLBACK, SAVEPOINT, BEGIN
PEGA ESSA DICA!
Na prova, ao ver um comando, pergunte-se: "ele mexe na estrutura ou nos dados?" Estrutura → DDL; dados → DML; permissão → DCL; transação → DTL. Essa pergunta resolve a maioria das questões sobre sublinguagens SQL.