Sistemas Gerenciadores de Bancos de Dados (SGBD) relacionais que seguem o padrão SQL implementam objeto chamado VIEW. Segundo Ramakrishnan, em seu livro Sistemas Gerenciador de Banco de Dados, VIEW é definida como tabelas cujas linhas não são armazenadas explicitamente no banco de dados, mas calculadas conforme necessário, com base na definição de visão. Com relação à VIEW no Microsoft SQL Server, analise as afirmativas a seguir. I. A view é utilizada para tornar a percepção do usuário mais simplificada e focalizada. 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. 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. IV. As instruções de SQL UPDATE, DELETE e INSERT são permitidas desde que realizadas utilizando colunas de uma única tabela base. Está correto o que se afirma em
- A)I, II, III e IV.
A alternativa reúne as quatro proposições. No SQL Server, a view pode simplificar a consulta ao expor só um recorte dos dados, pode ser usada para controle de acesso ao conceder permissão na visão em vez da tabela base, pode servir como camada de compatibilidade para aplicações antigas quando o esquema da tabela muda e, nas views simples e atualizáveis, aceita INSERT, UPDATE e DELETE. Por isso, o conjunto I, II, III e IV está de acordo com o uso técnico de views.
- B)I, II e IV, apenas.
Esta opção afirma que apenas I, II e IV estariam corretas, excluindo a proposição III. Ocorre que a III descreve um uso real de views como interface estável para simular a estrutura anterior de uma tabela após transformação de esquema, o que ajuda a manter sistemas legados em funcionamento. Como essa função também é válida, a alternativa fica incompleta.
- C)III e IV, apenas.
Aqui se sustenta que somente III e IV estariam corretas. Isso deixa de fora a I, que expressa exatamente uma finalidade clássica da view: apresentar uma visão mais simples e focalizada dos dados, normalmente por meio de subconjuntos ou junções; também deixa de fora a II, pois a view pode ser usada para restringir o acesso aos dados ao permitir permissão apenas sobre ela. Como I e II também procedem, a alternativa não se sustenta.
- D)I, III e IV apenas.
Esta opção admite I, III e IV, mas exclui a II. No SQL Server, views também podem funcionar como instrumento de segurança, porque o administrador pode conceder acesso apenas à visão e impedir o acesso direto às tabelas base ou a colunas sensíveis. Como a II traduz esse uso de forma compatível com o conceito de view, a exclusão dela torna a alternativa incorreta.
- E)I, II e III, apenas.
A alternativa diz que I, II e III estariam corretas, deixando a IV de fora. Contudo, views simples podem ser atualizadas no SQL Server, permitindo INSERT, UPDATE e DELETE quando se referem a uma única tabela base e não trazem elementos que impeçam a atualização, como agregações ou junções complexas. A omissão da IV faz com que a opção não corresponda ao conjunto completo de afirmativas verdadeiras.
Gabarito: A
No SQL Server, a VIEW é uma consulta salva que se comporta como uma tabela, mas sem armazenar necessariamente as linhas de forma física. Na prática, ela funciona como uma “janela” para os dados: você enxerga só o que a definição da visão permite, o que deixa a consulta mais simples, mais focada e, em muitos casos, mais segura. Isso conversa diretamente com a ideia clássica de Ramakrishnan: a visão é calculada quando necessária, com base na sua definição. A afirmativa I está correta porque a view realmente ajuda a simplificar a visão do usuário sobre tabelas complexas, juntando colunas, filtrando registros ou escondendo detalhes irrelevantes. A II também está correta: visões são muito usadas para segurança, pois você pode dar acesso à view e não às tabelas-base, limitando o que o usuário consegue enxergar. A III também está correta, porque views podem ser usadas para manter compatibilidade quando o esquema das tabelas muda. É aquele truque elegante de “não mexa no sistema legado”, criando uma interface estável para que aplicações antigas continuem funcionando mesmo após alterações estruturais. Já a IV está correta porque, em geral, uma view é atualizável quando deriva de uma única tabela-base e atende aos requisitos de atualização do SGBD; nesse caso, UPDATE, DELETE e INSERT podem ser permitidos. Por isso, o gabarito é A: as quatro afirmações estão alinhadas com o uso de views no SQL Server e com a doutrina clássica sobre visões.