Cuprins
PostgreSQL este unul dintre motoarele de baze de date care îndeplinește cel mai bine standardele ANSI-SQLÎn plus, oferă mai multe funcții și constructori noi, care variază de la comenzi rapide simple pentru a efectua interogări, până la elemente neașteptate care permit încălcarea limitelor a ceea ce poate fi o instrucțiune SQL.Vizualizări
La fel ca majoritatea bazelor de date relaționale, PostgreSQL are sprijin pentru vederi, cu toate acestea spre deosebire de SQL Server și MySQL, vizualizările din PostgreSQL nu pot fi actualizate automat fără a recurge la utilizarea declanșatoarelor de acest tip IN LOC DE, în acest fel, cu utilizarea TRIGGERS se adaptează și se apropie de standard.
Avantajul este că ne permite să menținem un control mai mare asupra vizualizărilor și a modului în care tabelele care furnizează informațiile vor fi actualizate.
Să vedem în imaginea următoare un exemplu despre cum să creați o vizualizare în PostgreSQL folosind caracteristicile sale speciale:
Să explicăm punctele numerotate ale imaginii de exemplu, astfel încât să putem arunca o privire mai atentă la subiect.
- Manipulați ștergerea cu instrucțiuni ȘTERGE, șterge doar înregistrarea care corespunde aceleiași taste ca vechea înregistrare.
- Manevrează inserțiile de date.
- Actualizați numai dacă cel puțin una dintre coloanele tabelului fapte A fost schimbat.
- Gestionați actualizările, utilizați înregistrarea Veche sau veche pentru a determina ce înregistrări să ștergeți sau actualizați cu datele din înregistrarea NOUĂ sau nouă.
CREATE TRIGGER trip_01_vw_facts_ins_upd_del ÎN LOCUL INSERTULUI SAU ACTUALIZAȚI SAU ȘTERGEȚI PE cens.vw_facts PENTRU FIECARE PROCEDURĂ DE EXECUTARE A RÂNDULUI cens.trig_vw_facts_ins_upd_del ();
În acest fel, atunci când facem orice inserare sau modificare sau ștergere în vizualizarea noastră, tabelele care o compun vor primi datele, să vedem un exemplu de interogare:
UPDATE census.vw_facts SET yr = 2012 WHERE yr = 2011 AND tract_id = '25027761200';
Ce ne-ar da un rezultat de succes: Interogarea a fost returnată cu succes: 51 de rânduri afectate, 21 ms timp de execuție.
Fereastră
Windows sunt o caracteristică standard ANSI-SQL acceptată de PostgreSQL, acest lucru ne permite să vedem și să folosim datele care se află dincolo de înregistrarea curentă, fără aceste funcții ar trebui să facem SE UNEȘTE Da Sub-interogări pentru a putea obține datele și resursele într-un mod mult mai complex.
Următorul exemplu constă în obținerea valorii in medie a unei coloane dintr-un tabel, să vedem exemplul din următoarea imagine:
După cum am putut vedea cu funcția AVG, ne permite să obținem valorile tuturor câmpurilor fără a fi nevoie să facem JOINS și funcția PESTE ne permite să transformăm acest lucru într-o funcție Fereastră. Astfel, atunci când PostgreSQL vede o funcție de acest tip, va scana toate rândurile care respectă clauza WHERE pentru a obține rezultatul.
Cu aceasta am terminat tutorialul cu care am putea afla mai multe despre cum PostgreSQL se ocupă de funcțiile standard ANSI-SQL, precum și de a vedea cum își adaugă propriul stil pentru a extinde utilitatea acelor funcții.V-a plăcut și ați ajutat acest tutorial?Puteți recompensa autorul apăsând acest buton pentru a-i oferi un punct pozitiv