Questão de Banco de Dados — PostgreSQL — VUNESP 2024
Banco de Dados›PostgreSQL
Código
vu212097
Banca
VUNESP
Órgão
Pref Aparecida (SP)
Ano
2024
Cargo
Tec TI ( )
O comando do sistema gerenciador de bancos de dados PostgreSQL 14.4 para remover uma base de dados denominada Tree do sistema é:
AREMOVE DATABASE Tree;
BDROP DATABASE Tree;
CTURN OFF DATABASE Tree;
DSHUT OFF DATABASE Tree;
EEXCLUDE DATABASE Tree;
Revelar gabarito e comentário▾
GabaritoB — DROP DATABASE Tree;
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”.
PostgreSQL: remoção de banco de dados
Gabarito: letra B. No PostgreSQL, o comando para remover uma base de dados é DROP DATABASE Tree;. A palavra-chave DROP é o padrão SQL para eliminar objetos do banco (tabelas, bancos, índices etc.), e é a única alternativa que corresponde à sintaxe correta do SGBD.
O comando DROP DATABASE é um comando DDL (Data Definition Language), responsável por definir ou modificar a estrutura do banco de dados. Ele remove o banco de dados inteiro, incluindo todas as suas tabelas, dados, índices e demais objetos. É uma operação irreversível e que exige privilégios de superusuário ou do proprietário do banco.
A sintaxe básica é:
DROP DATABASE nome_do_banco;
No PostgreSQL, não é possível executar DROP DATABASE enquanto há conexões ativas com o banco. Se houver sessões conectadas, o comando falhará. Nesse caso, é preciso encerrar as conexões ou usar a opção WITH (FORCE) (disponível a partir da versão 13) para forçar a desconexão e a remoção.
É importante não confundir DROP DATABASE com outros comandos de exclusão:
DROP TABLE remove uma tabela específica.
TRUNCATE TABLE remove todos os dados de uma tabela, mas mantém a estrutura.
DELETE FROM remove linhas específicas de uma tabela.
A banca explora justamente essa confusão: o candidato que sabe que DROP é usado para tabelas pode achar que DROP DATABASE não existe, mas ele existe e é exatamente o comando correto para remover uma base de dados inteira.
1DROP DATABASERemove o banco inteiro
2DROP TABLERemove uma tabela
3TRUNCATE TABLERemove dados, mantém estrutura
4DELETE FROMRemove linhas específicas
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
REMOVE DATABASE Tree; — O comando REMOVE não existe no SQL padrão nem no PostgreSQL. A palavra-chave correta para eliminar objetos é DROP. O candidato pode confundir com o comando DELETE, que remove linhas de uma tabela, mas não é usado para remover bancos de dados.
Alternativa B — ✅ Correta ⟵ GABARITO
DROP DATABASE Tree; — Este é o comando correto. DROP é a palavra-chave SQL para eliminar objetos, e DATABASE especifica que o objeto a ser removido é um banco de dados. A sintaxe está completa e correta.
Alternativa C — ❌ Incorreta
TURN OFF DATABASE Tree; — TURN OFF não é um comando SQL. Não existe nenhuma instrução com essa sintaxe no PostgreSQL. O candidato pode confundir com comandos de desligamento de serviços, mas não se aplica a bancos de dados.
Alternativa D — ❌ Incorreta
SHUT OFF DATABASE Tree; — Assim como TURN OFF, SHUT OFF não é um comando SQL válido. Não há previsão para essa sintaxe no PostgreSQL. O candidato pode pensar em comandos de parada de serviço, mas não é o caso.
Alternativa E — ❌ Incorreta
EXCLUDE DATABASE Tree; — EXCLUDE não é um comando SQL para remoção de objetos. O comando correto é DROP. O candidato pode confundir com a cláusula EXCLUDE usada em consultas (como em SELECT ... EXCLUDE), mas não se aplica à remoção de bancos de dados.
NÃO CAIA NESSA!
A banca cria alternativas com verbos que parecem fazer sentido (REMOVE, TURN OFF, SHUT OFF, EXCLUDE), mas nenhum deles é um comando SQL válido. O candidato que não conhece a sintaxe exata pode ser tentado a escolher uma opção que "soa" como exclusão. A dica é: no SQL, a palavra-chave para eliminar qualquer objeto (tabela, banco, índice) é sempre DROP. Memorize isso e elimine as alternativas que não usam DROP.