PostgreSQL - Visninger og Windows

Innholdsfortegnelse
PostgreSQL er en av databasemotorene som best oppfyller standardene for ANSI-SQLI tillegg til det, går det videre ved å tilby nye funksjoner og konstruktører som spenner fra enkle snarveier til å utføre forespørsler, til uventede elementer som tillater å bryte grensene for hva en SQL -setning kan være.
Visninger
Som de fleste relasjonsdatabaser, PostgreSQL har støtte til visninger, men i motsetning til SQL Server og MySQL, visningene i PostgreSQL kan ikke oppdateres automatisk uten å ty til bruk av utløsere av typen I STEDET FOR, på denne måten ved bruk av TRIGGERS tilpasser den seg og er nærmere standarden.
Fordelen med dette er at det gir oss mulighet til å opprettholde større kontroll over visningene og måten tabellene som gir informasjonen vil bli oppdatert på.
La oss se på det følgende bildet et eksempel på hvordan du lager en visning i PostgreSQL ved å bruke sine spesialfunksjoner:

La oss forklare de nummererte punktene i eksempelbildet slik at vi kan se nærmere på emnet.
  • Håndter sletting med instruksjon SLETT, sletter den bare posten som tilsvarer den samme nøkkelen som den gamle posten.
  • Håndterer datainnlegg.
  • Oppdater bare hvis minst en av tabellkolonnene fakta Det ble endret.
  • Administrer oppdateringer, bruk den GAMLE eller gamle posten for å avgjøre hvilke poster som skal slettes eller oppdateres med dataene fra den NYE eller nye posten.
Da kan vi lage vår Avtrekker på følgende måte for å kunne koble den til den allerede bygde visningen.
 OPPRETT TRIGGER trip_01_vw_facts_ins_upd_del INSTEAD OF INSERT ELLER OPPDATER ELLER SLETT PÅ census.vw_facts FOR HVER RAD UTFØRENDE PROSEDYRE census.trig_vw_facts_ins_upd_del (); 

På denne måten, når vi setter inn eller endrer eller sletter visningen vår, vil tabellene som består av den motta dataene. La oss se et eksempel på spørring:
OPPDATER Census.vw_facts SET yr = 2012 WHERE yr = 2011 AND tract_id = '25027761200';

Hva vil gi oss et vellykket resultat: Forespørselen returnerte: 51 rader berørt, 21 ms kjøringstid.
Vindu
De Windows er en ANSI-SQL-standardfunksjon som støttes av PostgreSQL, dette lar oss se og bruke dataene som er utenfor gjeldende post, uten disse funksjonene måtte vi utføres BLI MED Y Underforespørsler å kunne skaffe data og ressurser på en mye mer kompleks måte.
Følgende eksempel består av å få verdien gjennomsnitt av en kolonne i en tabell, la oss se eksemplet i følgende bilde:

Som vi kunne se med AVG -funksjonen, lar den oss få verdiene til alle feltene uten å måtte gjøre JOINS og funksjonen OVER la oss gjøre dette til en funksjon Vindu. Når PostgreSQL ser en funksjon av denne typen, vil den således skanne alle radene som samsvarer med WHERE -klausulen for å få resultatet.
Med dette avsluttet vi opplæringen som vi kunne lære litt mer om hvordan PostgreSQL den håndterer standard ANSI-SQL-funksjonene, i tillegg til å se hvordan den legger til sin egen stil for å utvide nytten av disse funksjonene.Likte og hjalp du denne opplæringen?Du kan belønne forfatteren ved å trykke på denne knappen for å gi ham et positivt poeng
wave wave wave wave wave