Pular para o conteúdo principal

Questão de Banco de Dados — SQL Server — Avança SP 2023

Banco de DadosSQL Server
Código
qa541097
Banca
Avança SP
Órgão
Pref SM Arcanjo
Ano
2023
Cargo
Tec (SM Arcanjo)
Qual o comando para apagar um banco de dados no MS SQL Server?
  1. ADROP DATABASE
  2. BSELECT DATABASE
  3. CTRUNCATE DATABASE
  4. DEXECUTE DATABASE
  5. EREMOVE DATABASE
Revelar gabarito e comentário

GabaritoA — DROP DATABASE

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Comandos DDL no SQL Server: apagando um banco de dados

Gabarito: letra A. O comando DROP DATABASE é o correto para apagar um banco de dados no MS SQL Server, pois o DROP é o comando da sublinguagem DDL (Data Definition Language) destinado a remover objetos inteiros do banco, como tabelas, views e o próprio banco de dados. As demais alternativas não existem ou não têm essa finalidade no SQL padrão.

O SQL (Structured Query Language) é dividido em sublinguagens, cada uma com um papel específico. A DDL (Data Definition Language) é a que lida com a estrutura do banco: criar, alterar e remover objetos como tabelas, índices e bancos de dados. Os comandos principais da DDL são CREATE, ALTER, DROP e TRUNCATE. Enquanto CREATE cria um objeto, ALTER modifica sua estrutura e DROP remove o objeto por completo — incluindo todos os dados e a definição da estrutura. Já o TRUNCATE é um caso especial: ele apaga todos os registros de uma tabela, mas mantém a tabela (sua estrutura) intacta.

Para apagar um banco de dados inteiro, a sintaxe é simples: DROP DATABASE nome_do_banco;. Esse comando remove o banco e todos os seus objetos (tabelas, views, procedures, etc.) de uma só vez. É uma operação irreversível — por isso, em ambientes de produção, é comum fazer um backup antes de executá-lo. No SQL Server, o comando é o mesmo do padrão SQL, e a banca cobra exatamente essa literalidade.

A confusão mais comum neste tema é misturar os comandos que agem sobre dados (linhas) com os que agem sobre estrutura (objetos). O DELETE remove linhas de uma tabela (DML), o TRUNCATE remove todas as linhas de uma tabela mas preserva a estrutura (DDL), e o DROP remove o objeto inteiro — tabela, banco, view, etc. (DDL). Veja a comparação:

Comando

Sublinguagem

O que faz

Estrutura?

DELETE

DML

Remove linhas (pode usar WHERE)

Mantém

TRUNCATE

DDL

Remove todas as linhas

Mantém

DROP

DDL

Remove o objeto inteiro (tabela, banco, view)

Remove

Guarde essa distinção: DROP apaga o objeto; TRUNCATE apaga os dados; DELETE apaga linhas específicas. É exatamente nessa fronteira que as alternativas desta questão se separam.

Alternativa A — ✅ Correta ⟵ GABARITO

O comando DROP DATABASE é o correto para apagar um banco de dados no MS SQL Server. Ele faz parte da DDL e remove o banco de dados inteiro, incluindo todos os seus objetos e dados. A sintaxe é DROP DATABASE nome_do_banco;. É a forma padrão e universalmente aceita no SQL.

Alternativa B — ❌ Incorreta

SELECT DATABASE não existe como comando de exclusão. O SELECT é o comando da DQL (Data Query Language) ou DML, usado para consultar dados, não para apagar objetos. Não há nenhuma sintaxe SELECT DATABASE no SQL Server.

Alternativa C — ❌ Incorreta

TRUNCATE DATABASE não existe. O TRUNCATE é usado apenas com TABLE (TRUNCATE TABLE nome_da_tabela) e serve para apagar todos os registros de uma tabela, mantendo a estrutura. Não é possível truncar um banco de dados inteiro com esse comando.

Alternativa D — ❌ Incorreta

EXECUTE DATABASE não existe. O comando EXECUTE (ou EXEC) é usado para executar uma stored procedure ou um bloco de código, não para apagar objetos. Não há relação com exclusão de banco de dados.

Alternativa E — ❌ Incorreta

REMOVE DATABASE não existe no SQL padrão nem no SQL Server. O comando correto para remover um banco de dados é DROP DATABASE. A palavra REMOVE não é um comando SQL válido para essa finalidade.

NÃO CAIA NESSA!

A banca tenta confundir o candidato com comandos que não existem (SELECT DATABASE, EXECUTE DATABASE, REMOVE DATABASE) ou que existem mas com outra função (TRUNCATE). O TRUNCATE é o mais traiçoeiro: ele apaga dados, mas não apaga o banco — e a banca conta com essa confusão entre "apagar dados" e "apagar o banco". Fique atento: DROP é o único que remove o objeto inteiro.

PEGA ESSA DICA!

Para fixar, lembre-se do trio: CREATE cria, ALTER modifica, DROP remove. E para o TRUNCATE, guarde que ele é um "DELETE sem WHERE" — apaga todas as linhas, mas preserva a tabela. Na prova, se a pergunta for "apagar banco de dados", a resposta é sempre DROP DATABASE.

Gabarito: letra A

Link permanente: /questoes/qa541097