PostgreSQL Loo vaade näite abil

Mis on PostgreSQL Kas vaadata?

In PostgreSQL, vaade on pseudotabel. See tähendab, et vaade ei ole päris tabel. Küll aga saame selle VALIDA tavalise tabelina. Vaatel võivad olla kõik või mõned tabeli veerud. Vaade võib olla ka rohkem kui ühe tabeli esitus.

Tabeleid nimetatakse alustabeliteks. Vaate loomisel peate lihtsalt looma päringu ja andma sellele nime, muutes selle kasulikuks tööriistaks keerukate ja sageli kasutatavate päringute pakkimiseks.

loomine PostgreSQL views

Et luua a PostgreSQL vaates kasutame lauset CREATE VIEW. Siin on selle avalduse süntaks:

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

Parameeter OR REPLACE asendab vaate, kui see on juba olemas. Kui see jäetakse välja ja vaade on juba olemas, tagastatakse viga.

Parameeter vaate nimi on selle vaate nimi, mille peate looma.

Tingimus(ed) WHERE on valikud ja need peavad olema täidetud, et vaatesse saaks lisada mis tahes kirje.

Mõelge allpool toodud hinnatabelile:

Hind:

loomine PostgreSQL views

Loome ülaltoodud tabelist vaate:

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

Ülaltoodud käsk loob vaate, mis põhineb SELECT avaldus. Vaatele lisatakse ainult need kirjed, mille hind on suurem kui 200. Vaatele on antud nimi Price_View. Sisu nägemiseks küsime seda:

SELECT *
FROM Price_View;

See tagastab järgmise:

loomine PostgreSQL views

Kuigi baastabelis on 4 kirjet, lisati vaatesse ainult 2.

Siin saame vaatele lisada ainult ühe veeru. Loome vaate, mis sisaldab ainult ühte hinnatabeli veergu:

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

Vaade on saanud nimetuse Price_View2 ja sisaldab ainult hinna tabeli hinna veergu. Küsige vaadet, et näha selle sisu:

SELECT *
FROM Price_View2;

See tagastab järgmise:

loomine PostgreSQL views

Muutuv PostgreSQL views

Vaate määratlust saab muuta, ilma et peaksite seda loobuma. Seda tehakse käsu CREATE OR REPLACE VIEW abil.

Näitame seda, värskendades vaadet nimega Price_View2.

Price_View2:

Muutuv PostgreSQL views

Raamatute tabel on järgmine:

Raamat:

Muutuv PostgreSQL views

Hinnatabel on järgmine:

Hind:

Muutuv PostgreSQL views

Järgmine päring aitab meil vaadet Price_View2 värskendada:

CREATE or REPLACE VIEW Price_View2 AS
  SELECT price, name
  FROM Book
  INNER JOIN Price
  ON Book.id = Price.id
  WHERE price > 200;

Teeme nüüd vaate päringu, et näha selle sisu:

Muutuv PostgreSQL views

Vaade on muudetud ja nüüd on meil kaks veergu kahest erinevast tabelist. See on saavutatud JOIN-lause abil.

kustutamine PostgreSQL views

Iga kord, kui peate kustutama a PostgreSQL vaade. Võite kasutada DROP VIEW avaldust. Siin on avalduse süntaks:

DROP VIEW [IF EXISTS] view-name;

Parameeter view-name on kustutatava vaate nimi.

Selles süntaksis on IF EXISTS valikuline. See on ainult nõutav. Kui te seda ei määra ja proovite kustutada vaadet, mida pole olemas, kuvatakse tõrketeade.

Näiteks kuva nimega Price_View2 loobumiseks saame käivitada järgmise avalduse:

DROP VIEW Price_View2;

Vaade kustutatakse.

pgAdmini kasutamine

Nüüd vaatame, kuidas neid toiminguid pgAdmini abil teha saab.

loomine PostgreSQL views

Sama tegemiseks pgAdmini kaudu tehke järgmist:

Step 1) Logige sisse oma pgAdmini kontole.

Step 2)

  1. Vasakpoolsel navigeerimisribal klõpsake nuppu Andmebaasid.
  2. Klõpsake Demo.

loomine PostgreSQL Vaated pgAdmini abil

Step 3) Sisestage päring päringuredaktorisse:

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

Step 4) Klõpsake nuppu Käivita.

loomine PostgreSQL Vaated pgAdmini abil

Samm 5) Vaate sisu vaatamiseks tehke järgmist.

  1. Tippige päringuredaktorisse järgmine käsk:
  2. SELECT *
    FROM Price_View;
    
  3. Klõpsake nuppu Käivita.

loomine PostgreSQL Vaated pgAdmini abil

See tagastab järgmise:

loomine PostgreSQL Vaated pgAdmini abil

Vaate Price_View2 loomiseks tehke järgmist.

Step 1) Tippige päringuredaktorisse järgmine päring:

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

Samm 2) Klõpsake nuppu Käivita.

loomine PostgreSQL Vaated pgAdmini abil

Step 3) Vaate sisu vaatamiseks tehke järgmist.

  1. Tippige päringuredaktorisse järgmine päring:
  2. SELECT *
    FROM Price_View2;
    
  3. Klõpsake nuppu Käivita.

loomine PostgreSQL Vaated pgAdmini abil

See tagastab järgmise:

loomine PostgreSQL Vaated pgAdmini abil

Muutuv PostgreSQL views

Sama tegemiseks pgAdmini kaudu tehke järgmist:

Step 1) Logige sisse oma pgAdmini kontole.

Step 2)

  1. Vasakpoolsel navigeerimisribal klõpsake nuppu Andmebaasid.
  2. Klõpsake Demo.

Muutuv PostgreSQL Vaated pgAdmini abil

Step 3) Sisestage päring päringuredaktorisse:

CREATE or REPLACE VIEW Price_View2 AS
  SELECT price, name
  FROM Book
  INNER JOIN Price
  ON Book.id = Price.id
  WHERE price > 200;

Step 4) Klõpsake nuppu Käivita.

Muutuv PostgreSQL Vaated pgAdmini abil

Step 5) Tippige päringuredaktorisse järgmine päring:

SELECT * 
FROM Price_View2;

See tagastab järgmise:

Muutuv PostgreSQL Vaated pgAdmini abil

kustutamine PostgreSQL views

Sama tegemiseks pgAdmini kaudu tehke järgmist:

Step 1) Logige sisse oma pgAdmini kontole.

Step 2)

  1. Vasakpoolsel navigeerimisribal klõpsake nuppu Andmebaasid.
  2. Klõpsake Demo.

kustutamine PostgreSQL Vaated pgAdmini abil

Step 3) Sisestage päring päringuredaktorisse:

DROP VIEW Price_View2;

Step 4) Klõpsake nuppu Käivita.

kustutamine PostgreSQL Vaated pgAdmini abil

Vaade kustutatakse.

kokkuvõte

  • A PostgreSQL vaade on pseudotabel, mis tähendab, et see pole päris tabel.
  • Vaate saab luua ühest või mitmest tabelist.
  • Tabeleid, millest vaade luuakse, nimetatakse baastabeliteks.
  • Vaate loomiseks kasutame käsku CREATE OR REPLACE VIEW.
  • Vaate definitsiooni muutmiseks kasutame käsku CREATE OR REPLACE VIEW.
  • Vaate kustutamiseks kasutame käsku DROP VIEW.

Laadige alla selles õpetuses kasutatud andmebaas