Questão de Banco de Dados — Consultas e Comandos em SQL — VUNESP 2023
- Código
- vu195353
- Banca
- VUNESP
- Órgão
- Pref Marília
- Ano
- 2023
- Cargo
- Ana ( )
- AUNDO Paper.
- BEXC Paper.
- CDROP Paper.
- DDELETE Paper.
- ETRASH Paper.
GabaritoC — DROP Paper.
Gabarito: letra C. O comando DROP é o responsável por excluir completamente uma tabela — tanto os dados quanto a estrutura — em um banco de dados relacional. A instrução DROP TABLE Paper; remove a tabela inteira do banco, enquanto os demais comandos listados ou não existem no SQL padrão ou apenas manipulam os dados, preservando a estrutura.
O SQL (Structured Query Language) é a linguagem padrão para acesso e manipulação de bancos de dados relacionais. Ela se divide em sublinguagens, cada uma com um papel específico: a DDL (Data Definition Language) lida com a definição e estrutura dos objetos do banco (tabelas, índices, visões, bancos de dados); a DML (Data Manipulation Language) lida com os dados dentro dessas tabelas (inserir, consultar, atualizar, excluir registros); a DCL (Data Control Language) controla permissões de acesso; e a DTL (Data Transaction Language) gerencia transações.
O comando DROP pertence à DDL e é usado para remover objetos inteiros do banco de dados. Quando aplicado a uma tabela, DROP TABLE nome_da_tabela; elimina tanto os dados quanto a estrutura da tabela, tornando-a inexistente no banco. Essa é a diferença crucial em relação ao DELETE e ao TRUNCATE: enquanto o DELETE remove registros (linhas) de uma tabela, mantendo a estrutura intacta, e o TRUNCATE remove todos os registros de uma vez, também mantendo a estrutura, o DROP remove a tabela por completo. O TRUNCATE é frequentemente considerado parte da DDL, mas sua função é esvaziar a tabela, não eliminá-la.
Na prática, se você executar DROP TABLE Paper;, a tabela Paper deixa de existir — qualquer consulta futura a ela resultará em erro. Já com DELETE FROM Paper;, a tabela continua existindo, apenas sem linhas. Essa distinção é fundamental para entender o que cada comando faz e é exatamente o que a questão explora.
A pegadinha desta questão é confundir DROP com DELETE. O DELETE é um comando da DML, usado para excluir registros (dados) de uma tabela, mas não remove a estrutura da tabela. O DROP, por sua vez, é um comando da DDL, que remove a tabela inteira — dados e estrutura. A banca também inclui alternativas que não existem no SQL padrão (UNDO, EXC, TRASH), que são meros distratores para testar se o candidato conhece os comandos reais.
Guarde a fronteira: DDL (estrutura) × DML (dados). É nela que as alternativas se dividem — o comando que exclui a estrutura é o DROP, da DDL.
UNDO não é um comando SQL padrão. Em alguns SGBDs, como o Oracle, existe o comando ROLLBACK para desfazer transações, mas UNDO não é utilizado para excluir tabelas. A banca criou um distrator que parece plausível, mas não corresponde a nenhuma instrução SQL real.
EXC não é um comando SQL. Não existe nenhuma instrução EXC no padrão SQL para excluir tabelas ou dados. É um distrator puro, sem correspondência com a linguagem.
O comando DROP é o correto. A sintaxe DROP TABLE Paper; remove completamente a tabela Paper, incluindo sua estrutura e todos os dados. Conforme o conteúdo de apoio, "DROP é usado para deletar por inteiro tanto os dados quanto a própria tabela". É o comando da DDL destinado a excluir objetos do banco de dados.
DELETE é um comando da DML, utilizado para excluir registros (linhas) de uma tabela, mas não remove a estrutura da tabela. Após um DELETE FROM Paper;, a tabela Paper continua existindo, apenas sem os dados. Portanto, não atende ao requisito de excluir completamente a tabela.
TRASH não é um comando SQL. Não existe nenhuma instrução TRASH no padrão SQL. É outro distrator inventado pela banca, sem qualquer correspondência com a linguagem.
A banca explora a confusão entre DROP e DELETE. O candidato que sabe que DELETE exclui dados pode marcar a letra D, mas o comando que exclui a tabela inteira (dados + estrutura) é o DROP. Lembre-se: DELETE é DML (manipula dados), DROP é DDL (define estrutura).
Para fixar, associe: DROP = derruba a estrutura (a tabela some), DELETE = deleta dados (a tabela fica). Na prova, quando a questão pedir "excluir completamente a tabela", a resposta é sempre DROP.
Gabarito: letra C
Link permanente: /questoes/vu195353