Questão de Banco de Dados — SQL — Avança SP 2025
- Código
- qg415725
- Banca
- Avança SP
- Órgão
- Prefeitura de Caconde - SP
- Ano
- 2025
- Nível
- Médio
- Cargo
- Técnico em Informática
- ACREATE
- BALTER
- CDROP
- DINSERT
- EGRANT
GabaritoD — INSERT
Gabarito: letra D. O comando INSERT pertence à categoria DML (Data Manipulation Language), pois é utilizado para inserir (incluir) dados em uma tabela. As demais alternativas pertencem a outras sublinguagens: CREATE, ALTER e DROP são comandos DDL (Data Definition Language), e GRANT é um comando DCL (Data Control Language).
A linguagem SQL (Structured Query Language) é dividida em sublinguagens, cada uma com uma função específica. A DML é responsável pela manipulação dos dados em si — ou seja, pelas operações de consulta, inclusão, alteração e exclusão de registros. Os comandos clássicos da DML são SELECT, INSERT, UPDATE e DELETE. É importante notar que alguns autores separam o SELECT em uma sublinguagem própria, a DQL (Data Query Language), mas a grande maioria das provas considera o SELECT como parte da DML.
A DDL (Data Definition Language), por sua vez, lida com a definição da estrutura do banco de dados — criação, alteração e exclusão de tabelas, índices e outros objetos. Seus comandos são CREATE, ALTER, DROP e TRUNCATE. Já a DCL (Data Control Language) controla as permissões de acesso, com os comandos GRANT, REVOKE e DENY. Por fim, a DTL (Data Transaction Language) gerencia transações, com COMMIT, ROLLBACK, SAVEPOINT e BEGIN/START TRANSACTION.
A pegadinha desta questão é justamente misturar comandos de sublinguagens diferentes. O candidato que decora os comandos sem entender a função de cada sublinguagem pode confundir CREATE (DDL) com DML, ou GRANT (DCL) com DML. A chave é lembrar que DML mexe com os dados (registros), enquanto DDL mexe com a estrutura (objetos) e DCL mexe com permissões.
Para fixar, veja a distribuição dos comandos:
Sublinguagem | Função | Comandos |
|---|---|---|
DML | Manipular dados (registros) | SELECT, INSERT, UPDATE, DELETE |
DDL | Definir estrutura (objetos) | CREATE, ALTER, DROP, TRUNCATE |
DCL | Controlar acesso/permissões | GRANT, REVOKE, DENY |
DTL | Gerenciar transações | COMMIT, ROLLBACK, SAVEPOINT, BEGIN |
Guarde essa divisão: é exatamente nela que as alternativas se separam.
O comando CREATE é utilizado para criar objetos no banco de dados (tabelas, índices, views, etc.). Ele pertence à DDL (Data Definition Language), que define a estrutura, e não à DML, que manipula os dados. A banca troca a função: CREATE cria a estrutura, não os dados.
O comando ALTER é utilizado para modificar a estrutura de objetos existentes (por exemplo, adicionar uma coluna a uma tabela). Ele também pertence à DDL, não à DML. A confusão aqui é pensar que "alterar" é manipular dados, mas ALTER altera a definição do objeto, não os registros.
O comando DROP é utilizado para excluir objetos do banco de dados (tabelas, views, etc.). Ele pertence à DDL, não à DML. A pegadinha é associar "excluir" à DML, mas DROP exclui a estrutura, enquanto o comando DML para excluir dados é o DELETE.
O comando INSERT é utilizado para inserir novos registros (linhas) em uma tabela. Essa é uma operação de manipulação de dados, portanto pertence à DML (Data Manipulation Language). É exatamente a função de inclusão de dados que caracteriza a DML.
O comando GRANT é utilizado para conceder privilégios de acesso a usuários ou funções no banco de dados. Ele pertence à DCL (Data Control Language), que controla as permissões de segurança, e não à DML. A banca troca a sublinguagem: GRANT controla quem pode acessar, não manipula dados.
Gabarito: letra D — o único comando DML entre as opções é o INSERT.
Link permanente: /questoes/qg415725