PostgreSQL Ansicht mit Beispiel erstellen

โšก Intelligente Zusammenfassung

PostgreSQL Views sind Pseudo-Tabellen, die aus einer gespeicherten SELECT-Abfrage erstellt werden. Dadurch kรถnnen Sie komplexe oder hรคufig verwendete Abfragen unter einem einzigen Namen zusammenfassen, den Sie wie eine gewรถhnliche Tabelle lesen, aktualisieren oder lรถschen kรถnnen.

  • ๐Ÿ—‚๏ธ Pseudotabelle: Eine Ansicht speichert eine Abfrage, nicht Daten, dennoch wรคhlt man sie wie eine Tabelle aus.
  • ๏ธ Erstellen: Mit CREATE VIEW wird eine SELECT-Abfrage benannt, auch รผber mehrere Basistabellen hinweg, um eine einfache Wiederverwendung zu ermรถglichen.
  • โ™ป๏ธ Ersetzen: CREATE OR REPLACE VIEW รคndert eine Ansicht, ohne sie zu verschieben.ping es.
  • ๐Ÿ—‘๏ธ Drop: DROP VIEW entfernt eine Ansicht, und IF EXISTS vermeidet einen Fehler.
  • ๐Ÿค– KI-Hilfe: KI-Assistenten generieren Ansichtsdefinitionen und schlagen vor, welche Abfragen umschlossen werden sollen.

PostgreSQL Ansicht erstellen

Was ist PostgreSQL Aussicht?

In PostgreSQL, eine Ansicht ist eine Pseudotabelle. Dies bedeutet, dass eine Ansicht keine echte Tabelle ist. Wir kรถnnen es jedoch als gewรถhnliche Tabelle AUSWร„HLEN. Eine Ansicht kann alle oder einige Tabellenspalten enthalten. Eine Ansicht kann auch eine Darstellung mehrerer Tabellen sein.

Die Tabellen werden als Basistabellen bezeichnet. Beim Erstellen einer Ansicht mรผssen Sie lediglich eine Abfrage erstellen und ihr einen Namen geben, was sie zu einem nรผtzlichen Werkzeug fรผr die Datenkapselung macht.ping komplexe und hรคufig verwendete Abfragen.

Bessere PostgreSQL Aufrufe

So erstellen Sie ein PostgreSQL Fรผr die Ansicht verwenden wir die CREATE VIEW-Anweisung. Hier ist die Syntax fรผr diese Anweisung:

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

Der OR REPLACE-Parameter ersetzt die Ansicht, wenn sie bereits vorhanden ist. Wenn es weggelassen wird und die Ansicht bereits vorhanden ist, wird ein Fehler zurรผckgegeben.

Der Parameter view-name ist der Name der Ansicht, die Sie erstellen mรผssen.

Die WHERE-Bedingung(en) sind optional und mรผssen erfรผllt sein, damit ein Datensatz zur Ansicht hinzugefรผgt werden kann.

Beachten Sie die unten angegebene Preistabelle:

Preis:

Bessere  PostgreSQL Aufrufe

Lassen Sie uns eine Ansicht aus der obigen Tabelle erstellen:

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

Der obige Befehl erstellt eine Ansicht basierend auf SELECT-Anweisung. Nur die Datensรคtze, bei denen der Preis grรถรŸer als 200 ist, werden der Ansicht hinzugefรผgt. Die Ansicht hat den Namen Price_View erhalten. Fragen wir es ab, um seinen Inhalt zu sehen:

SELECT *
FROM Price_View;

Dies gibt Folgendes zurรผck:

Bessere  PostgreSQL Aufrufe

Obwohl die Basistabelle 4 Datensรคtze enthรคlt, wurden der Ansicht nur 2 hinzugefรผgt.

Hier kรถnnen wir der Ansicht nur eine Spalte hinzufรผgen. Erstellen wir eine Ansicht, die nur eine Spalte der Preistabelle enthรคlt:

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

Die Ansicht hat den Namen Price_View2 erhalten und enthรคlt nur die Preisspalte der Preistabelle. Lassen Sie uns die Ansicht abfragen, um ihren Inhalt anzuzeigen:

SELECT *
FROM Price_View2;

Dies gibt Folgendes zurรผck:

Bessere  PostgreSQL Aufrufe

Gedanken PostgreSQL Aufrufe

Die Definition einer Ansicht kann geรคndert werden, ohne dass sie gelรถscht werden muss. Dies geschieht mit der CREATE OR REPLACE VIEW-Anweisung.

Lassen Sie uns dies demonstrieren, indem wir die Ansicht namens Price_View2 aktualisieren.

Price_View2:

Gedanken PostgreSQL Aufrufe

Die Buchtabelle sieht wie folgt aus:

Buch:

Gedanken PostgreSQL Aufrufe

Die Preistabelle lautet wie folgt:

Preis:

Gedanken PostgreSQL Aufrufe

Die folgende Abfrage hilft uns, die Ansicht Price_View2 zu aktualisieren:

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

Lassen Sie uns nun die Ansicht abfragen, um ihren Inhalt anzuzeigen:

Gedanken PostgreSQL Aufrufe

Die Ansicht wurde geรคndert und wir haben jetzt zwei Spalten aus zwei verschiedenen Tabellen. Dies wurde mithilfe einer JOIN-Anweisung erreicht.

Lรถschen PostgreSQL Aufrufe

Wann immer Sie eine lรถschen mรผssen PostgreSQL Um eine Ansicht anzuzeigen, kรถnnen Sie die DROP VIEW-Anweisung verwenden. Hier ist die Syntax fรผr die Anweisung:

DROP VIEW [IF EXISTS] view-name;

Der Parameter view-name ist der Name der Ansicht, die gelรถscht werden soll.

In dieser Syntax ist IF EXISTS optional. Wenn Sie es nicht angeben und versuchen, eine nicht existierende Ansicht zu lรถschen, erhalten Sie eine Fehlermeldung.

Um beispielsweise die Ansicht mit dem Namen โ€žPrice_View2โ€œ zu lรถschen, kรถnnen wir die folgende Anweisung ausfรผhren:

DROP VIEW Price_View2;

Die Ansicht wird gelรถscht.

Verwenden von pgAdmin

Schauen wir uns nun an, wie diese Aktionen mit pgAdmin durchgefรผhrt werden kรถnnen.

Bessere PostgreSQL Aufrufe

Um dasselbe รผber pgAdmin zu erreichen, gehen Sie wie folgt vor:

Schritt 1) Melden Sie sich bei Ihrem pgAdmin-Konto an.

Schritt 2)

  • Klicken Sie in der Navigationsleiste links auf Datenbanken.
  • Klicken Sie auf Demo.

Bessere  PostgreSQL Ansichten mit pgAdmin

Schritt 3) Geben Sie die Abfrage im Abfrageeditor ein:

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

Schritt 4) Klicken Sie auf die Schaltflรคche โ€žAusfรผhrenโ€œ.

Bessere  PostgreSQL Ansichten mit pgAdmin

Schritt 5) Um den Inhalt der Ansicht anzuzeigen, gehen Sie wie folgt vor:

  • Geben Sie den folgenden Befehl in den Abfrage-Editor ein:
SELECT *
FROM Price_View;
  • Klicken Sie auf die Schaltflรคche โ€žAusfรผhrenโ€œ.

Bessere  PostgreSQL Ansichten mit pgAdmin

Dies gibt Folgendes zurรผck:

Bessere  PostgreSQL Ansichten mit pgAdmin

Um die Ansicht Price_View2 zu erstellen, gehen Sie wie folgt vor:

Schritt 1) Geben Sie die folgende Abfrage in den Abfrage-Editor ein:

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

Schritt 2) Klicken Sie auf die Schaltflรคche โ€žAusfรผhrenโ€œ.

Bessere  PostgreSQL Ansichten mit pgAdmin

Schritt 3) Um den Inhalt der Ansicht anzuzeigen, gehen Sie wie folgt vor:

  • Geben Sie die folgende Abfrage in den Abfrage-Editor ein:
SELECT *
FROM Price_View2;
  • Klicken Sie auf die Schaltflรคche โ€žAusfรผhrenโ€œ.

Bessere  PostgreSQL Ansichten mit pgAdmin

Dies gibt Folgendes zurรผck:

Bessere  PostgreSQL Ansichten mit pgAdmin

Gedanken PostgreSQL Aufrufe

Um dasselbe รผber pgAdmin zu erreichen, gehen Sie wie folgt vor:

Schritt 1) Melden Sie sich bei Ihrem pgAdmin-Konto an.

Schritt 2)

  • Klicken Sie in der Navigationsleiste links auf Datenbanken.
  • Klicken Sie auf Demo.

Gedanken PostgreSQL Ansichten mit pgAdmin

Schritt 3) Geben Sie die Abfrage im Abfrageeditor ein:

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

Schritt 4) Klicken Sie auf die Schaltflรคche โ€žAusfรผhrenโ€œ.

Gedanken PostgreSQL Ansichten mit pgAdmin

Schritt 5) Geben Sie die folgende Abfrage in den Abfrage-Editor ein:

SELECT *
FROM Price_View2;

Dies gibt Folgendes zurรผck:

Gedanken PostgreSQL Ansichten mit pgAdmin

Lรถschen PostgreSQL Aufrufe

Um dasselbe รผber pgAdmin zu erreichen, gehen Sie wie folgt vor:

Schritt 1) Melden Sie sich bei Ihrem pgAdmin-Konto an.

Schritt 2)

  • Klicken Sie in der Navigationsleiste links auf Datenbanken.
  • Klicken Sie auf Demo.

Lรถschen PostgreSQL Ansichten mit pgAdmin

Schritt 3) Geben Sie die Abfrage im Abfrageeditor ein:

DROP VIEW Price_View2;

Schritt 4) Klicken Sie auf die Schaltflรคche โ€žAusfรผhrenโ€œ.

Lรถschen PostgreSQL Ansichten mit pgAdmin

Die Ansicht wird gelรถscht.

Laden Sie die in diesem Tutorial verwendete Datenbank herunter

Hรคufig gestellte Fragen

Eine Tabelle speichert Daten physisch auf der Festplatte. Eine Ansicht speichert lediglich eine SELECT-Abfrage; durch eine Abfrage wird diese Abfrage erneut ausgefรผhrt und die aktuellen Daten aus den Basistabellen werden zurรผckgegeben.

Eine materialisierte Ansicht speichert ein Abfrageergebnis im Cache auf der Festplatte. Sie liest Daten schneller als eine einfache Ansicht, benรถtigt aber den Befehl REFRESH MATERIALIZED VIEW, um neue Daten anzuzeigen.

Eine Standardansicht fรผhrt ihre Abfrage jedes Mal aus und zeigt Live-Daten an. Eine materialisierte Ansicht speichert Ergebnisse zur Beschleunigung auf der Festplatte, kann aber bis zur Aktualisierung veraltet sein.

Manchmal. Eine einfache Ansicht mit nur einer Tabelle ohne Aggregation ist automatisch aktualisierbar, sodass INSERT, UPDATE und DELETE direkt funktionieren. Komplexe Ansichten benรถtigen INSTEAD OF-Trigger.

Abfrage des Katalogs: SELECT table_name FROM information_schema.views WHERE table_schema = 'public'. In pgAdmin kรถnnen Sie den Knoten โ€žViewsโ€œ unter einem Schema erweitern.

KI-Assistenten wandeln eine Anfrage in einfacher Sprache in eine CREATE VIEW-Anweisung um, benennen die Ansicht und fรผgen die richtigen WHERE- und JOIN-Klauseln hinzu, wodurch Abfragen, die Sie hรคufig wiederverwenden, beschleunigt werden.

Ja. Fรผgen Sie eine lange SELECT-Anweisung ein, und ein KI-Assistent bettet sie in CREATE OR REPLACE VIEW ein, schlรคgt einen Namen vor und kennzeichnet Spalten, die Aliase benรถtigen, um doppelte Namen zu vermeiden.

Eine normale Ansicht beschleunigt Abfragen nicht, da ihre SELECT-Anweisung jedes Mal ausgefรผhrt wird. Fรผr schnellere wiederholte Lesevorgรคnge verwenden Sie eine materialisierte Ansicht, die die Ergebnisse auf der Festplatte speichert, bis sie aktualisiert werden.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: