Inhoudsopgave
PostgreSQL is een van de database-engines die het beste voldoet aan de normen van: ANSI-SQLDaarnaast gaat het verder door nieuwe functies en constructors aan te bieden die variëren van eenvoudige snelkoppelingen om query's uit te voeren tot onverwachte elementen die het mogelijk maken om de grenzen van wat een SQL-statement kan zijn te doorbreken.Keer bekeken
Zoals de meeste relationele databases, PostgreSQL heeft ondersteuning voor keer bekeken, maar in tegenstelling tot SQL Server en MySQL, de weergaven in PostgreSQL kunnen niet automatisch worden bijgewerkt zonder gebruik te maken van triggers van het type IN PLAATS VAN, op deze manier past het zich met het gebruik van TRIGGERS aan en komt het dichter bij de standaard.
Het voordeel hiervan is dat het ons in staat stelt meer controle te behouden over de weergaven en over de manier waarop de tabellen die de informatie verstrekken, worden bijgewerkt.
Laten we in de volgende afbeelding een voorbeeld zien van hoe u een weergave kunt maken in PostgreSQL met behulp van zijn speciale functies:
Laten we de genummerde punten van de voorbeeldafbeelding uitleggen, zodat we het onderwerp nader kunnen bekijken.
- Behandel wissen met instructie VERWIJDEREN, het verwijdert alleen het record dat overeenkomt met dezelfde sleutel als het oude record.
- Verwerkt gegevensinvoegingen.
- Alleen bijwerken als ten minste één van de tabelkolommen feiten Het werd veranderd.
- Beheer updates, gebruik het OUDE of oude record om te bepalen welke records u wilt verwijderen of bijwerken met de gegevens uit het NIEUWE of nieuwe record.
MAAK TRIGGER trip_01_vw_facts_ins_upd_del IN PLAATS VAN INVOEGEN OF BIJWERKEN OF VERWIJDEREN OP census.vw_facts VOOR ELKE RIJ PROCEDURE UITVOEREN census.trig_vw_facts_ins_upd_del ();
Op deze manier zullen de tabellen waaruit deze bestaat, de gegevens ontvangen wanneer we een invoeging, wijziging of verwijdering maken in onze weergave, laten we een voorbeeldquery bekijken:
UPDATE census.vw_facts SET jr = 2012 WHERE jr = 2011 EN tract_id = '25027761200';
Wat zou ons een succesvol resultaat geven: Query is geretourneerd: 51 rijen aangetast, uitvoeringstijd van 21 ms.
Raam
De ramen zijn een ANSI-SQL-standaardfunctie die wordt ondersteund door: PostgreSQL, dit stelt ons in staat om de gegevens te zien en te gebruiken die buiten het huidige record vallen, zonder deze functies zouden we gedaan moeten worden DOET MEE Y Subquery's om de gegevens en middelen op een veel complexere manier te kunnen verkrijgen.
Het volgende voorbeeld bestaat uit het verkrijgen van de waarde gemiddeld van een kolom in een tabel, laten we het voorbeeld in de volgende afbeelding bekijken:
Zoals we konden zien met de AVG-functie, kunnen we de waarden van alle velden verkrijgen zonder JOINS en de functie te hoeven doen OVER laten we dit in een functie veranderen Raam. Dus wanneer PostgreSQL een functie van dit type ziet, scant het alle rijen die voldoen aan de WHERE-clausule om het resultaat te verkrijgen.
Hiermee hebben we de tutorial afgerond waarmee we iets meer konden leren hoe PostgreSQL het behandelt de standaard ANSI-SQL-functies en ziet ook hoe het zijn eigen stijl toevoegt om het nut van die functies uit te breiden.Vond je deze tutorial leuk en hielp je hem?Je kunt de auteur belonen door op deze knop te drukken om hem een positief punt te geven