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

PostgreSQL View(視圖)

View (vista) è una tabella fittizia, ma è memorizzata nel database con un nome relativo utilizzando una dichiarazione PostgreSQL.

View (vista) è in realtà una combinazione di tabelle che esistono in forma di query PostgreSQL predefinita.

View (vista) può includere tutte le righe di una tabella o righe selezionate da una o più tabelle.

View (vista) può essere creata da una o più tabelle, a seconda della query PostgreSQL che si desidera creare per la vista.

View (vista) è una tabella virtuale che permette di fare il seguente:

  • Il modo in cui gli utenti o i gruppi di utenti ritengono più naturale o intuitivo trovare la struttura dei dati.

  • Limita l'accesso ai dati, in modo che gli utenti possano vedere solo una parte limitata dei dati, non l'intera tabella.

  • Riunisce i dati da vari tavoli per generare report.

Le viste PostgreSQL sono di sola lettura, quindi potrebbe non essere possibile eseguire statement DELETE, INSERT o UPDATE sulla vista. Tuttavia, è possibile creare un trigger sulla vista, che viene attivato quando si tenta di eseguire DELETE, INSERT o UPDATE sulla vista, e l'azione da eseguire viene definita nel contenuto del trigger.

CREATE VIEW (crea vista)

In PostgreSQL, crea una vista utilizzando la dichiarazione CREATE VIEW, la creazione di una vista può avvenire da una tabella, più tabelle o da altre viste.

La sintassi di base per CREATE VIEW è la seguente:

CREATE [TEMP | TEMPORARY] VIEW view_name AS
SELECT column1, column2.....
FROM table_name
WHERE [condition];

Puoi includere più tabelle in una dichiarazione SELECT, il che è molto simile al modo in cui si fa una query SELECT SQL normale. Se si utilizza la parola chiave opzionale TEMP o TEMPORARY, verrà creata una vista nella base dati temporanea.

Esempio online

Crea la tabella COMPANY ( ,

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 righe)

Ora, ecco un esempio di come creare una vista dalla tabella COMPANY. La vista选取 solo alcune colonne dalla tabella COMPANY:

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

Ora, è possibile interrogare la vista COMPANY_VIEW, allo stesso modo di interrogare una tabella reale. Ecco un esempio:

w3codeboxdb# SELECT * FROM COMPANY_VIEW;

Risultato ottenuto come segue:

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 righe)

DROP VIEW (elimina la vista)

Per eliminare una vista, è sufficiente utilizzare la dichiarazione DROP VIEW con il nome view_name. La sintassi di base di DROP VIEW è la seguente:

w3codeboxdb=# DROP VIEW view_name;

Le seguenti comandi elimineranno la vista COMPANY_VIEW che abbiamo creato in precedenza:

w3codeboxdb=# DROP VIEW COMPANY_VIEW;