Visão (View) no SQL Server
Gabarito: letra A. Todas as quatro afirmativas estão corretas. A view é um objeto que atua como tabela virtual, simplificando a percepção do usuário, servindo como mecanismo de segurança (ocultando tabelas base), permitindo simular versões anteriores de esquemas e, no SQL Server, suporta operações DML (UPDATE, DELETE, INSERT) desde que envolvam colunas de uma única tabela base.
A banca cobra o conceito clássico de view conforme a definição de Ramakrishnan e as implementações do SQL Server. Vamos analisar cada item.
Afirmativa | Descrição | Correta? | Justificativa |
|---|
I | A view é utilizada para tornar a percepção do usuário mais simplificada e focalizada. | ✅ Sim | A view oculta colunas/linhas desnecessárias, fornecendo apenas dados relevantes ao usuário. |
II | Visões são instrumentos de segurança, pois permitem restringir o acesso aos dados, ou seja, usuários não possuem permissões para acessar as tabelas base. | ✅ Sim | O administrador concede permissão apenas sobre a view, não sobre as tabelas base, restringindo acesso a dados sensíveis. |
III | O objeto view é utilizado para simular versões anteriores de tabelas que teve seu esquema transformado e assim garantir o pleno funcionamento dos sistemas. | ✅ Sim | A view mantém a interface antiga após alterações no esquema da tabela, garantindo compatibilidade reversa com sistemas legados. |
IV | As instruções de SQL UPDATE, DELETE e INSERT são permitidas em views no SQL Server, desde que envolvam colunas de uma única tabela base. | ✅ Sim | No SQL Server, operações DML em views são permitidas se afetarem apenas uma tabela base; caso contrário, exigem trigger INSTEAD OF. |
Afirmativa I — ✅ Correta
A view oferece uma visão simplificada e focalizada dos dados, ocultando colunas ou linhas desnecessárias para determinados usuários. Isso é uma de suas finalidades primordiais: facilitar a interação com o banco de dados fornecendo apenas os dados relevantes.
Afirmativa II — ✅ Correta
Views são poderosos instrumentos de segurança. Ao conceder permissão apenas sobre a view (e não sobre as tabelas base), o administrador pode restringir o acesso a dados sensíveis. O usuário não precisa de permissão direta nas tabelas subjacentes – ele acessa os dados por intermédio da view.
Afirmativa III — ✅ Correta
Quando uma tabela tem seu esquema alterado (ex.: renomeação de colunas, divisão em múltiplas tabelas), uma view pode ser criada para manter a interface antiga, garantindo que sistemas legados continuem funcionando sem modificações. Isso é uma aplicação prática de compatibilidade reversa (backward compatibility).
Afirmativa IV — ✅ Correta
No Microsoft SQL Server, as operações de atualização (UPDATE, DELETE, INSERT) em uma view são permitidas desde que a manipulação envolva colunas de uma única tabela base. Se a view for construída a partir de junções, as alterações só serão possíveis se afetarem uma única tabela ou se houver um trigger INSTEAD OF; caso contrário, o SGBD rejeitará a operação. A afirmativa reflete essa regra.
Conclusão: todas as afirmativas estão corretas. Portanto, a alternativa que as reúne é a letra A.