PostgreSQL Criar visualização com exemplo

⚡ Resumo Inteligente

PostgreSQL As views são pseudo-tabelas construídas a partir de uma consulta SELECT armazenada, permitindo que você encapsule consultas complexas ou frequentemente usadas em um único nome que pode ser lido, atualizado ou excluído como uma tabela comum.

  • 🗂️ Pseudo-Tabela: Uma view armazena uma consulta, não dados, mas você a seleciona como se fosse uma tabela.
  • 🛠️ Crio: O comando CREATE VIEW nomeia uma consulta SELECT, mesmo que abranja várias tabelas base, para facilitar a reutilização.
  • ♻️ Substituir: CRIAR OU SUBSTITUIR VISUALIZAÇÃO altera uma visualização sem adicioná-la à lista.ping .
  • 🗑️ Drop: DROP VIEW remove uma visualização e IF EXISTS evita um erro.
  • 🤖 Ajuda da IA: Os assistentes de IA geram definições de visualização e sugerem quais consultas devem ser encapsuladas.

PostgreSQL Criar visualização

O que é a 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, basta criar uma consulta e dar um nome a ela, tornando-a uma ferramenta útil para encapsulamento.ping Consultas complexas e de uso comum.

Criar PostgreSQL Visualizações

Para criar uma barreira temporária, você pode usar móveis que já estão em sua casa. 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.

A(s) condição(ões) WHERE são opcionais 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 de Preços:

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 Para visualizar a VIEW, 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.

Nessa sintaxe, IF EXISTS é opcional. Se você não o especificar e tentar excluir uma visualização que não existe, ocorrerá 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

Vejamos agora 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.

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

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

  • Digite o seguinte comando no editor de consultas:
SELECT *
FROM Price_View;
  • 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;

Passo 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:

  • Digite a seguinte consulta no editor de consultas:
SELECT *
FROM Price_View2;
  • 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)

  • Na barra de navegação à esquerda, clique em Bancos de dados.
  • 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)

  • Na barra de navegação à esquerda, clique em Bancos de dados.
  • 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.

Baixe o banco de dados usado neste tutorial

Perguntas Frequentes

Uma tabela armazena dados fisicamente em disco. Uma visão armazena apenas uma consulta SELECT, portanto, consultá-la executa novamente essa consulta e retorna os dados atuais das tabelas base.

Uma visão materializada armazena em cache o resultado de uma consulta no disco. Ela lê mais rápido do que uma visão simples, mas precisa do comando REFRESH MATERIALIZED VIEW para exibir novos dados.

Uma visão padrão executa sua consulta a cada vez, exibindo dados em tempo real. Uma visão materializada armazena os resultados em disco para maior velocidade, mas pode ficar desatualizada até ser atualizada.

Às vezes. Uma visualização simples de tabela única, sem agregação, é atualizada automaticamente, portanto, as operações INSERT, UPDATE e DELETE funcionam diretamente. Visualizações complexas precisam de gatilhos INSTEAD OF.

Consulte o catálogo: SELECT table_name FROM information_schema.views WHERE table_schema = 'public'. No pgAdmin, você pode expandir o nó "Views" em um esquema.

Os assistentes de IA transformam uma solicitação em linguagem simples em uma instrução CREATE VIEW, nomeiam a visualização e adicionam as cláusulas WHERE e JOIN corretas, acelerando as consultas que você reutiliza com frequência.

Sim. Cole uma longa instrução SELECT e um assistente de IA a envolverá em um comando CREATE OR REPLACE VIEW, sugerirá um nome e sinalizará as colunas que precisam de aliases para evitar nomes duplicados.

Uma visão normal não acelera as consultas porque seu comando SELECT é executado a cada vez. Para leituras repetidas mais rápidas, use uma visão materializada, que armazena os resultados em disco até que sejam atualizados.

Resuma esta postagem com: