Recomendado, 2024

Escolha Do Editor

Diferença entre visão e visão materializada

Até agora, falamos sobre tabelas originais armazenadas na forma física em bancos de dados. Em que temos acesso a todos os atributos das tabelas. E se tivermos que restringir um usuário de acessar alguns atributos da tabela e deixar acessar os outros atributos? Como, um funcionário em um departamento administrativo pode pesquisar o nome, endereço, designação, idade e outros fatores de uma tabela de funcionários. Mas ele não deve ser autorizado a ver ou acessar o salário de qualquer funcionário.

Em tais casos, devemos ser capazes de criar uma tabela virtual que possa exibir apenas os atributos necessários de uma tabela. Isso é possível através da Visão e Visão Materializada, que discutiremos neste artigo. Também discutiremos as diferenças entre a visualização e a visualização materializada com a ajuda da tabela comparativa mostrada abaixo:

Gráfico de comparação

Base para ComparaçãoVisãoVisão materializada
BasicUma vista nunca é armazenada, apenas é exibida.Uma visão materializada é armazenada no disco.
DefinirView é a tabela virtual formada a partir de uma ou mais tabelas base ou visualizações.A visão materializada é uma cópia física da tabela base.
AtualizarA visualização é atualizada toda vez que a tabela virtual (View) é usada.A visão materializada precisa ser atualizada manualmente ou usando gatilhos.
RapidezProcessamento lento.Processamento rápido.
Uso de memóriaVer não requer espaço de memória.Vista materializada utiliza espaço de memória.
SintaxeCriar Vista V ComoCriar Materialized View V Build [cláusula] Atualizar [cláusula] On [Trigger] As

Definição de visão

View é uma tabela virtual criada usando o comando Create View . Essa tabela virtual contém os dados recuperados de uma expressão de consulta, no comando Criar visualização. A visualização pode ser criada a partir de uma ou mais de uma tabela ou visualização base. Uma visualização pode ser consultada como você consulta as tabelas base originais.

Não é que a Visualização seja pré - computada e armazenada no disco, uma Visualização é computada toda vez que é usada ou acessada. Sempre que uma exibição é usada, a expressão de consulta no comando Criar visualização é executada naquele momento específico. Portanto, você sempre obtém os dados atualizados em uma Visualização.

Se você atualizar qualquer conteúdo no modo de exibição, isso será refletido na tabela original e, se alguma alteração tiver sido feita na tabela base original, ela será refletida em sua Visualização. Mas isso torna o desempenho de um modo de exibição mais lento . Por exemplo, uma visão é criada a partir da junção de duas ou mais tabelas. Nesse caso, você precisa pagar tempo para resolver as Joins sempre que uma Visualização for usada.

Mas tem algumas vantagens, como não requer espaço de armazenamento . Você pode criar uma exibição personalizada de um banco de dados complexo. Você pode restringir o usuário de acessar informações confidenciais em um banco de dados. Reduz a complexidade das consultas, obtendo dados de várias tabelas em uma única visualização personalizada.

Agora vamos ver a sintaxe do View

Criar Vista V Como

Lembre-se de que todas as visualizações não são atualizáveis. Como uma cláusula View criada usando DISTINCT, cláusula Group By, restrição CHECK (se as restrições de verificação violarem), a opção Read-only não pode ser atualizada.

Definição de visão materializada

A visão materializada é a cópia física das tabelas base originais. A visão materializada é como um instantâneo ou uma imagem das tabelas base originais. Como o View, ele também contém os dados recuperados da expressão de consulta do comando Criar visualização materializada .

Mas, ao contrário do modo de exibição, a visualização materializada é pré - computada e armazenada em um disco como um objeto e não é atualizada sempre que é usada. Em vez disso, a visão materializada deve ser atualizada manualmente ou com a ajuda de gatilhos . O processo de atualização da visão materializada é chamado Manutenção de visão materializada .

O Materialized View responde mais rápido em comparação com o View. É porque a visão materializada é pré-computada e, portanto, não perde tempo resolvendo a consulta ou unindo-se na consulta que cria a Visão Materializada. Que por sua vez respostas mais rápidas para a consulta feita na visão materializada.

Vamos verificar a sintaxe da visão materializada:

Criar visão materializada V
Construir [cláusula] Atualizar [tipo]
ON [trigger]
Como

Onde cláusula Build decide, quando preencher a visão materializada. O tipo de atualização decide como atualizar a visão materializada e o gatilho decide quando atualizar a visão materializada.

Geralmente, as visualizações com materiais são usadas no data warehouse .

Principais diferenças entre visão e visão materializada

  1. A diferença básica entre View e Materialized View é que as Views não são armazenadas fisicamente no disco. Por outro lado, as visões materializadas são armazenadas no disco.
  2. A visualização pode ser definida como uma tabela virtual criada como resultado da expressão de consulta. No entanto, a visão materializada é uma cópia física, imagem ou instantâneo da tabela base.
  3. Uma visualização é sempre atualizada à medida que a consulta que cria o View é executada toda vez que o View é usado. Por outro lado, a Visão Materializada é atualizada manualmente ou através da aplicação de gatilhos para ela.
  4. A visão materializada responde mais rápido que a vista enquanto a visão materializada é pré-computada.
  5. O Materialized View utiliza o espaço de memória armazenado no disco, enquanto o View é apenas um display, portanto, não requer espaço de memória.

Conclusão:

O Materialized View responde mais rápido em comparação com o View. Mas o View sempre fornece informações atualizadas para o usuário.

Top