PostgreSQL Vytvořit pohled s příkladem

Co je to PostgreSQL Pohled?

In PostgreSQL, pohled je pseudotabulka. To znamená, že pohled není skutečnou tabulkou. Můžeme jej však VYBRAT jako obyčejnou tabulku. Pohled může mít všechny nebo některé sloupce tabulky. Pohled může být také reprezentací více než jedné tabulky.

Tabulky se označují jako základní tabulky. Při vytváření pohledu stačí vytvořit dotaz a poté jej pojmenovat, což z něj činí užitečný nástroj pro zalamování složitých a běžně používaných dotazů.

Vytvoření PostgreSQL Zobrazení

Vytvoření PostgreSQL zobrazení, použijeme příkaz CREATE VIEW. Zde je syntaxe tohoto příkazu:

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

Parametr OR REPLACE nahradí pohled, pokud již existuje. Pokud je vynechán a pohled již existuje, bude vrácena chyba.

Parametr view-name je název pohledu, který potřebujete vytvořit.

Podmínka(y) WHERE jsou možnosti a musí být splněny, aby byl jakýkoli záznam přidán do pohledu.

Zvažte níže uvedenou cenovou tabulku:

Cena:

Vytvoření PostgreSQL Zobrazení

Vytvořme pohled z výše uvedené tabulky:

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

Výše uvedený příkaz vytvoří pohled založený na příkaz SELECT. Do náhledu budou přidány pouze záznamy, kde je cena vyšší než 200. Pohled dostal název Price_View. Zeptejme se ho, abychom viděli jeho obsah:

SELECT *
FROM Price_View;

To vrátí následující:

Vytvoření PostgreSQL Zobrazení

I když má základní tabulka 4 záznamy, do pohledu byly přidány pouze 2.

Zde můžeme do zobrazení přidat pouze jeden sloupec. Vytvořme pohled, který bude obsahovat pouze jeden sloupec cenové tabulky:

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

Pohled dostal název Price_View2 a obsahuje pouze sloupec s cenou v tabulce Price. Zašleme dotaz na pohled, abychom viděli jeho obsah:

SELECT *
FROM Price_View2;

To vrátí následující:

Vytvoření PostgreSQL Zobrazení

Měnící se PostgreSQL Zobrazení

Definici pohledu lze změnit, aniž byste jej museli rušit. To se provádí pomocí příkazu CREATE OR REPLACE VIEW.

Ukažme si to aktualizací pohledu s názvem Price_View2.

Price_View2:

Měnící se PostgreSQL Zobrazení

Tabulka knihy je následující:

Rezervovat:

Měnící se PostgreSQL Zobrazení

Tabulka cen je následující:

Cena:

Měnící se PostgreSQL Zobrazení

Následující dotaz nám pomůže aktualizovat zobrazení 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;

Pojďme se nyní dotázat pohledu, abychom viděli jeho obsah:

Měnící se PostgreSQL Zobrazení

Pohled byl změněn a nyní máme dva sloupce ze dvou různých tabulek. Toho bylo dosaženo pomocí příkazu JOIN.

mazání PostgreSQL Zobrazení

Kdykoli potřebujete smazat a PostgreSQL Pohled. Můžete použít příkaz DROP VIEW. Zde je syntaxe příkazu:

DROP VIEW [IF EXISTS] view-name;

Parametr view-name je název pohledu, který má být odstraněn.

V této syntaxi je IF EXISTS nepovinné. Je pouze vyžadováno. Pokud jej nezadáte a pokusíte se smazat pohled, který neexistuje, zobrazí se chyba.

Chcete-li například zrušit zobrazení s názvem Price_View2, můžeme spustit následující příkaz:

DROP VIEW Price_View2;

Pohled bude smazán.

Pomocí pgAdmin

Nyní se podívejme, jak lze tyto akce provádět pomocí pgAdmin.

Vytvoření PostgreSQL Zobrazení

Chcete-li provést totéž prostřednictvím pgAdmin, postupujte takto:

Krok 1) Přihlaste se ke svému účtu pgAdmin.

Krok 2)

  1. Na navigační liště vlevo klikněte na Databáze.
  2. Klepněte na tlačítko Demo.

Vytvoření PostgreSQL Pohledy pomocí pgAdmin

Krok 3) Zadejte dotaz v editoru dotazů:

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

Krok 4) Klepněte na tlačítko Spustit.

Vytvoření PostgreSQL Pohledy pomocí pgAdmin

Krok 5) Chcete-li zobrazit obsah zobrazení, postupujte takto:

  1. V editoru dotazů zadejte následující příkaz:
  2. SELECT *
    FROM Price_View;
    
  3. Klepněte na tlačítko Spustit.

Vytvoření PostgreSQL Pohledy pomocí pgAdmin

Tím se vrátí následující:

Vytvoření PostgreSQL Pohledy pomocí pgAdmin

Chcete-li vytvořit zobrazení Price_View2, postupujte takto:

Krok 1) V editoru dotazů zadejte následující dotaz:

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

Krok 2) Klepněte na tlačítko Provést.

Vytvoření PostgreSQL Pohledy pomocí pgAdmin

Krok 3) Chcete-li zobrazit obsah zobrazení, postupujte takto:

  1. V editoru dotazů zadejte následující dotaz:
  2. SELECT *
    FROM Price_View2;
    
  3. Klepněte na tlačítko Spustit.

Vytvoření PostgreSQL Pohledy pomocí pgAdmin

Tím se vrátí následující:

Vytvoření PostgreSQL Pohledy pomocí pgAdmin

Měnící se PostgreSQL Zobrazení

Chcete-li provést totéž prostřednictvím pgAdmin, postupujte takto:

Krok 1) Přihlaste se ke svému účtu pgAdmin.

Krok 2)

  1. Na navigační liště vlevo klikněte na Databáze.
  2. Klepněte na tlačítko Demo.

Měnící se PostgreSQL Pohledy pomocí pgAdmin

Krok 3) Zadejte dotaz v editoru dotazů:

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

Krok 4) Klepněte na tlačítko Spustit.

Měnící se PostgreSQL Pohledy pomocí pgAdmin

Krok 5) V editoru dotazů zadejte následující dotaz:

SELECT * 
FROM Price_View2;

Tím se vrátí následující:

Měnící se PostgreSQL Pohledy pomocí pgAdmin

mazání PostgreSQL Zobrazení

Chcete-li provést totéž prostřednictvím pgAdmin, postupujte takto:

Krok 1) Přihlaste se ke svému účtu pgAdmin.

Krok 2)

  1. Na navigační liště vlevo klikněte na Databáze.
  2. Klepněte na tlačítko Demo.

mazání PostgreSQL Pohledy pomocí pgAdmin

Krok 3) Zadejte dotaz v editoru dotazů:

DROP VIEW Price_View2;

Krok 4) Klepněte na tlačítko Spustit.

mazání PostgreSQL Pohledy pomocí pgAdmin

Pohled bude smazán.

Shrnutí

  • A PostgreSQL view je pseudotabulka, což znamená, že nejde o skutečnou tabulku.
  • Pohled lze vytvořit z jedné nebo více tabulek.
  • Tabulky, ze kterých je vytvořen pohled, se nazývají základní tabulky.
  • K vytvoření pohledu používáme příkaz CREATE OR REPLACE VIEW.
  • Ke změně definice pohledu používáme příkaz CREATE OR REPLACE VIEW.
  • Pro smazání pohledu používáme příkaz DROP VIEW.

Stáhněte si databázi použitou v tomto kurzu