Vaated PostgreSQL andmebaasis

Vaated (ing. k. view) on tihti välja kutsutavate SELECT lausete lihtsustatud kujul välja kutsumiseks. Vaate loomine on sisuliselt kombinatsioon CREATE TABLE ning SELECT käskudest 1:

CREATE [OR REPLACE] [TEMPORARY] VIEW vaate_nimi [ (tulba_nimi, [,...]) ]
    AS päring

PostgreSQL puhul vaated ei oma optimeerimise seisukohast tähtsust, vaatest päringu tegemisel asendatakse esialgsesse päringusse vaate päring

Vaated muudavad SQL koodi loetavamaks, hea näide on üsna kohmakas PostgreSQL-i andmebaaside nimistu päring:

SELECT d.datname as "Andmebaasi nimi",
    u.usename as "Omanik",
    pg_catalog.pg_encoding_to_char(d.encoding) as "Kodeering"
FROM pg_catalog.pg_database d
LEFT JOIN pg_catalog.pg_user u
   ON d.datdba = u.usesysid
ORDER BY d.datname;

Mis annab vasteks andmebaasi nime, omaniku ning kirjatabeli kodeeringu:

 Andmebaasi nimi |  Omanik  | Kodeering
-----------------+----------+-----------
 postgres        | postgres | UTF8
 template0       | postgres | UTF8
 template1       | postgres | UTF8
(3 rows)

Igakord selle päringu sisse kirjutamine muutub tüütuks, mistõttu on mugav teha sellest päringust vaade:

CREATE VIEW andmebaasid AS
    SELECT d.datname as "Andmebaasi nimi",
        u.usename as "Omanik",
        pg_catalog.pg_encoding_to_char(d.encoding) as "Kodeering"
    FROM pg_catalog.pg_database d
    LEFT JOIN pg_catalog.pg_user u
       ON d.datdba = u.usesysid
    ORDER BY d.datname;

Vaatest andmete pärimine on analoogne tavalisest tabelist andmete pärimisega:

SELECT * FROM andmebaasid;
1

http://www.postgresql.org/docs/9.1/static/sql-createview.html

Postgres SQL