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:
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:
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:
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:
A tabela Livro é a seguinte:
Livro:
A tabela de preços é a seguinte:
Preço:
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:
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)
- Na barra de navegação à esquerda, clique em Bancos de dados.
- Clique em Demonstração.
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.
Etapa 5) Para visualizar o conteúdo da visualização, faça o seguinte:
- Digite o seguinte comando no editor de consultas:
- Clique no botão Executar.
SELECT * FROM Price_View;
Isso retornará o seguinte:
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.
Passo 3) Para ver o conteúdo da visualização, faça o seguinte:
- Digite a seguinte consulta no editor de consultas:
- Clique no botão Executar.
SELECT * FROM Price_View2;
Isso retornará o seguinte:
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)
- Na barra de navegação à esquerda, clique em Bancos de dados.
- Clique em Demonstração.
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.
Passo 5) Digite a seguinte consulta no editor de consultas:
SELECT * FROM Price_View2;
Isso retornará o seguinte:
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)
- Na barra de navegação à esquerda, clique em Bancos de dados.
- Clique em Demonstração.
Passo 3) Digite a consulta no editor de consultas:
DROP VIEW Price_View2;
Passo 4) Clique no botão Executar.
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