Analise as assertivas abaixo relativas à atualização de visão em SQL:I. A estratégia de modificação de consulta altera a consulta da visão em uma consulta na tabela base. A desvantagem é que pode ser ineficiente para visões com consultas complexas, que são demoradas de serem executadas.II. A materialização de visão cria fisicamente uma tabela temporária quando a visão é consultada pela primeira vez e mantém essa tabela com a suposição de que outras consultas à visão acontecerão em seguida.III. Na atualização incremental, pode-se determinar quais novas tuplas devem ser inseridas, excluídas ou modificadas em uma visão materializada quando uma atualização é realizada na tabela base.IV. Uma atualização em uma visão definida sobre uma única tabela com funções de agregação pode ser mapeada para uma atualização direta sobre a tabela base.Quais estão corretas?
AApenas I e II.
BApenas II e III.
CApenas I, II e III.
DApenas II, III e IV.
EI, II, III e IV.
Revelar gabarito e comentário▾
GabaritoC — Apenas I, II e III.
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”.
Visões (views) em SQL: atualização e estratégias
Gabarito: letra C (apenas I, II e III). As três primeiras assertivas descrevem corretamente as estratégias de modificação de consulta, materialização de visão e atualização incremental, conforme a teoria de visões em SQL. A assertiva IV está incorreta, pois visões que utilizam funções de agregação (SUM, COUNT, AVG, etc.) com GROUP BY não são diretamente atualizáveis sobre a tabela base – a correspondência entre tuplas agregadas e linhas individuais não é biunívoca, impedindo operações como UPDATE, INSERT ou DELETE.
Assertiva
Descrição
Correta?
Motivo
I
Modificação de consulta altera a consulta da visão em uma consulta na tabela base; pode ser ineficiente para visões complexas
✅
Técnica padrão que transforma a consulta sobre a visão em consulta equivalente sobre tabelas base, mas com possível perda de desempenho
II
Materialização de visão cria tabela temporária física na primeira consulta e a mantém para consultas subsequentes
✅
Estratégia que evita recálculos, armazenando fisicamente o resultado da visão
III
Atualização incremental determina quais tuplas inserir, excluir ou modificar em visão materializada quando tabela base é atualizada
✅
Técnica eficiente que aplica apenas as diferenças, sem recalcular toda a visão
IV
Visão com funções de agregação sobre única tabela pode ser mapeada para atualização direta na tabela base
❌
Visões com agregação (SUM, COUNT, AVG, GROUP BY) não são atualizáveis, pois não há correspondência biunívoca entre tuplas agregadas e linhas individuais
Assertiva I — ✅ Correta
A modificação de consulta (query modification) transforma a consulta do usuário sobre a visão em uma consulta equivalente sobre as tabelas base. Essa técnica é simples de implementar, mas pode ser ineficiente para visões com consultas complexas e demoradas, pois a consulta modificada é executada a cada acesso.
Assertiva II — ✅ Correta
Na materialização de visão, o SGBD cria uma tabela física temporária contendo o resultado da visão quando ela é consultada pela primeira vez. Essa tabela é mantida, supondo que novas consultas à visão ocorrerão em breve, evitando recálculos. A visão materializada pode ser atualizada por técnicas incrementais ou recriada periodicamente.
Assertiva III — ✅ Correta
A atualização incremental é uma técnica para manter visões materializadas atualizadas: quando a tabela base sofre uma modificação (inserção, exclusão ou alteração), o SGBD determina quais tuplas devem ser inseridas, removidas ou modificadas na visão, aplicando apenas as diferenças. Isso é mais eficiente do que recalcular toda a visão.
Assertiva IV — ❌ Incorreta
Visões definidas sobre uma única tabela mas que utilizam funções de agregação (SUM, COUNT, AVG, etc.) e GROUP BY não são atualizáveis, pois não há uma correspondência direta entre as tuplas da visão (agregadas) e as tuplas da tabela base. O SQL padrão não permite operações de UPDATE, INSERT ou DELETE nessas visões. Portanto, não é possível mapear uma atualização da visão para uma atualização direta na tabela base.
PEGA ESSA DICA!
Ao estudar visões, lembre-se da distinção: visões simples (uma única tabela, sem agregação) podem ser atualizáveis; visões com JOIN, GROUP BY ou funções de agregação são apenas de leitura. Questões sobre atualização de visões frequentemente exploram esse limite.
Conclusão: Estão corretas apenas as assertivas I, II e III, correspondendo à alternativa C.