PostgreSQL-Ansichten
Eine View ist eine virtuelle Tabelle, im Wesentlichen eine PostgreSQL-Anweisung, die in der Datenbank unter einem zugehörigen Namen gespeichert ist.
Eine View ist tatsächlich eine Kombination von Tabellen in Form einer vordefinierten PostgreSQL-Abfrage.
Eine View kann alle Zeilen einer Tabelle oder ausgewählte Zeilen aus einer oder mehreren Tabellen enthalten.
Eine View kann aus einer oder mehreren Tabellen erstellt werden, abhängig von der PostgreSQL-Abfrage, die zum Erstellen der View verwendet wird.
Eine View ist eine virtuelle Tabelle, mit der Benutzer Folgendes erreichen können:
- Eine Möglichkeit für Benutzer oder Benutzergruppen, strukturierte Daten auf natürlichere oder intuitivere Weise zu finden.
- Den Datenzugriff einschränken, sodass Benutzer nur begrenzte Daten statt der vollständigen Tabelle sehen können.
- Daten aus verschiedenen Tabellen für die Berichterstellung zusammenfassen.
PostgreSQL-Views sind schreibgeschützt, daher können DELETE-, INSERT- oder UPDATE-Anweisungen nicht für eine View ausgeführt werden. Sie können jedoch einen Trigger für eine View erstellen, der ausgelöst wird, wenn ein DELETE, INSERT oder UPDATE für die View versucht wird, und die auszuführenden Aktionen werden im Inhalt des Triggers definiert.
CREATE VIEW (View erstellen)
In PostgreSQL verwenden Sie die CREATE VIEW-Anweisung, um eine View zu erstellen. Eine View kann aus einer Tabelle, mehreren Tabellen oder anderen Views erstellt werden.
Die grundlegende Syntax von CREATE VIEW lautet wie folgt:
CREATE [TEMP | TEMPORARY] VIEW view_name AS SELECT column1, column2..... FROM table_name WHERE [condition];
Sie können mehrere Tabellen in die SELECT-Anweisung aufnehmen, ähnlich wie in einer normalen SQL-SELECT-Abfrage. Wenn das optionale Schlüsselwort TEMP oder TEMPORARY verwendet wird, wird die View in einer temporären Datenbank erstellt.
Beispiel
Erstellen Sie die COMPANY-Tabelle (Laden Sie die COMPANY-SQL-Datei herunter), der Dateninhalt lautet wie folgt:
exampledb# select * from COMPANY; id | name | age | address | salary ----+-------+-----+-----------+-------- 1 | Paul | 32 | California| 20000 2 | Allen | 25 | Texas | 15000 3 | Teddy | 23 | Norway | 20000 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000 6 | Kim | 22 | South-Hall| 45000 7 | James | 24 | Houston | 10000 (7 rows)
Nun folgt ein Beispiel für das Erstellen einer View aus der Tabelle COMPANY. Die View wählt nur einige Spalten aus der Tabelle COMPANY aus:
exampledb=# CREATE VIEW COMPANY_VIEW AS SELECT ID, NAME, AGE FROM COMPANY;
Jetzt können Sie COMPANY_VIEW abfragen, ähnlich wie Sie eine tatsächliche Tabelle abfragen. Hier ist ein Beispiel:
exampledb# SELECT * FROM COMPANY_VIEW;
Das erhaltene Ergebnis lautet wie folgt:
id | name | age ----+-------+----- 1 | Paul | 32 2 | Allen | 25 3 | Teddy | 23 4 | Mark | 25 5 | David | 27 6 | Kim | 22 7 | James | 24 (7 rows)
DROP VIEW (View löschen)
Um eine Ansicht zu löschen, verwenden Sie einfach die Anweisung DROP VIEW mit view_name. Die grundlegende Syntax von DROP VIEW lautet wie folgt:
exampledb=# DROP VIEW view_name;
Der folgende Befehl löscht die Ansicht COMPANY_VIEW, die wir zuvor erstellt haben:
exampledb=# DROP VIEW COMPANY_VIEW;