Sobre a utilização de views, em bancos de dados como MySQL, SQL Server, analise as afirmativas a seguir. I. Views servem para construir e armazenar o conteúdo de consultas complexas de uso frequente. II. Os principais SGBD não permitem o uso de operações de update/delete sobre views. III. Em geral, as views não podem ser referenciadas na cláusula FROM em outras consultas SQL. Está correto somente o que se afirma em:
- A)I;
Certa, porque apenas a afirmativa I descreve corretamente a funcao de uma view como consulta reutilizavel e de uso frequente.
- B)II;
Errada, porque varios SGBD permitem operacoes de update/delete em views atualizaveis, embora com restricoes.
- C)III;
Errada, porque views podem ser referenciadas na clausula FROM de outras consultas SQL.
- D)I e II;
Errada, pois a afirmativa II nao e verdadeira, entao nao ha base para marcar I e II.
- E)II e III.
Errada, porque a afirmativa III tambem e falsa, entao nao se pode marcar II e III.
Gabarito: A
Views sao, em resumo, "janelas" para consultas. Voce cria uma view a partir de um SELECT e passa a reutilizar essa consulta como se fosse uma tabela virtual. Isso ajuda a simplificar comandos, organizar regras de acesso e evitar repetir SQL enorme toda hora. Em muitos SGBDs, a view nao armazena os dados em si, mas apenas a definicao da consulta. Por isso, a ideia de "guardar o resultado" exige cuidado: o que fica salvo normalmente eh a consulta, nao uma copia independente dos dados. A afirmativa I esta correta porque views sao muito usadas para encapsular consultas complexas e facilitar o reuso. Se voce tem um SELECT comprido, com joins, filtros e agregacoes, a view vira uma forma elegante de deixar isso pronto para uso frequente. A afirmativa II esta errada. Em varios sistemas, inclusive MySQL e SQL Server, existem views atualizaveis em certas condicoes. Ou seja, nem toda view aceita update/delete, mas dizer que os principais SGBD nao permitem nunca eh exagero. E banca adora esse "nunca", esse "sempre" e esse "todos" para pegar o candidato distraido. A afirmativa III tambem esta errada, porque views podem sim aparecer na clausula FROM de outras consultas, exatamente como se fossem tabelas. Isso e super comum no dia a dia: voce cria a view e depois consulta ela dentro de outra SQL, sem drama. Assim, somente a I esta correta, o que confirma o gabarito A.