

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Entender visões materializadas
<a name="understanding-materialized-views"></a>

## Visões
<a name="views"></a>

Uma visão é uma tabela virtual baseada no conjunto de resultados de uma consulta `SELECT` SQL. A tabela virtual contém os dados recuperados da expressão de consulta, mas o resultado não é armazenado no disco. Ao usar visualizações, você sempre obtém o máximo de up-to-date dados porque a consulta extrai os dados das tabelas originais toda vez que você executa a consulta. É possível criar uma visão a partir de uma ou mais tabelas ou visões básicas. Você também pode consultar uma visão da mesma maneira que consulta as tabelas base originais.

O seguinte exemplo mostra como criar uma visão:

```
CREATE VIEW tickets_view
AS    
   select e.eventname,
          sum(s.price) as total_sales
   from sales s
   join event e
       on e.eventid = s.eventid
   group by e.eventname;
```

O seguinte exemplo mostra como consultar uma visão:

```
select eventname,
       total_sales
from ticket_view
where eventname = 'Gotterburg';
```

## Visões materializadas
<a name="materialized-views"></a>

Uma visão materializada é um objeto de banco de dados que contém os resultados de uma consulta. Por exemplo, uma visão materializada pode ser qualquer uma das seguintes:
+ Uma cópia local de dados localizada remotamente
+ Um subconjunto das linhas ou colunas de uma tabela ou um resultado de união
+ Um resumo usando uma função agregada

## Comparação dos tipos de visão
<a name="view-type-comparison"></a>

A tabela a seguir resume as diferenças entre uma visão e uma visão materializada.


|  |  |  | 
| --- |--- |--- |
| **Chave** | **Visão** | **Visão materializada** | 
| Definição | Uma tabela virtual que não armazena dados, mas executa uma consulta SQL definida para obter dados de uma ou mais tabelas em um banco de dados | Uma tabela virtual definida por uma consulta SQL editável, mas o resultado da consulta é armazenado em disco | 
| Armazenamento | O resultado da expressão de consulta não é armazenado em disco; somente a expressão da consulta é armazenada em disco | Expressão de consulta e o resultado da expressão de consulta, ambos armazenados em disco | 
| Executar | A consulta que define uma exibição é executada sempre que a visão é referenciada em uma consulta | O resultado da consulta é armazenado em disco, e a expressão da consulta não é executada toda vez que um usuário tenta buscar os dados de uma visão materializada | 
| Atualidade dos dados | Sempre fornece o valor atualizado mais recente das tabelas base | Não fornece o valor atualizado mais recente se esse valor é alterado no banco de dados | 
| Custo | Sem custo de armazenamento | Com custo de armazenamento | 
| Projeto | Para criar uma visão padrão, é necessário:<br />·  Ter acesso às tabelas subjacentes<br />·  Usar uma instrução `SELECT` padrão | Para criar uma visão materializada, é necessário:<br />·  Ter acesso às tabelas subjacentes<br />·  Usar uma instrução `SELECT` padrão<br />Opcionalmente, é possível especificar as seguintes opções:<br />·  Se a visão materializada é incluída em snapshots automatizados e manuais do cluster, os quais são armazenados no Amazon Simple Storage Service (Amazon S3).<br />·  Como os dados na visão materializada são distribuídos e classificados<br />·  Se a visão materializada deve ser atualizada automaticamente com as alterações mais recentes de suas tabelas base. | 
| Uso | Quando os dados são acessados ou atualizados com pouca frequência | Quando os dados são acessados ou atualizados com frequência | 