PostgreSQL Maak een weergave met voorbeeld

โšก Slimme samenvatting

PostgreSQL Views zijn pseudo-tabellen die zijn opgebouwd uit een opgeslagen SELECT-query. Hierdoor kunt u complexe of veelgebruikte query's onder รฉรฉn naam plaatsen, die u vervolgens kunt lezen, bijwerken of verwijderen zoals een gewone tabel.

  • ๐Ÿ—‚๏ธ Pseudotabel: Een view slaat een query op, geen data, maar je selecteert deze wel zoals een tabel.
  • ๏ธ Maken: Met CREATE VIEW wordt een SELECT-query benoemd, zelfs over meerdere basistabellen, voor eenvoudig hergebruik.
  • โ™ป๏ธ Vervangen: Met CREATE OR REPLACE VIEW worden weergaven gewijzigd zonder dat ze hoeven te worden weggegooid.ping het.
  • ๐Ÿ—‘๏ธ Drop: DROP VIEW verwijdert een weergave, en IF EXISTS voorkomt een fout.
  • ๐Ÿค– AI-hulp: AI-assistenten genereren weergavedefinities en suggereren welke zoekopdrachten moeten worden ingekapseld.

PostgreSQL Weergave maken

Wat is PostgreSQL Visie?

In PostgreSQL, een weergave is een pseudotabel. Dit betekent dat een weergave geen echte tabel is. We kunnen het echter SELECTEREN als een gewone tabel. Een weergave kan alle of enkele tabelkolommen bevatten. Een weergave kan ook een weergave zijn van meer dan รฉรฉn tabel.

De tabellen worden basistabellen genoemd. Bij het maken van een view hoeft u alleen een query te maken en deze een naam te geven, waardoor het een handig hulpmiddel is om gegevens te bundelen.ping complexe en veelgebruikte zoekopdrachten.

Wij creรซren PostgreSQL Weergaves

Het creรซren van een PostgreSQL view gebruiken we de CREATE VIEW-instructie. Hier is de syntaxis voor deze verklaring:

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

De parameter OR REPLACE vervangt de weergave als deze al bestaat. Als u dit weglaat en de weergave al bestaat, wordt er een fout geretourneerd.

De parameter view-name is de naam van de weergave die u moet maken.

De WHERE-voorwaarde(n) zijn optioneel en moeten worden voldaan om een โ€‹โ€‹record aan de weergave toe te voegen.

Beschouw de onderstaande prijstabel:

Prijs:

Wij creรซren PostgreSQL Weergaves

Laten we een weergave maken op basis van de bovenstaande tabel:

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

Met de bovenstaande opdracht wordt een weergave gemaakt op basis van de SELECT-instructie. Alleen de records waarvan de prijs hoger is dan 200 worden aan de weergave toegevoegd. De weergave heeft de naam Price_View gekregen. Laten we er een vraag over stellen om de inhoud ervan te zien:

SELECT *
FROM Price_View;

Dit geeft het volgende terug:

Wij creรซren PostgreSQL Weergaves

Hoewel de basistabel vier records bevat, zijn er slechts twee aan de weergave toegevoegd.

Hier kunnen we slechts รฉรฉn kolom aan de weergave toevoegen. Laten we een weergave maken die slechts รฉรฉn kolom van de tabel 'Prijs' bevat:

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

De weergave heeft de naam Price_View2 gekregen en bevat alleen de prijskolom van de Prijstabel. Laten we de weergave bevragen om de inhoud ervan te zien:

SELECT *
FROM Price_View2;

Dit geeft het volgende terug:

Wij creรซren PostgreSQL Weergaves

De wereld PostgreSQL Weergaves

De definitie van een weergave kan worden gewijzigd zonder deze te hoeven verwijderen. Dit wordt gedaan met behulp van de CREATE OR REPLACE VIEW-instructie.

Laten we dit demonstreren door de weergave met de naam Price_View2 bij te werken.

Prijs_View2:

De wereld  PostgreSQL Weergaves

De boekentabel is als volgt:

Boek:

De wereld  PostgreSQL Weergaves

De prijstabel is als volgt:

Prijs:

De wereld  PostgreSQL Weergaves

Met de volgende query kunnen we de weergave Price_View2 bijwerken:

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

Laten we nu de weergave doorzoeken om de inhoud ervan te zien:

De wereld  PostgreSQL Weergaves

De weergave is gewijzigd en nu hebben we twee kolommen uit twee verschillende tabellen. Dit is bereikt met behulp van een JOIN-instructie.

wissen PostgreSQL Weergaves

Elke keer dat u een PostgreSQL Voor weergave kunt u de DROP VIEW-instructie gebruiken. Hier is de syntaxis voor de instructie:

DROP VIEW [IF EXISTS] view-name;

De parameter viewnaam is de naam van de view die moet worden verwijderd.

In deze syntaxis is IF EXISTS optioneel. Als u dit niet specificeert en probeert een weergave te verwijderen die niet bestaat, krijgt u een foutmelding.

Om bijvoorbeeld de weergave Price_View2 te verwijderen, kunnen we de volgende instructie uitvoeren:

DROP VIEW Price_View2;

De weergave wordt verwijderd.

Gebruik pgAdmin

Laten we nu eens kijken hoe deze acties met pgAdmin kunnen worden uitgevoerd.

Wij creรซren PostgreSQL Weergaves

Om hetzelfde te bereiken via pgAdmin, doet u het volgende:

Stap 1) Log in op uw pgAdmin-account.

Stap 2)

  • Klik in de navigatiebalk aan de linkerkant op Databases.
  • Klik op Demo.

Wij creรซren PostgreSQL Weergaven met pgAdmin

Stap 3) Typ de query in de query-editor:

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

Stap 4) Klik op de knop Uitvoeren.

Wij creรซren PostgreSQL Weergaven met pgAdmin

Stap 5) Om de inhoud van de weergave te bekijken, doet u het volgende:

  • Typ de volgende opdracht in de query-editor:
SELECT *
FROM Price_View;
  • Klik op de knop Uitvoeren.

Wij creรซren PostgreSQL Weergaven met pgAdmin

Dit retourneert het volgende:

Wij creรซren PostgreSQL Weergaven met pgAdmin

Om de weergave Price_View2 te maken, doet u het volgende:

Stap 1) Typ de volgende query in de query-editor:

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

Stap 2) Klik op de knop Uitvoeren.

Wij creรซren PostgreSQL Weergaven met pgAdmin

Stap 3) Om de inhoud van de weergave te bekijken, doet u het volgende:

  • Typ de volgende query in de query-editor:
SELECT *
FROM Price_View2;
  • Klik op de knop Uitvoeren.

Wij creรซren PostgreSQL Weergaven met pgAdmin

Dit retourneert het volgende:

Wij creรซren PostgreSQL Weergaven met pgAdmin

De wereld PostgreSQL Weergaves

Om hetzelfde te bereiken via pgAdmin, doet u het volgende:

Stap 1) Log in op uw pgAdmin-account.

Stap 2)

  • Klik in de navigatiebalk aan de linkerkant op Databases.
  • Klik op Demo.

De wereld  PostgreSQL Weergaven met pgAdmin

Stap 3) Typ de query in de query-editor:

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

Stap 4) Klik op de knop Uitvoeren.

De wereld  PostgreSQL Weergaven met pgAdmin

Stap 5) Typ de volgende query in de query-editor:

SELECT *
FROM Price_View2;

Dit retourneert het volgende:

De wereld  PostgreSQL Weergaven met pgAdmin

wissen PostgreSQL Weergaves

Om hetzelfde te bereiken via pgAdmin, doet u het volgende:

Stap 1) Log in op uw pgAdmin-account.

Stap 2)

  • Klik in de navigatiebalk aan de linkerkant op Databases.
  • Klik op Demo.

wissen PostgreSQL Weergaven met pgAdmin

Stap 3) Typ de query in de query-editor:

DROP VIEW Price_View2;

Stap 4) Klik op de knop Uitvoeren.

wissen PostgreSQL Weergaven met pgAdmin

De weergave wordt verwijderd.

Download de database die in deze zelfstudie wordt gebruikt

Veelgestelde vragen

Een tabel slaat gegevens fysiek op de schijf op. Een view slaat alleen een SELECT-query op, dus een query op de view voert die query opnieuw uit en retourneert de actuele gegevens uit de basistabellen.

Een gematerialiseerde weergave slaat een queryresultaat op in de cache op de schijf. Deze leest sneller dan een gewone weergave, maar vereist een vernieuwing van de gematerialiseerde weergave (REFRESH MATERIALIZED VIEW) om nieuwe gegevens weer te geven.

Een standaardweergave voert de query elke keer opnieuw uit en toont live data. Een gematerialiseerde weergave slaat resultaten op schijf op voor snelheid, maar kan verouderd zijn totdat deze wordt vernieuwd.

Soms. Een eenvoudige weergave met รฉรฉn tabel zonder aggregatie kan automatisch worden bijgewerkt, waardoor INSERT, UPDATE en DELETE direct werken. Complexere weergaven vereisen INSTEAD OF-triggers.

De catalogus opvragen: SELECT table_name FROM information_schema.views WHERE table_schema = 'public'. In pgAdmin kunt u het knooppunt 'Views' onder een schema uitbreiden.

AI-assistenten zetten een verzoek in gewone taal om in een CREATE VIEW-instructie, geven de weergave een naam en voegen de juiste WHERE- en JOIN-clausules toe, waardoor query's die u vaak hergebruikt, sneller worden uitgevoerd.

Ja. Plak een lange SELECT-query en een AI-assistent plaatst deze in een CREATE OR REPLACE VIEW-query, stelt een naam voor en markeert kolommen die een alias nodig hebben om dubbele namen te voorkomen.

Een normale view versnelt query's niet, omdat de SELECT-query elke keer opnieuw wordt uitgevoerd. Voor snellere herhaalde leesbewerkingen kunt u een gematerialiseerde view gebruiken, die de resultaten op schijf opslaat totdat ze worden vernieuwd.

Vat dit bericht samen met: