Questão de Banco de Dados — Sublinguagens SQL (DDL, DML, DQL, DCL e DTL) — INSTITUTO AOCP 2024
Banco de Dados›Sublinguagens SQL (DDL, DML, DQL, DCL e DTL)
Código
qa630634
Banca
INSTITUTO AOCP
Órgão
MGI
Ano
2024
Cargo
Esp ( )
Sobre Linguagem de Definição de Dados (DDL) em Linguagem de consulta estruturada, informe se é verdadeiro (V) ou falso (F) o que se afirma a seguir e assinale a alternativa com a sequência correta.
( ) TRUNCATE é utilizado para remover rapidamente todos os registros de uma tabela.
( )UPDATE é utilizado para inserir novos registros em uma tabela.
( )GRANT permite especificar quais valores podem ser utilizados para preencher a coluna.
( ) ALTER é usado para modificar a estrutura de objetos de banco de dados existentes, como tabelas, índices, colunas e outros.
AV – F – V – F.
BF – F – F – F.
CF – V – F – V.
DF – V – V – F.
EV – F – F – V.
Revelar gabarito e comentário▾
GabaritoE — V – F – F – V.
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 E (V – F – F – V). A sequência correta é: TRUNCATE remove todos os registros de uma tabela (V); UPDATE atualiza registros existentes, não insere novos (F); GRANT concede privilégios de acesso, não define valores de coluna (F); ALTER modifica a estrutura de objetos existentes (V). A questão testa a classificação dos comandos SQL em suas sublinguagens — DDL, DML, DCL e DTL — e a função específica de cada comando.
A Linguagem de Consulta Estruturada (SQL) é dividida em sublinguagens, cada uma com responsabilidades distintas sobre o banco de dados. A DDL (Data Definition Language) — Linguagem de Definição de Dados — é o grupo que interage com a estrutura dos objetos do banco (tabelas, índices, visões, etc.), e não com os dados em si. Seus comandos principais são CREATE (criar objetos), ALTER (modificar a estrutura de objetos existentes), DROP (excluir objetos) e TRUNCATE (remover todos os registros de uma tabela, mantendo a estrutura). Já a DML (Data Manipulation Language) — Linguagem de Manipulação de Dados — é o grupo que interage com os dados dentro das tabelas, com os comandos INSERT (inserir novos registros), UPDATE (atualizar registros existentes), DELETE (excluir registros) e, em algumas classificações, o SELECT. A DCL (Data Control Language) — Linguagem de Controle de Dados — gerencia permissões e segurança, com os comandos GRANT (conceder privilégios) e REVOKE (revogar privilégios). A DTL (Data Transaction Language) — Linguagem de Transação de Dados — trata das transações, com comandos como BEGIN, COMMIT e ROLLBACK.
A pegadinha central desta questão é a troca de função entre comandos de sublinguagens diferentes. O candidato que decora apenas os nomes dos comandos, sem saber o que cada um faz, tende a confundir UPDATE com INSERT (ambos da DML, mas com funções opostas) e GRANT com uma ferramenta de definição de valores (quando, na verdade, ele é um comando de controle de acesso). A banca explora exatamente essa confusão entre "o que o comando faz" e "a qual sublinguagem pertence".
Para fixar, veja a distribuição dos comandos nas sublinguagens:
Sublinguagem
Função
Comandos principais
DDL
Define a estrutura dos objetos
CREATE, ALTER, DROP, TRUNCATE
DML
Manipula os dados das tabelas
INSERT, UPDATE, DELETE, SELECT (alguns autores)
DCL
Controla o acesso e permissões
GRANT, REVOKE
DTL
Gerencia transações
BEGIN, COMMIT, ROLLBACK
Guarde a fronteira entre estrutura (DDL) e dados (DML): é exatamente nela que as alternativas se dividem. TRUNCATE e ALTER são DDL (estrutura); UPDATE é DML (dados); GRANT é DCL (acesso).
Afirmativa 1 — ✅ Verdadeira
TRUNCATE é utilizado para remover rapidamente todos os registros de uma tabela. Correto. O comando TRUNCATE pertence à DDL e remove todos os registros de uma tabela de uma só vez, mantendo a estrutura da tabela (colunas, índices, etc.) para uso futuro. É uma operação rápida porque não registra cada linha excluída individualmente no log de transações, ao contrário do DELETE. A diferença prática: TRUNCATE é mais rápido, mas não permite a cláusula WHERE (remove tudo) e, em muitos bancos, não dispara gatilhos (triggers) de exclusão.
Afirmativa 2 — ❌ Falsa
UPDATE é utilizado para inserir novos registros em uma tabela. Falso. O comando UPDATE é da DML e serve para atualizar (modificar) registros já existentes em uma tabela. Para inserir novos registros, o comando correto é o INSERT INTO, também da DML. A banca troca a função de inserção pelo comando de atualização — uma pegadinha clássica de inversão de função entre comandos da mesma sublinguagem.
Afirmativa 3 — ❌ Falsa
GRANT permite especificar quais valores podem ser utilizados para preencher a coluna. Falso. O comando GRANT pertence à DCL (Data Control Language) e é usado para conceder privilégios de acesso a usuários ou funções sobre objetos do banco (como tabelas, visões), por exemplo: GRANT SELECT ON tabela TO usuario;. Ele não tem relação com a definição de valores permitidos para uma coluna — isso é feito por restrições de integridade (constraints), como CHECK, DEFAULT ou NOT NULL, definidas na DDL (CREATE/ALTER TABLE). A banca confunde o controle de acesso (DCL) com a definição de domínio de valores (DDL).
Afirmativa 4 — ✅ Verdadeira
ALTER é usado para modificar a estrutura de objetos de banco de dados existentes, como tabelas, índices, colunas e outros. Correto. O comando ALTER pertence à DDL e permite adicionar, modificar ou excluir colunas, restrições, índices e outras características estruturais de objetos existentes. Por exemplo: ALTER TABLE clientes ADD COLUMN telefone VARCHAR(20); adiciona uma nova coluna à tabela. Ele não mexe nos dados em si, mas na estrutura que os armazena.
NÃO CAIA NESSA!
A banca adora inverter as funções dos comandos SQL para confundir. Aqui, ela trocou INSERT por UPDATE (ambos DML, mas um insere e o outro atualiza) e atribuiu ao GRANT (DCL) uma função de definição de valores de coluna (que é papel das constraints na DDL). Ao estudar, foque em saber o que cada comando faz e a qual sublinguagem pertence — é isso que separa quem acerta de quem chuta.
PEGA ESSA DICA!
Para não errar, monte um mapa mental: DDL = estrutura (CREATE, ALTER, DROP, TRUNCATE), DML = dados (INSERT, UPDATE, DELETE, SELECT), DCL = acesso (GRANT, REVOKE), DTL = transações (BEGIN, COMMIT, ROLLBACK). Quando a questão perguntar a função de um comando, pergunte-se: "isso mexe na estrutura, nos dados ou nas permissões?" — a resposta te leva direto à sublinguagem certa.