PostgreSQL Nézet létrehozása a példával

⚡ Okos összefoglaló

PostgreSQL A nézetek egy tárolt SELECT lekérdezésből létrehozott pszeudotáblák, amelyek lehetővé teszik, hogy összetett vagy gyakran használt lekérdezéseket egyetlen név mögé csomagoljunk, amelyet egy hagyományos táblához hasonlóan olvashatunk, frissíthetünk vagy törölhetünk.

  • 🗂️ Pszeudotábla: Egy nézet lekérdezést tárol, nem adatot, mégis SELECT művelettel szelektálod, mint egy táblázatot.
  • 🇧🇷 Teremt: A CREATE VIEW függvény elnevezi a SELECT lekérdezéseket, akár több alaptáblán keresztül is, az egyszerű újrafelhasználás érdekében.
  • ♻️ Csere: A CREATE OR REPLACE VIEW parancs nézetet változtat meg elvetés nélkül.ping azt.
  • 🗑️ Csepp: A DROP VIEW parancs eltávolít egy nézetet, az IF EXISTS parancs pedig elkerüli a hibát.
  • 🤖 MI segítség: A mesterséges intelligencia asszisztensek nézetdefiníciókat generálnak, és javaslatot tesznek arra, hogy mely lekérdezéseket kell becsomagolni.

PostgreSQL Nézet létrehozása

Mi a PostgreSQL Kilátás?

In PostgreSQL, a nézet egy pszeudo-tábla. Ez azt jelenti, hogy a nézet nem valódi táblázat. Azonban ki tudjuk választani, mint egy közönséges táblázatot. Egy nézet tartalmazhatja a táblázat összes oszlopát vagy néhányat. Egy nézet egynél több táblázatot is ábrázolhat.

A táblákat alaptábláknak nevezzük. Nézet létrehozásakor csak létre kell hozni egy lekérdezést, majd nevet kell adni neki, így hasznos eszközzé válik a nézet tördeléséhez.ping összetett és gyakran használt lekérdezések.

létrehozása PostgreSQL Nézetek

A PostgreSQL nézetben a CREATE VIEW utasítást használjuk. Íme az utasítás szintaxisa:

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

Az OR REPLACE paraméter lecseréli a nézetet, ha az már létezik. Ha kihagyja, és a nézet már létezik, hibaüzenet jelenik meg.

A view-name paraméter a létrehozandó nézet neve.

A WHERE feltétel(ek) opcionálisak, és teljesülniük kell ahhoz, hogy bármely rekord hozzáadódjon a nézethez.

Tekintse meg az alábbi ártáblázatot:

Ár:

létrehozása PostgreSQL Nézetek

Hozzunk létre egy nézetet a fenti táblázatból:

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

A fenti parancs nézetet hoz létre a SELECT utasítás. Csak azok a rekordok jelennek meg a nézetben, amelyeknél az ár meghaladja a 200-at. A nézet a Price_View nevet kapta. Kérdezzük meg, hogy lássuk a tartalmát:

SELECT *
FROM Price_View;

Ez a következőket adja vissza:

létrehozása PostgreSQL Nézetek

Annak ellenére, hogy az alaptáblázat 4 rekordot tartalmaz, csak 2 került a nézetbe.

Itt csak egy oszlopot adhatunk hozzá a nézethez. Hozzunk létre egy olyan nézetet, amely csak egy oszlopot tartalmaz a Price táblából:

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

A nézet a Price_View2 nevet kapta, és csak az Ár táblázat ároszlopát tartalmazza. Lekérdezzük a nézetet, hogy megnézzük a tartalmát:

SELECT *
FROM Price_View2;

Ez a következőket adja vissza:

létrehozása PostgreSQL Nézetek

Megváltoztatása PostgreSQL Nézetek

A nézet meghatározása anélkül módosítható, hogy el kellene dobnia. Ez a CREATE OR REPLACE VIEW utasítással történik.

Mutassuk meg ezt a Price_View2 nevű nézet frissítésével.

Price_View2:

Megváltoztatása PostgreSQL Nézetek

A könyvtáblázat a következő:

Könyv:

Megváltoztatása PostgreSQL Nézetek

Az ártáblázat a következő:

Ár:

Megváltoztatása PostgreSQL Nézetek

A következő lekérdezés segít a Price_View2 nézet frissítésében:

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

Most kérdezzük meg a nézetet, hogy megnézzük a tartalmát:

Megváltoztatása PostgreSQL Nézetek

A nézet megváltozott, és most két oszlop van két különböző táblázatból. Ezt a JOIN utasítással sikerült elérni.

törlése PostgreSQL Nézetek

Bármikor törölnie kell a PostgreSQL nézetben használhatja a DROP VIEW utasítást. Az utasítás szintaxisa a következő:

DROP VIEW [IF EXISTS] view-name;

A view-name paraméter a törölni kívánt nézet neve.

Ebben a szintaxisban az IF EXISTS opcionális. Ha nem adjuk meg, és egy nem létező nézetet próbálunk törölni, hibát kapunk.

Például az Price_View2 nézet elvetéséhez a következő utasítást futtathatjuk:

DROP VIEW Price_View2;

A nézet törlődik.

pgAdmin használatával

Most nézzük meg, hogyan hajthatók végre ezek a műveletek a pgAdmin segítségével.

létrehozása PostgreSQL Nézetek

Ha ugyanezt a pgAdminon keresztül szeretné elérni, tegye a következőket:

Step 1) Jelentkezzen be pgAdmin fiókjába.

Step 2)

  • A bal oldali navigációs sávban kattintson az Adatbázisok elemre.
  • Kattintson a Demo gombra.

létrehozása PostgreSQL Nézetek a pgAdmin használatával

Step 3) Írja be a lekérdezést a lekérdezésszerkesztőbe:

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

Step 4) Kattintson a Végrehajtás gombra.

létrehozása PostgreSQL Nézetek a pgAdmin használatával

Step 5) A nézet tartalmának megtekintéséhez tegye a következőket:

  • Írja be a következő parancsot a lekérdezésszerkesztőbe:
SELECT *
FROM Price_View;
  • Kattintson a Végrehajtás gombra.

létrehozása PostgreSQL Nézetek a pgAdmin használatával

Ez a következőt adja vissza:

létrehozása PostgreSQL Nézetek a pgAdmin használatával

A Price_View2 nézet létrehozásához tegye a következőket:

Step 1) Írja be a következő lekérdezést a lekérdezésszerkesztőbe:

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

Step 2) Kattintson a Végrehajtás gombra.

létrehozása PostgreSQL Nézetek a pgAdmin használatával

Step 3) A nézet tartalmának megtekintéséhez tegye a következőket:

  • Írja be a következő lekérdezést a lekérdezésszerkesztőbe:
SELECT *
FROM Price_View2;
  • Kattintson a Végrehajtás gombra.

létrehozása PostgreSQL Nézetek a pgAdmin használatával

Ez a következőt adja vissza:

létrehozása PostgreSQL Nézetek a pgAdmin használatával

Megváltoztatása PostgreSQL Nézetek

Ha ugyanezt a pgAdminon keresztül szeretné elérni, tegye a következőket:

Step 1) Jelentkezzen be pgAdmin fiókjába.

Step 2)

  • A bal oldali navigációs sávban kattintson az Adatbázisok elemre.
  • Kattintson a Demo gombra.

Megváltoztatása PostgreSQL Nézetek a pgAdmin használatával

Step 3) Írja be a lekérdezést a lekérdezésszerkesztőbe:

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) Kattintson a Végrehajtás gombra.

Megváltoztatása PostgreSQL Nézetek a pgAdmin használatával

Step 5) Írja be a következő lekérdezést a lekérdezésszerkesztőbe:

SELECT *
FROM Price_View2;

Ez a következőt adja vissza:

Megváltoztatása PostgreSQL Nézetek a pgAdmin használatával

törlése PostgreSQL Nézetek

Ha ugyanezt a pgAdminon keresztül szeretné elérni, tegye a következőket:

Step 1) Jelentkezzen be pgAdmin fiókjába.

Step 2)

  • A bal oldali navigációs sávban kattintson az Adatbázisok elemre.
  • Kattintson a Demo gombra.

törlése PostgreSQL Nézetek a pgAdmin használatával

Step 3) Írja be a lekérdezést a lekérdezésszerkesztőbe:

DROP VIEW Price_View2;

Step 4) Kattintson a Végrehajtás gombra.

törlése PostgreSQL Nézetek a pgAdmin használatával

A nézet törlődik.

Töltse le az oktatóanyagban használt adatbázist

GYIK

Egy tábla fizikailag tárolja az adatokat a lemezen. Egy nézet csak egy SELECT lekérdezést tárol, így a lekérdezése újra lefuttatja a lekérdezést, és az alaptáblák aktuális adatait adja vissza.

Egy materializált nézet gyorsítótárazza a lekérdezés eredményét a lemezen. Gyorsabban olvasható, mint egy sima nézet, de REFRESH MATERIALIZED VIEW parancsra van szükség az új adatok megjelenítéséhez.

Egy standard nézet minden alkalommal lefuttatja a lekérdezését, élő adatokat megjelenítve. Egy materializált nézet a sebesség érdekében lemezen tárolja az eredményeket, de frissítésig elavultak lehetnek.

Néha. Egy egyszerű, egyetlen táblázatból álló nézet, összesítés nélkül, automatikusan frissíthető, így az INSERT, UPDATE és DELETE közvetlenül működnek. Az összetett nézetekhez triggerek HELYETT kell.

A katalógus lekérdezése: SELECT table_name FROM information_schema.views WHERE table_schema = 'public'. A pgAdminban kibonthatod a Views csomópontot egy séma alatt.

A mesterséges intelligencia asszisztensei egy egyszerű nyelvű kérést CREATE VIEW utasítássá alakítanak, elnevezik a nézetet, és hozzáadják a megfelelő WHERE és JOIN záradékokat, felgyorsítva a gyakran használt lekérdezéseket.

Igen. Illesszen be egy hosszú SELECT utasítást, és egy mesterséges intelligencia asszisztens becsomagolja a CREATE OR REPLACE VIEW utasításba, javasol egy nevet, és megjelöli az aliasokat igénylő oszlopokat a duplikált nevek elkerülése érdekében.

A normál nézet nem gyorsítja fel a lekérdezéseket, mivel a SELECT minden alkalommal lefut. Gyorsabb ismételt olvasáshoz használjon materializált nézetet, amely az eredményeket a frissítésig lemezen tárolja.

Foglald össze ezt a bejegyzést a következőképpen: