Questão de Banco de Dados — Sublinguagens SQL (DDL, DML, DQL, DCL e DTL) — FCC 2024
- Código
- fc147214
- Banca
- FCC
- Órgão
- TRT 7
- Ano
- 2024
- Cargo
- AJ TRT7
- Acontrole de dados.
- Bdescrição de dados.
- Cmanipulação de dados.
- Dconsulta de dados.
- Edefinição de dados.
GabaritoE — definição de dados.
Gabarito: letra E. O comando DROP TABLE elimina a estrutura da tabela (um objeto do banco de dados), e comandos que definem, alteram ou removem objetos pertencem à DDL — Data Definition Language (Linguagem de Definição de Dados). É exatamente essa a categoria que a alternativa E nomeia.
A linguagem SQL (Structured Query Language) é o padrão para acesso e manipulação de bancos de dados relacionais. Ela é declarativa: o usuário informa o que deseja, não como o SGBD deve executar. Para organizar essa amplitude de funções, a SQL é dividida em sublinguagens, cada uma responsável por um tipo de operação. A divisão mais aceita na literatura e cobrada em concursos é em cinco grupos: DDL, DML, DQL, DCL e DTL (alguns autores agrupam o SELECT dentro da DML, outros criam a DQL separada — mas a essência da classificação é a mesma).
A DDL (Data Definition Language) é a sublinguagem que interage com os objetos do banco de dados — tabelas, índices, visões, esquemas, bancos de dados. Seus comandos principais são CREATE (criar), ALTER (modificar a estrutura) e DROP (eliminar o objeto por completo). O TRUNCATE também é classificado como DDL por alguns autores, embora atue sobre os dados — ele remove todas as linhas de uma tabela, mas preserva a estrutura. A DML (Data Manipulation Language), por sua vez, interage com os dados dentro das tabelas: INSERT, UPDATE, DELETE e, para muitos, o SELECT. A DQL (Data Query Language) é dedicada exclusivamente ao SELECT (consultas). A DCL (Data Control Language) controla permissões de acesso com GRANT e REVOKE. A DTL (Data Transaction Language) gerencia transações com BEGIN, COMMIT e ROLLBACK.
A pegadinha desta questão está em distinguir o que é objeto do que é dado. O comando DROP TABLE não apaga apenas os registros — ele apaga a própria definição da tabela, sua estrutura, seus metadados. Por isso, é um comando de definição de dados, não de manipulação. Um exemplo prático: se você executa DROP TABLE clientes;, a tabela inteira deixa de existir; se executa DELETE FROM clientes;, apenas as linhas são removidas, mas a tabela continua lá para receber novos registros. Essa diferença é o critério decisivo que separa a DDL da DML — e é exatamente nela que as alternativas se dividem.
A DCL (Data Control Language) controla os aspectos de autorização de dados e licenças de usuários, incluindo os comandos GRANT e REVOKE. O DROP TABLE não tem relação com controle de acesso, mas sim com a estrutura do banco.
"Descrição de dados" não é uma sublinguagem SQL reconhecida. O termo correto para a categoria que define a estrutura é Definição de Dados (DDL). A banca trocou o nome da sublinguagem para confundir o candidato.
A DML (Data Manipulation Language) manipula os dados dentro das tabelas, com comandos como INSERT, UPDATE e DELETE. O DROP TABLE elimina a estrutura da tabela, não apenas os dados — por isso não é manipulação de dados.
A DQL (Data Query Language) é a sublinguagem de consulta, dedicada ao comando SELECT. O DROP TABLE não realiza consulta alguma; ele remove um objeto do banco.
O DROP TABLE é um comando da DDL (Data Definition Language), a sublinguagem de definição de dados. Ela interage com os objetos do banco (tabelas, índices, visões), permitindo criá-los (CREATE), modificá-los (ALTER) e eliminá-los (DROP). Como o comando elimina a tabela por completo — estrutura e dados —, ele se enquadra perfeitamente na definição de dados.
Para acertar questões de classificação de comandos SQL, pergunte-se: o comando age sobre a estrutura (objeto) ou sobre os dados? Se for estrutura → DDL (CREATE, ALTER, DROP). Se for dados → DML (INSERT, UPDATE, DELETE) ou DQL (SELECT). Se for permissão → DCL (GRANT, REVOKE). Se for transação → DTL (BEGIN, COMMIT, ROLLBACK). Memorize essa tabela:
Sublinguagem | Função | Comandos principais |
|---|---|---|
DDL | Definir estrutura (objetos) | CREATE, ALTER, DROP, TRUNCATE |
DML | Manipular dados | INSERT, UPDATE, DELETE |
DQL | Consultar dados | SELECT |
DCL | Controlar acesso | GRANT, REVOKE |
DTL | Gerenciar transações | BEGIN, COMMIT, ROLLBACK |
Gabarito: letra E
Link permanente: /questoes/fc147214