Questão de Banco de Dados — Sublinguagens SQL (DDL, DML, DQL, DCL e DTL) — FUNDATEC 2023
- Código
- qa537674
- Banca
- FUNDATEC
- Órgão
- IFC
- Ano
- 2023
- Cargo
- PEBTT ( )
- Acreate
- Bdelete
- Calter
- Ddrop
- Etruncate
GabaritoB — delete
Gabarito: letra B. O comando DELETE pertence à DML (Data Manipulation Language), que manipula os dados dentro das tabelas, e não à DDL (Data Definition Language), que define a estrutura dos objetos do banco. Os comandos da DDL são CREATE, ALTER, DROP e TRUNCATE — exatamente as outras quatro alternativas.
A linguagem SQL é dividida em sublinguagens, cada uma com uma função específica. A DDL (Data Definition Language) é a linguagem de definição de dados: ela interage com os objetos do banco (tabelas, índices, visões, bancos de dados), criando, alterando ou removendo suas estruturas. Já a DML (Data Manipulation Language) é a linguagem de manipulação de dados: ela interage com os dados contidos nessas estruturas, permitindo inserir, consultar, atualizar e excluir registros. Essa é a distinção fundamental que a questão explora.
Os comandos da DDL são:
CREATE: cria objetos (tabelas, bancos de dados, visões, índices).
ALTER: modifica a estrutura de objetos existentes (adicionar, excluir ou alterar colunas).
DROP: remove objetos por completo (tabela, banco de dados).
TRUNCATE: remove todos os dados de uma tabela, mas mantém a estrutura da tabela.
Os comandos da DML são:
INSERT: insere novos registros.
SELECT: consulta registros (alguns autores o classificam em um grupo próprio, a DQL).
UPDATE: atualiza registros existentes.
DELETE: exclui registros de uma tabela.
A pegadinha clássica da banca é confundir DELETE (DML) com TRUNCATE (DDL), pois ambos removem dados. A diferença crucial: DELETE remove linhas de uma tabela (manipulação de dados), enquanto TRUNCATE remove todos os dados de uma tabela, mas é classificado como DDL porque opera sobre a estrutura do objeto (a tabela em si).
Para fixar, veja a tabela comparativa:
Sublinguagem | Função | Comandos |
|---|---|---|
DDL | Define a estrutura dos objetos | CREATE, ALTER, DROP, TRUNCATE |
DML | Manipula os dados dentro das tabelas | INSERT, SELECT, UPDATE, DELETE |
DCL | Controla o acesso e permissões | GRANT, REVOKE |
DTL | Gerencia transações | BEGIN, COMMIT, ROLLBACK |
Guarde essa fronteira: DDL mexe na estrutura, DML mexe nos dados. É exatamente nela que as alternativas se dividem.
CREATE é um comando da DDL, pois cria objetos do banco (tabelas, bancos de dados, visões). Ele está corretamente classificado como DDL, portanto não é a resposta.
DELETE é um comando da DML (Data Manipulation Language), pois remove registros (dados) de uma tabela. Ele não faz parte da DDL, que trata da definição da estrutura dos objetos. Esta é a alternativa que a questão pede: a que NÃO pertence à DDL.
ALTER é um comando da DDL, pois modifica a estrutura de objetos existentes (adicionar, excluir ou alterar colunas de uma tabela). Ele está corretamente classificado como DDL, portanto não é a resposta.
DROP é um comando da DDL, pois remove objetos por completo (tabela, banco de dados). Ele está corretamente classificado como DDL, portanto não é a resposta.
TRUNCATE é um comando da DDL, pois remove todos os dados de uma tabela, mas mantém a estrutura da tabela. Ele está corretamente classificado como DDL, portanto não é a resposta.
A banca explora a confusão entre DELETE e TRUNCATE. Ambos removem dados, mas DELETE é DML (manipula dados) e TRUNCATE é DDL (opera sobre a estrutura). O candidato que decora sem entender a diferença entre "mexer nos dados" e "mexer na estrutura" cai na armadilha. Lembre-se: DDL define, DML manipula.
Para acertar questões de sublinguagens SQL, foque na função de cada grupo: DDL = estrutura, DML = dados, DCL = permissões, DTL = transações. Decore os comandos de cada grupo e, na dúvida, pergunte-se: "esse comando mexe na estrutura ou nos dados?".
Gabarito: letra B — DELETE é o único comando que não pertence à DDL, pois é da DML.
Link permanente: /questoes/qa537674