Pular para o conteúdo principal

Questão de Banco de Dados — Sublinguagens SQL (DDL, DML, DQL, DCL e DTL) — VUNESP 2023

Banco de DadosSublinguagens SQL (DDL, DML, DQL, DCL e DTL)
Código
vu196018
Banca
VUNESP
Órgão
Pref SBO
Ano
2023
Cargo
Ana ( )
ALTER TABLE é um dos comandos universais para uso em bancos de dados. Esse comando está inserido na seguinte categoria de linguagens:
  1. AData Transition Language.
  2. BData Manipulation Language.
  3. CData Definition Language.
  4. DData Control Language.
  5. EData Query Language.
Revelar gabarito e comentário

GabaritoC — Data Definition Language.

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: classificação dos comandos

Gabarito: letra C. O comando ALTER TABLE pertence à DDL (Data Definition Language), a sublinguagem do SQL responsável por definir e modificar a estrutura dos objetos do banco de dados (tabelas, índices, visões, etc.). As demais alternativas apontam para outras sublinguagens, que tratam de manipulação de dados, controle de acesso, transações e consultas — nenhuma delas cuida da definição de estrutura.

A linguagem SQL (Structured Query Language) é dividida em sublinguagens, cada uma com uma função específica. Essa divisão é essencial para entender o papel de cada comando. A DDL é a sublinguagem que lida com a estrutura do banco: criar, alterar e excluir objetos como tabelas, índices e visões. Os comandos clássicos da DDL são CREATE, ALTER, DROP e TRUNCATE. O ALTER TABLE é usado para adicionar, modificar ou excluir colunas de uma tabela existente, ou ainda para adicionar/remover restrições — ou seja, ele altera a definição da tabela, não os dados contidos nela.

Para entender por que o ALTER TABLE não pertence às outras sublinguagens, é preciso distinguir o que cada uma faz:

  • DML (Data Manipulation Language): manipula os dados dentro das tabelas — inserir, consultar, atualizar e excluir registros. Comandos: INSERT, SELECT, UPDATE, DELETE.

  • DQL (Data Query Language): subconjunto da DML, dedicada exclusivamente a consultas — o comando SELECT.

  • DCL (Data Control Language): controla permissões de acesso e segurança — comandos GRANT e REVOKE.

  • DTL (Data Transaction Language) ou TCL: gerencia transações — comandos BEGIN, COMMIT, ROLLBACK, SAVEPOINT.

A pegadinha desta questão está em confundir a função do comando: o ALTER TABLE modifica a estrutura da tabela, não os dados. Quem pensa em "alterar" como "modificar dados" pode ser tentado a escolher a DML, mas a palavra-chave é estrutura. O UPDATE é o comando da DML que modifica dados; o ALTER é o comando da DDL que modifica a definição do objeto.

Um exemplo prático: se você quer adicionar uma coluna telefone à tabela clientes, usa ALTER TABLE clientes ADD telefone VARCHAR(15);. Isso não insere nem altera nenhum registro — apenas redefine a estrutura da tabela. Já para atualizar o telefone de um cliente específico, usaria UPDATE clientes SET telefone = '...' WHERE id = 1;. Essa distinção entre estrutura (DDL) e dados (DML) é o critério que separa as alternativas.

Guarde essa fronteira: DDL = estrutura dos objetos; DML = dados dentro dos objetos. É exatamente nela que as alternativas se dividem.

Alternativa A — ❌ Incorreta

Data Transition Language não é uma sublinguagem SQL reconhecida. O nome correto para a sublinguagem de transações é DTL (Data Transaction Language) ou TCL (Transaction Control Language), com comandos como BEGIN, COMMIT e ROLLBACK. O ALTER TABLE não tem relação com transações.

Alternativa B — ❌ Incorreta

Data Manipulation Language (DML) manipula os dados das tabelas, com comandos como INSERT, SELECT, UPDATE e DELETE. O ALTER TABLE não insere, consulta, atualiza ou exclui registros — ele altera a estrutura da tabela, o que é função da DDL.

Alternativa C — ✅ Correta ⟵ GABARITO

Data Definition Language (DDL) é a sublinguagem responsável por definir e modificar a estrutura dos objetos do banco de dados. O ALTER TABLE é um comando DDL, pois adiciona, modifica ou exclui colunas e restrições de uma tabela existente. Os comandos clássicos da DDL são CREATE, ALTER, DROP e TRUNCATE.

Alternativa D — ❌ Incorreta

Data Control Language (DCL) controla permissões de acesso e segurança do banco, com comandos GRANT e REVOKE. O ALTER TABLE não gerencia permissões de usuários, mas sim a estrutura das tabelas.

Alternativa E — ❌ Incorreta

Data Query Language (DQL) é a sublinguagem dedicada a consultas, essencialmente o comando SELECT. O ALTER TABLE não realiza consultas; ele modifica a definição da tabela, sendo um comando DDL.

NÃO CAIA NESSA!

A banca explora a confusão entre "alterar dados" e "alterar estrutura". O verbo "alterar" no comando ALTER TABLE refere-se à estrutura da tabela, não aos dados. Quem associa "alterar" a "modificar registros" cai na alternativa B (DML). Lembre-se: UPDATE modifica dados (DML); ALTER modifica estrutura (DDL).

PEGA ESSA DICA!

Para classificar comandos SQL, pergunte-se: "o que este comando afeta?" Se afeta a estrutura (tabela, índice, visão) → DDL. Se afeta os dados (registros) → DML. Se controla acesso → DCL. Se gerencia transações → DTL. Essa pergunta resolve a maioria das questões sobre sublinguagens.

Gabarito: letra C

Link permanente: /questoes/vu196018