PostgreSQL Criar visualização com exemplo

O que é o PostgreSQL Visão?

In PostgreSQL, uma visualização é uma pseudotabela. Isso significa que uma visualização não é uma tabela real. No entanto, podemos SELECT como uma tabela comum. Uma visualização pode ter todas ou algumas colunas da tabela. Uma visualização também pode ser uma representação de mais de uma tabela.

As tabelas são chamadas de tabelas base. Ao criar uma visualização, você só precisa criar uma consulta e dar um nome a ela, tornando-a uma ferramenta útil para agrupar consultas complexas e comumente usadas.

Criar PostgreSQL Visualizações

Para criar um PostgreSQL view, usamos a instrução CREATE VIEW. Aqui está a sintaxe desta instrução:

CREATE [OR REPLACE] VIEW view-name AS
  SELECT column(s)
  FROM table(s)
  [WHERE condition(s)];

O parâmetro OR REPLACE substituirá a visualização se ela já existir. Se omitido e a visualização já existir, um erro será retornado.

O parâmetro view-name é o nome da visualização que você precisa criar.

As condições WHERE são opções e devem ser satisfeitas para que qualquer registro seja adicionado à visualização.

Considere a tabela de preços fornecida abaixo:

Preço:

Criar PostgreSQL Visualizações

Vamos criar uma visão da tabela acima:

CREATE VIEW Price_View AS
  SELECT id, price
  FROM Price
  WHERE price > 200;

O comando acima criará uma visualização baseada no Instrução SELECT. Somente os registros onde o preço for maior que 200 serão adicionados à visualização. A visualização recebeu o nome Price_View. Vamos consultá-lo para ver seu conteúdo:

SELECT *
FROM Price_View;

Isso retorna o seguinte:

Criar PostgreSQL Visualizações

Embora a tabela base tenha 4 registros, apenas 2 foram adicionados à visualização.

Aqui, podemos adicionar apenas uma coluna à visualização. Vamos criar uma visualização que inclua apenas uma coluna da tabela Preço:

CREATE VIEW Price_View2 AS
  SELECT price
  FROM Price
  WHERE price > 200;

A visualização recebeu o nome Price_View2 e inclui apenas a coluna de preço da tabela Price. Vamos consultar a visualização para ver seu conteúdo:

SELECT *
FROM Price_View2;

Isso retorna o seguinte:

Criar PostgreSQL Visualizações

Mudar PostgreSQL Visualizações

A definição de uma visualização pode ser alterada sem a necessidade de abandoná-la. Isso é feito usando a instrução CREATE OR REPLACE VIEW.

Vamos demonstrar isso atualizando a visão chamada Price_View2.

Preço_Visualização2:

Mudar PostgreSQL Visualizações

A tabela Livro é a seguinte:

Livro:

Mudar PostgreSQL Visualizações

A tabela de preços é a seguinte:

Preço:

Mudar PostgreSQL Visualizações

A consulta a seguir nos ajudará a atualizar a visualização Price_View2:

CREATE or REPLACE VIEW Price_View2 AS
  SELECT price, name
  FROM Book
  INNER JOIN Price
  ON Book.id = Price.id
  WHERE price > 200;

Vamos agora consultar a visualização para ver seu conteúdo:

Mudar PostgreSQL Visualizações

A visualização foi alterada e agora temos duas colunas de duas tabelas diferentes. Isso foi conseguido usando uma instrução JOIN.

Excluindo PostgreSQL Visualizações

Sempre que você precisar excluir um PostgreSQL visualizar. Você pode usar a instrução DROP VIEW. Aqui está a sintaxe da instrução:

DROP VIEW [IF EXISTS] view-name;

O parâmetro view-name é o nome da visualização que será excluída.

Nesta sintaxe, IF EXISTS é opcional. É apenas necessário. Se você não especificá-lo e tentar excluir uma visualização que não existe, receberá um erro.

Por exemplo, para eliminar a visualização denominada Price_View2, podemos executar a seguinte instrução:

DROP VIEW Price_View2;

A visualização será excluída.

Usando pgAdmin

Agora vamos ver como essas ações podem ser realizadas usando o pgAdmin.

Criar PostgreSQL Visualizações

Para fazer o mesmo por meio do pgAdmin, faça o seguinte:

Passo 1) Faça login em sua conta pgAdmin.

Passo 2)

  1. Na barra de navegação à esquerda, clique em Bancos de dados.
  2. Clique em Demonstração.

Criar PostgreSQL Visualizações usando pgAdmin

Passo 3) Digite a consulta no editor de consultas:

CREATE VIEW Price_View AS
  SELECT id, price
  FROM Price
  WHERE price > 200;

Passo 4) Clique no botão Executar.

Criar PostgreSQL Visualizações usando pgAdmin

Etapa 5) Para visualizar o conteúdo da visualização, faça o seguinte:

  1. Digite o seguinte comando no editor de consultas:
  2. SELECT *
    FROM Price_View;
    
  3. Clique no botão Executar.

Criar PostgreSQL Visualizações usando pgAdmin

Isso retornará o seguinte:

Criar PostgreSQL Visualizações usando pgAdmin

Para criar a visualização Price_View2, faça o seguinte:

Passo 1) Digite a seguinte consulta no editor de consultas:

CREATE VIEW Price_View2 AS
  SELECT price
  FROM Price
  WHERE price > 200;

Etapa 2) Clique no botão Executar.

Criar PostgreSQL Visualizações usando pgAdmin

Passo 3) Para ver o conteúdo da visualização, faça o seguinte:

  1. Digite a seguinte consulta no editor de consultas:
  2. SELECT *
    FROM Price_View2;
    
  3. Clique no botão Executar.

Criar PostgreSQL Visualizações usando pgAdmin

Isso retornará o seguinte:

Criar PostgreSQL Visualizações usando pgAdmin

Mudar PostgreSQL Visualizações

Para fazer o mesmo por meio do pgAdmin, faça o seguinte:

Passo 1) Faça login em sua conta pgAdmin.

Passo 2)

  1. Na barra de navegação à esquerda, clique em Bancos de dados.
  2. Clique em Demonstração.

Mudar PostgreSQL Visualizações usando pgAdmin

Passo 3) Digite a consulta no editor de consultas:

CREATE or REPLACE VIEW Price_View2 AS
  SELECT price, name
  FROM Book
  INNER JOIN Price
  ON Book.id = Price.id
  WHERE price > 200;

Passo 4) Clique no botão Executar.

Mudar PostgreSQL Visualizações usando pgAdmin

Passo 5) Digite a seguinte consulta no editor de consultas:

SELECT * 
FROM Price_View2;

Isso retornará o seguinte:

Mudar PostgreSQL Visualizações usando pgAdmin

Excluindo PostgreSQL Visualizações

Para fazer o mesmo por meio do pgAdmin, faça o seguinte:

Passo 1) Faça login em sua conta pgAdmin.

Passo 2)

  1. Na barra de navegação à esquerda, clique em Bancos de dados.
  2. Clique em Demonstração.

Excluindo PostgreSQL Visualizações usando pgAdmin

Passo 3) Digite a consulta no editor de consultas:

DROP VIEW Price_View2;

Passo 4) Clique no botão Executar.

Excluindo PostgreSQL Visualizações usando pgAdmin

A visualização será excluída.

Resumo

  • A PostgreSQL view é uma pseudotabela, o que significa que não é uma tabela real.
  • Uma visualização pode ser criada a partir de uma ou mais tabelas.
  • As tabelas a partir das quais uma visualização é criada são conhecidas como tabelas base.
  • Para criar uma visualização, usamos a instrução CREATE OR REPLACE VIEW.
  • Para alterar a definição de uma visualização, usamos a instrução CREATE OR REPLACE VIEW.
  • Para excluir uma visualização, usamos a instrução DROP VIEW.

Baixe o banco de dados usado neste tutorial