Questão nº 44
Questão de Banco de Dados · FGV CGE-SC 2022 (nº 44)
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
- AI, II, III e IV. (alternativa correta)
- BI, II e IV, apenas.
- CIII e IV, apenas.
- DI, III e IV apenas.
- EI, II e III, apenas.
Resposta comentada
Gabarito Alternativa A
Uma View (ou Visão) é uma tabela virtual que não armazena dados próprios, mas exibe o resultado de uma consulta SQL, funcionando como uma "janela" para os dados das tabelas subjacentes.
(A) Correta: Esta alternativa está correta porque todas as afirmativas (I, II, III e IV) são verdadeiras sobre as Views no Microsoft SQL Server.
- I. A view é utilizada para tornar a percepção do usuário mais simplificada e focalizada. Correto. Views simplificam a visualização de dados complexos, escondendo junções, filtros e cálculos, apresentando apenas o que é relevante para o 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. Correto. É possível conceder permissões de acesso a uma view, mas não às tabelas subjacentes, controlando quais linhas e colunas um usuário pode visualizar, sendo uma ferramenta eficaz de segurança.
- 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. Correto. Este é um uso avançado e crucial para a compatibilidade retroativa e manutenção de sistemas legados. Se uma tabela base é alterada (ex: renomear coluna), uma view pode ser criada com o esquema antigo, direcionando para o novo esquema subjacente, permitindo que aplicações existentes continuem funcionando sem modificações. A armadilha aqui é que muitos podem não associar diretamente views a este cenário de evolução de sistemas.
- IV. As instruções de SQL UPDATE, DELETE e INSERT são permitidas, desde que realizadas utilizando colunas de uma única tabela base. Correto. Views são atualizáveis (updatable) sob condições específicas. A condição de ser baseada em uma única tabela e não conter elementos que tornem a atualização ambígua (como funções de agregação, GROUP BY, DISTINCT, colunas calculadas, etc.) é a principal para permitir operações DML diretamente na view. A pegadinha é que nem todas as views são atualizáveis, mas a condição "desde que realizadas utilizando colunas de uma única tabela base" é fundamental e descreve o cenário mais comum e direto onde as operações DML são permitidas.
(B) Incorreta: Esta alternativa está incorreta porque, embora I, II e IV sejam verdadeiras, a afirmativa III também é correta e não está incluída.
(C) Incorreta: Esta alternativa está incorreta porque as afirmativas I e II também são corretas e não estão incluídas.
(D) Incorreta: Esta alternativa está incorreta porque, embora I, III e IV sejam verdadeiras, a afirmativa II também é correta e não está incluída.
(E) Incorreta: Esta alternativa está incorreta porque, embora I, II e III sejam verdadeiras, a afirmativa IV também é correta e não está incluída.
Fonte: FGV CGE-SC 2022 Auditor do Estado - Ciências da Computação (Caderno Tipo 1). Reproduzida para fins de estudo.