Questão nº 53
Questão de Informática/Banco de Dados · FGV MPMS 2012 (nº 53)
Com relação ao tema “Views e Triggers no PostgreSQL” na versão 9.2, analise as afirmativas a seguir.
I. Os triggers podem ser do tipo per-row, per-table e per-statement.
II. Os triggers podem ser aplicadas tanto em tabelas como em visões.
III. As visões são fisicamente materializadas se forem definidas com a opção CHECK OPTION.
Assinale
- Ase somente a afirmativa I estiver correta.
- Bse somente a afirmativa II estiver correta. (alternativa correta)
- Cse somente a afirmativa III estiver correta.
- Dse somente as afirmativas I e II estiverem corretas.
- Ese somente as afirmativas II e III estiverem corretas.
Resposta comentada
Gabarito Alternativa B
Views são como "tabelas virtuais" que mostram dados de uma ou mais tabelas, mas não armazenam os dados fisicamente. Triggers são procedimentos que são executados automaticamente em resposta a eventos específicos (como INSERT, UPDATE, DELETE) em uma tabela ou visão.
- (A) Incorreta: A afirmativa I está incorreta porque, embora existam triggers
per-row(FOR EACH ROW) eper-statement(FOR EACH STATEMENT) no PostgreSQL, não existe um tipoper-table. O termoper-tablenão se refere a um tipo de granularidade de execução de trigger. - (B) Correta: A afirmativa II está correta. Triggers podem ser aplicadas em tabelas para responder a operações de DML (Data Manipulation Language). Além disso, no PostgreSQL (a partir da versão 9.1, e portanto na 9.2), é possível criar triggers
INSTEAD OFem visões para permitir que operações deINSERT,UPDATEouDELETEsejam realizadas em visões, transformando-as em visões atualizáveis. - (C) Incorreta: A afirmativa III está incorreta. A opção
CHECK OPTIONem uma visão serve para garantir que todas as linhas inseridas ou atualizadas através da visão satisfaçam a condiçãoWHEREda própria visão; ela é uma restrição de integridade. Não torna a visão fisicamente materializada. Visões materializadas (MATERIALIZED VIEW) são um conceito diferente, que armazena o resultado da consulta fisicamente, e foram introduzidas no PostgreSQL 9.3. - (D) Incorreta: A afirmativa I está incorreta, como explicado acima.
- (E) Incorreta: A afirmativa III está incorreta, como explicado acima.
Fonte: FGV MPMS 2012 Analista - Informática/Banco de Dados. Reproduzida para fins de estudo.