Pular para o conteúdo principal

Questão de Banco de Dados — Sublinguagens SQL (DDL, DML, DQL, DCL e DTL) — INSTITUTO AOCP 2024

Banco de DadosSublinguagens 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.


  1. AV – F – V – F.
  2. BF – F – F – F.
  3. CF – V – F – V.
  4. DF – V – V – F.
  5. 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.

Gabarito: letra E (V – F – F – V).

Link permanente: /questoes/qa630634