PostgreSQL Crea vista con esempio

Che cos'è la PostgreSQL Visualizza?

In PostgreSQL, una vista è una pseudo-tabella. Ciò significa che una vista non è una tabella reale. Tuttavia, possiamo SELEZIONARLO come una normale tabella. Una vista può avere tutte o alcune colonne della tabella. Una vista può anche essere una rappresentazione di più di una tabella.

Le tabelle sono chiamate tabelle di base. Quando si crea una vista, è sufficiente creare una query e darle un nome, rendendolo uno strumento utile per avvolgere query complesse e di uso comune.

Creazione PostgreSQL Visualizzazioni

Per creare un PostgreSQL view, utilizziamo l'istruzione CREATE VIEW. Ecco la sintassi di questa affermazione:

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

Il parametro OR REPLACE sostituirà la vista se esiste già. Se omesso e la vista esiste già, verrà restituito un errore.

Il parametro view-name è il nome della vista che devi creare.

Le condizioni WHERE sono opzioni e devono essere soddisfatte affinché qualsiasi record possa essere aggiunto alla vista.

Considera la tabella dei prezzi riportata di seguito:

Prezzo:

Creazione PostgreSQL Visualizzazioni

Creiamo una vista dalla tabella sopra:

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

Il comando precedente creerà una vista basata su Istruzione SELECT. Verranno aggiunti alla vista solo i record il cui prezzo è maggiore di 200. Alla vista è stato assegnato il nome Price_View. Interroghiamolo per vederne il contenuto:

SELECT *
FROM Price_View;

Questo restituisce quanto segue:

Creazione PostgreSQL Visualizzazioni

Anche se la tabella di base ha 4 record, solo 2 sono stati aggiunti alla vista.

Qui possiamo aggiungere solo una colonna alla vista. Creiamo una vista che includa solo una colonna della tabella Prezzo:

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

Alla vista è stato assegnato il nome Price_View2 e include solo la colonna dei prezzi della tabella Prezzi. Interroghiamo la vista per vederne il contenuto:

SELECT *
FROM Price_View2;

Questo restituisce quanto segue:

Creazione PostgreSQL Visualizzazioni

Cambiare PostgreSQL Visualizzazioni

La definizione di una vista può essere modificata senza doverla eliminare. Questo viene fatto utilizzando l'istruzione CREATE OR REPLACE VIEW.

Dimostriamolo aggiornando la vista denominata Price_View2.

Prezzo_Visualizzazione2:

Cambiare PostgreSQL Visualizzazioni

La tabella Libro è la seguente:

Libro:

Cambiare PostgreSQL Visualizzazioni

La tabella dei prezzi è la seguente:

Prezzo:

Cambiare PostgreSQL Visualizzazioni

La seguente query ci aiuterà ad aggiornare la vista 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;

Interroghiamo ora la vista per vederne il contenuto:

Cambiare PostgreSQL Visualizzazioni

La vista è stata modificata e ora abbiamo due colonne di due tabelle diverse. Ciò è stato ottenuto utilizzando un'istruzione JOIN.

Eliminazione PostgreSQL Visualizzazioni

Ogni volta che è necessario eliminare un file PostgreSQL visualizzazione. È possibile utilizzare l'istruzione DROP VIEW. Ecco la sintassi dell'istruzione:

DROP VIEW [IF EXISTS] view-name;

Il parametro view-name è il nome della vista da eliminare.

In questa sintassi, IF EXISTS è facoltativo. È solo richiesto. Se non lo specifichi e tenti di eliminare una vista che non esiste, riceverai un errore.

Ad esempio, per eliminare la vista denominata Price_View2, possiamo eseguire la seguente istruzione:

DROP VIEW Price_View2;

La vista verrà eliminata.

Utilizzando pgAdmin

Vediamo ora come è possibile eseguire queste azioni utilizzando pgAdmin.

Creazione PostgreSQL Visualizzazioni

Per ottenere lo stesso risultato tramite pgAdmin, procedi come segue:

Passo 1) Accedi al tuo account pgAdmin.

Passo 2)

  1. Dalla barra di navigazione a sinistra, fare clic su Database.
  2. Fare clic su Demo.

Creazione PostgreSQL Visualizzazioni utilizzando pgAdmin

Passo 3) Digita la query nell'editor di query:

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

Passo 4) Fare clic sul pulsante Esegui.

Creazione PostgreSQL Visualizzazioni utilizzando pgAdmin

Passaggio 5) Per visualizzare il contenuto della vista, procedere come segue:

  1. Digitare il seguente comando nell'editor di query:
  2. SELECT *
    FROM Price_View;
    
  3. Fare clic sul pulsante Esegui.

Creazione PostgreSQL Visualizzazioni utilizzando pgAdmin

Verrà restituito quanto segue:

Creazione PostgreSQL Visualizzazioni utilizzando pgAdmin

Per creare la vista Price_View2, procedere come segue:

Passo 1) Digitare la seguente query nell'editor di query:

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

Passo 2 ) Fare clic sul pulsante Esegui.

Creazione PostgreSQL Visualizzazioni utilizzando pgAdmin

Passo 3) Per visualizzare il contenuto della vista, procedere come segue:

  1. Digitare la seguente query nell'editor di query:
  2. SELECT *
    FROM Price_View2;
    
  3. Fare clic sul pulsante Esegui.

Creazione PostgreSQL Visualizzazioni utilizzando pgAdmin

Verrà restituito quanto segue:

Creazione PostgreSQL Visualizzazioni utilizzando pgAdmin

Cambiare PostgreSQL Visualizzazioni

Per ottenere lo stesso risultato tramite pgAdmin, procedi come segue:

Passo 1) Accedi al tuo account pgAdmin.

Passo 2)

  1. Dalla barra di navigazione a sinistra, fare clic su Database.
  2. Fare clic su Demo.

Cambiare PostgreSQL Visualizzazioni utilizzando pgAdmin

Passo 3) Digita la query nell'editor di query:

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) Fare clic sul pulsante Esegui.

Cambiare PostgreSQL Visualizzazioni utilizzando pgAdmin

Passo 5) Digitare la seguente query nell'editor di query:

SELECT * 
FROM Price_View2;

Verrà restituito quanto segue:

Cambiare PostgreSQL Visualizzazioni utilizzando pgAdmin

Eliminazione PostgreSQL Visualizzazioni

Per ottenere lo stesso risultato tramite pgAdmin, procedi come segue:

Passo 1) Accedi al tuo account pgAdmin.

Passo 2)

  1. Dalla barra di navigazione a sinistra, fare clic su Database.
  2. Fare clic su Demo.

Eliminazione PostgreSQL Visualizzazioni utilizzando pgAdmin

Passo 3) Digita la query nell'editor di query:

DROP VIEW Price_View2;

Passo 4) Fare clic sul pulsante Esegui.

Eliminazione PostgreSQL Visualizzazioni utilizzando pgAdmin

La vista verrà eliminata.

Sommario

  • A PostgreSQL view è una pseudo-tabella, il che significa che non è una tabella reale.
  • È possibile creare una vista da una o più tabelle.
  • Le tabelle da cui viene creata una vista sono note come tabelle di base.
  • Per creare una vista, utilizziamo l'istruzione CREATE OR REPLACE VIEW.
  • Per modificare la definizione di una vista, utilizziamo l'istruzione CREATE OR REPLACE VIEW.
  • Per eliminare una vista, utilizziamo l'istruzione DROP VIEW.

Scarica il database utilizzato in questo tutorial