VIEWS (VISÕES)
DEFINIÇÃO
• É uma tabela virtual composta por linhas e colunas de dados vindos de tabelas relacionadas em uma consulta SQL que a define. Ao se criar uma view, pode-se filtrar o conteúdo de uma tabela a ser exibida, protegendo certas colunas e, assim, simplificando o código na programação.
• As visões fornecem segurança automática para dados ocultos, ou seja, dados não visíveis por uma determinada visão.
• As visões permitem que os mesmos dados sejam vistos por usuários diferentes de modos diferentes ao mesmo tempo.
• As visões podem fornecer independência de dados lógica.
• É uma construção de uma projeção de uma ou mais tabelas a partir do comando SELECT que, em alguns casos, pode ser manipulada como uma tabela, mas não existe fisicamente como uma tabela
• Maneira alternativa de observação de dados de uma ou mais entidades − tabelas −, que compõe uma base de dados. Pode ser considerada como uma tabela virtual ou uma consulta armazenada.
• Um SGBD deve dispor de recursos que possibilitem selecionar a autoridade de cada usuário.
• Uma linguagem de definição de visões (view definition language) serve para especificar o modo como o usuário vê os dados e como essa visão é mapeada para o esquema conceitual da base de dados.
• São cópias fiéis de informações contidas em tabelas interligadas por chaves primária e estrangeira. Podem-se aglomerar quantas junções (JOINS) necessárias, no entanto, a adição de cláusula WHERE é proibida e também não é possível efetuar atualizações (inserir, Alterar , excluir) de dados através da View.
• Uma visão é construída a partir de uma consulta. Sendo assim, o resultado de uma consulta possui estrutura semelhante a uma tabela do modelo relacional.
• Sua utilidade principal é reduzir o número de repetições de instruções SQL diversos pontos do banco de dados ou então da linguagem de programação.
• A alteração de uma VIEW no oracle é feia utilizando o comando REPLACE e não ALTER. O comando REPLACE é utilizado também para atribuir nova permissão e privilégios. No MySQL pode ser usado os dois comandos, ou seja, REPLACE ou ALTER.
Fonte: QC
Prezados, vamos analisar os itens :
I. As visões fornecem segurança automática para dados ocultos, ou seja, dados não visíveis por uma determinada visão.
Item correto. Ao criarmos a visão, os dados não visíveis por essa visão estarão mais seguros pois não estarão visíveis por ela, e só poderão ser vistos e manipulados por quem tiver acesso a tabela original.
II. As visões não fornecem um recurso de abreviação para uma consulta.
Item errado. As visões podem ser entendidas como uma consulta armazenada no banco, e servem também para abreviar uma consulta
III. As visões permitem que os mesmos dados sejam vistos por usuários diferentes de modos diferentes ao mesmo tempo.
Item correto. Podemos criar visões diferentes a depender do perfil do usuário e do que ele pode ou não enxergar. Por exemplo em uma tabela de funcionários, o perfil de RH poderia acessar uma visão que mostre o salário, enquanto outros colegas de trabalho podem acessar uma visão que mostre a lotação e o ramal da pessoa.
IV. As visões podem fornecer independência de dados lógica.
Item correto. Ao criarmos uma camada de visão, podemos fazer alterações na tabela original sem afetar o comportamento de quem acessa os dados pela visão, garantindo a independência lógica.
Portanto a alternativa correta é a letra C.