Questão de Banco de Dados — SQL — Avança SP 2023
- Código
- qq830254
- Banca
- Avança SP
- Órgão
- Câmara Municipal de Taboão da Serra - SP
- Ano
- 2023
- Nível
- Superior
- Cargo
- Analista de Tecnologia da Informação
- ASELECT.
- BUPDATE.
- CDELETE.
- DDROP.
- EINSERT.
GabaritoD — DROP.
Gabarito: letra D. O comando DROP não é um comando DML (Data Manipulation Language), pois pertence à DDL (Data Definition Language), que define e gerencia a estrutura dos objetos do banco. Os comandos DML clássicos são SELECT, INSERT, UPDATE e DELETE — todos presentes nas alternativas A, B, C e E.
A linguagem SQL é dividida em sublinguagens conforme a função de cada comando. A DML (Data Manipulation Language) é responsável por manipular os dados dentro das tabelas: consultar, inserir, atualizar e excluir registros. Já a DDL (Data Definition Language) cuida da definição da estrutura — criar, alterar e excluir tabelas, índices, bancos de dados etc. Essa distinção é a chave da questão: enquanto DELETE remove linhas de uma tabela (manipulação de dados), DROP remove a própria tabela (definição de estrutura).
Vamos detalhar cada sublinguagem para fixar:
Sublinguagem | Função | Comandos principais |
|---|---|---|
DML | Manipular dados (registros) |
|
DDL | Definir/gerenciar estrutura |
|
DCL | Controlar acesso e permissões |
|
DTL | Gerenciar transações |
|
DQL | Consultar dados (alguns autores) |
|
Observe que o SELECT é classificado por alguns autores como parte da DML e por outros como parte de uma sublinguagem própria, a DQL (Data Query Language). Independentemente da classificação, ele não é um comando de definição de estrutura — por isso está correto nas alternativas.
A pegadinha da banca está em confundir DELETE com DROP. Ambos "apagam" algo, mas em níveis diferentes: DELETE apaga registros (dados), enquanto DROP apaga a tabela inteira (estrutura). Essa confusão é clássica em provas de SQL.
A banca troca a função de cada comando SQL: o candidato que não domina as sublinguagens pode confundir DELETE (DML, remove linhas) com DROP (DDL, remove a tabela). Lembre-se: DELETE é manipulação de dados; DROP é definição de estrutura.
O SELECT é um comando de consulta de dados, classificado como DML (ou DQL, conforme o autor). Ele recupera registros de uma ou mais tabelas, sendo a operação básica de leitura. Portanto, é um comando DML.
O UPDATE é um comando de atualização de dados, pertencente à DML. Ele modifica o valor de um ou mais registros existentes em uma tabela. Portanto, é um comando DML.
O DELETE é um comando de exclusão de dados, pertencente à DML. Ele remove um ou mais registros de uma tabela, mantendo a estrutura da tabela intacta. Portanto, é um comando DML.
O DROP é um comando de definição de estrutura, pertencente à DDL. Ele remove a tabela inteira, incluindo sua estrutura e todos os dados. Portanto, não é um comando DML — é a alternativa que a questão pede.
O INSERT é um comando de inserção de dados, pertencente à DML. Ele adiciona um ou mais novos registros a uma tabela. Portanto, é um comando DML.
Gabarito: letra D — o único comando que não é DML é o DROP, pois pertence à DDL.
Link permanente: /questoes/qq830254