Pular para o conteúdo principal

Questão de Banco de Dados — PostgreSQL — FCC 2015

Banco de DadosPostgreSQL
Código
fc020555
Banca
FCC
Órgão
MPE-PB
Ano
2015
Nível
Superior
Cargo
Analista de Sistemas – Desenvolvedor
No PostgreSQL 9.0, o comando para remover uma view chamada vendas de forma a recusar a remoção da mesma se existirem objetos que dependem dela é
  1. ADROP VIEW vendas CONSTRAINT NO-REMOVE;
  2. BDROP VIEW vendas RESTRICT;
  3. CTRUNCATE VIEW vendas CONSTRAINT NO ACTION;
  4. DDELETE VIEW vendas CONSTRAINT NO REMOVE;
  5. EDROP VIEW vendas CASCADE;
Revelar gabarito e comentário

GabaritoB — DROP VIEW vendas RESTRICT;

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: Comando DROP VIEW

Gabarito: letra B. No PostgreSQL 9.0, o comando DROP VIEW com a opção RESTRICT recusa a remoção da view caso existam objetos que dependam dela (como outras visões ou funções). A opção RESTRICT é o comportamento padrão e impede a exclusão se houver dependências, enquanto CASCADE remove também os objetos dependentes.

A banca testa o conhecimento das cláusulas do comando DROP VIEW no PostgreSQL, especificamente RESTRICT e CASCADE. O padrão SQL e o PostgreSQL seguem essa sintaxe.

DROP VIEW (PostgreSQL)
  • 1RESTRICT (padrão)
    • Recusa remoção se houver dependentes
  • 2CASCADE
    • Remove view + objetos dependentes
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

A sintaxe "CONSTRAINT NO-REMOVE" não existe no PostgreSQL. O comando correto utiliza as opções RESTRICT ou CASCADE, não essa cláusula inventada.

Alternativa B — ✅ Correta ⟵ GABARITO

DROP VIEW vendas RESTRICT é o comando correto. A opção RESTRICT faz com que a remoção seja recusada se houver dependentes, atendendo exatamente ao enunciado.

Alternativa C — ❌ Incorreta

TRUNCATE VIEW não é um comando válido para remover views. TRUNCATE é usado para tabelas, não para views. Além disso, "CONSTRAINT NO ACTION" é uma cláusula de integridade referencial, não de remoção de view.

Alternativa D — ❌ Incorreta

DELETE VIEW não existe. DELETE é usado para remover linhas de uma tabela, não para excluir objetos do banco.

Alternativa E — ❌ Incorreta

DROP VIEW vendas CASCADE remove a view e todos os objetos que dependem dela. O enunciado pede o comando que recuse a remoção se existirem dependentes, ou seja, que não permita a exclusão. CASCADE faz o oposto: remove também os dependentes.

Gabarito: letra B.

Link permanente: /questoes/fc020555