PostgreSQL Crea vista con esempio

โšก Riepilogo intelligente

PostgreSQL Le viste sono pseudo-tabelle create a partire da una query SELECT memorizzata, che consentono di racchiudere query complesse o utilizzate frequentemente dietro un singolo nome, permettendo di leggerle, aggiornarle o eliminarle come una normale tabella.

  • ๐Ÿ—‚๏ธ Pseudo-tabella: Una vista memorizza una query, non i dati, eppure la si seleziona come se fosse una tabella.
  • ๏ธ Creare: L'istruzione CREATE VIEW assegna un nome a una query SELECT, anche su piรน tabelle di base, per facilitarne il riutilizzo.
  • โ™ป๏ธ Sostituisci: CREATE OR REPLACE VIEW modifica una vista senza trascinamentoping esso.
  • ๐Ÿ—‘๏ธ Far cadere: DROP VIEW rimuove una vista, mentre IF EXISTS evita un errore.
  • ๐Ÿค– Aiuto tramite IA: Gli assistenti basati sull'IA generano definizioni di vista e suggeriscono quali query includere.

PostgreSQL Crea vista

Cosa รจ 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 denominate tabelle di base. Quando si crea una vista, รจ sufficiente creare una query e assegnarle un nome, rendendola uno strumento utile per il wrapping.ping 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.

La/le condizione/i WHERE sono facoltative e devono essere soddisfatte affinchรฉ un 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 una sola colonna alla vista. Creiamo una vista che includa una sola colonna della tabella Prezzi:

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 Per visualizzare la vista, รจ 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. Se non lo si specifica e si tenta di eliminare una vista inesistente, verrร  visualizzato 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 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)

  • Dalla barra di navigazione a sinistra, fare clic su Database.
  • 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

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

  • Digitare il seguente comando nell'editor di query:
SELECT *
FROM Price_View;
  • 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:

  • Digitare la seguente query nell'editor di query:
SELECT *
FROM Price_View2;
  • 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)

  • Dalla barra di navigazione a sinistra, fare clic su Database.
  • 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)

  • Dalla barra di navigazione a sinistra, fare clic su Database.
  • 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.

Scarica il database utilizzato in questo tutorial

DOMANDE FREQUENTI

Una tabella memorizza fisicamente i dati su disco. Una vista, invece, memorizza solo una query SELECT, quindi l'esecuzione di una query su di essa riesegue tale query e restituisce i dati correnti dalle tabelle di base.

Una vista materializzata memorizza nella cache il risultato di una query su disco. La lettura รจ piรน veloce rispetto a una vista semplice, ma รจ necessario aggiornare la vista materializzata (FRESH MATERIALIZED VIEW) per visualizzare i nuovi dati.

Una vista standard esegue la query ogni volta, mostrando i dati in tempo reale. Una vista materializzata memorizza i risultati su disco per velocizzare il processo, ma potrebbe non essere aggiornata finchรฉ non viene eseguita.

A volte. Una semplice vista a tabella singola senza aggregazione รจ aggiornabile automaticamente, quindi le operazioni INSERT, UPDATE e DELETE funzionano direttamente. Le viste complesse richiedono trigger INSTEAD OF.

Interroga il catalogo: SELECT table_name FROM information_schema.views WHERE table_schema = 'public'. In pgAdmin, puoi espandere il nodo Views sotto uno schema.

Gli assistenti basati sull'intelligenza artificiale trasformano una richiesta in linguaggio naturale in un'istruzione CREATE VIEW, assegnano un nome alla vista e aggiungono le clausole WHERE e JOIN corrette, velocizzando le query che si riutilizzano frequentemente.

Sรฌ. Incolla una lunga query SELECT e un assistente basato sull'IA la racchiuderร  in un'istruzione CREATE OR REPLACE VIEW, suggerirร  un nome e segnalerร  le colonne che necessitano di alias per evitare nomi duplicati.

Una vista normale non velocizza le query perchรฉ la sua istruzione SELECT viene eseguita ogni volta. Per letture ripetute piรน veloci, utilizzare una vista materializzata, che memorizza i risultati su disco fino al momento dell'aggiornamento.

Riassumi questo post con: