English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

View (Visão) PostgreSQL

View (visão) é uma tabela falsa, armazenada na base de dados como uma declaração PostgreSQL relacionada ao nome.

View (visão) é na verdade uma combinação de tabelas que existe na forma de uma consulta PostgreSQL pré-definida.

View (visão) pode conter todas as linhas de uma tabela ou linhas selecionadas de uma ou mais tabelas.

View (visão) pode ser criada a partir de uma ou mais tabelas, dependendo da consulta PostgreSQL que se deseja criar a visão.

View (visão) é uma tabela virtual que permite ao usuário implementar os seguintes pontos:

  • Modo mais natural ou intuitivo para os usuários ou grupos de usuários encontrar estruturas de dados.

  • Restrição do acesso aos dados, permitindo que os usuários vejam apenas uma quantidade limitada de dados, em vez de toda a tabela.

  • Resumo de dados de várias tabelas, usado para gerar relatórios.

As visões do PostgreSQL são leitura apenas, portanto, pode não ser possível executar comandos DELETE, INSERT ou UPDATE sobre elas. No entanto, é possível criar um gatilho na visão, que será acionado ao tentar DELETE, INSERT ou UPDATE a visão, e as ações a serem realizadas são definidas no conteúdo do gatilho.

CREATE VIEW (criar visão)

No PostgreSQL, a criação de visões pode ser feita usando a declaração CREATE VIEW, que pode criar visões a partir de uma tabela, várias tabelas ou até mesmo de outras visões.

CREATE VIEW A sintaxe básica é a seguinte:

CREATE [TEMP | TEMPORARY] VIEW nome_da_visão AS
SELECT coluna1, coluna2.....
FROM nome_da_tabela
WHERE [condição];

Você pode incluir várias tabelas na declaração SELECT, da mesma forma que em uma consulta SELECT normal. Se usar as palavras-chave OPCIONAIS TEMP ou TEMPORARY, a visão será criada em um banco de dados temporário.

Exemplo online

Criar tabela COMPANY(Baixar arquivo SQL da COMPANY ),o conteúdo dos dados é o seguinte:

w3codeboxdb# select * from COMPANY;
 id | name  | age | address   | salary
----+-------+-----+-----------+--------
  1 | Paul  |  32 | California|  20000
  2 | Allen |  25 | Texas     |  15000
  3 | Teddy |  23 | Norway    |  20000
  4 | Mark  |  25 | Rich-Mond |  65000
  5 | David |  27 | Texas     |  85000
  6 | Kim   |  22 | South-Hall|  45000
  7 | James |  24 | Houston   |  10000
(7 linhas)

Agora, aqui está um exemplo de como criar uma visão a partir da tabela COMPANY. A visão seleciona apenas algumas colunas da tabela COMPANY:

w3codeboxdb=# CREATE VIEW COMPANY_VIEW AS
SELECT ID, NAME, AGE
FROM  COMPANY;

Agora, você pode consultar a COMPANY_VIEW da mesma forma que uma consulta real à tabela. Abaixo está um exemplo:

w3codeboxdb# SELECT * FROM COMPANY_VIEW;

Os resultados obtidos são os seguintes:

id | name  | age
----+-------+-----
  1 | Paul  |  32
  2 | Allen |  25
  3 | Teddy |  23
  4 | Mark  |  25
  5 | David |  27
  6 | Kim   |  22
  7 | James |  24
(7 linhas)

DROP VIEW (excluir visão)

Para excluir uma visão, use a declaração DROP VIEW com o nome da visão. A sintaxe básica do DROP VIEW é a seguinte:

w3codeboxdb=# DROP VIEW view_name;

A seguir, o comando removerá a visão COMPANY_VIEW que criamos anteriormente:

w3codeboxdb=# DROP VIEW COMPANY_VIEW;