PostgreSQL - Visninger og Windows

Indholdsfortegnelse
PostgreSQL er en af ​​de databasemotorer, der bedst opfylder standarderne for ANSI-SQLUd over det går det videre ved at tilbyde nye funktioner og konstruktører, der spænder fra enkle genveje til at udføre forespørgsler til uventede elementer, der gør det muligt at bryde grænserne for, hvad en SQL -sætning kan være.
Visninger
Ligesom de fleste relationsdatabaser, PostgreSQL har støtte til visninger, dog i modsætning til SQL Server og MySQL, visningerne i PostgreSQL kan ikke automatisk opdateres uden at ty til brugen af ​​udløsere af typen I STEDET FOR, på denne måde med brug af TRIGGERS tilpasser den sig og er tættere på standarden.
Fordelen ved dette er, at det giver os mulighed for at bevare større kontrol over visningerne og på den måde, hvorpå tabellerne, der giver oplysningerne, vil blive opdateret.
Lad os se på det følgende billede et eksempel på, hvordan du opretter en visning i PostgreSQL ved hjælp af dens særlige funktioner:

Lad os forklare de nummererede punkter i eksempelbilledet, så vi kan se nærmere på emnet.
  • Håndter sletning med instruktion SLET, det sletter kun den post, der svarer til den samme nøgle som den gamle post.
  • Håndterer dataindsatser.
  • Opdater kun, hvis mindst en af ​​tabellkolonnerne fakta Det blev ændret.
  • Administrer opdateringer, brug den gamle eller gamle post til at bestemme, hvilke poster der skal slettes eller opdateres med dataene fra den NYE eller nye post.
Så kan vi skabe vores Udløser på følgende måde for at kunne knytte det til den allerede bygget visning.
 OPRET TRIGGER trip_01_vw_facts_ins_upd_del INSTEAD OF INSERT ELLER UPDATE ELLER SLET PÅ census.vw_facts FOR HVER RÆKKE -UDFØRELSE -procedure census.trig_vw_facts_ins_upd_del (); 

På denne måde, når vi foretager en indsættelse eller ændring eller sletning af vores visning, vil tabellerne, der består det, modtage dataene, lad os se et eksempel på forespørgsel:
OPDATER census.vw_facts SET år = 2012 HVOR år = 2011 OG tract_id = '25027761200';

Hvad ville give os et vellykket resultat: Forespørgsel returneres med succes: 51 rækker berørt, 21 ms udførelsestid.
Vindue
Det Windows er en ANSI-SQL-standardfunktion understøttet af PostgreSQL, dette giver os mulighed for at se og bruge de data, der ligger uden for den aktuelle registrering, uden disse funktioner skulle vi udføres BLI MED Y Underforespørgsler at kunne få data og ressourcer på en meget mere kompleks måde.
Følgende eksempel består i at opnå værdien gennemsnit af en kolonne i en tabel, lad os se eksemplet i følgende billede:

Som vi kunne se med AVG -funktionen, giver det os mulighed for at få værdierne for alle felterne uden at skulle gøre JOINS og funktionen OVER lad os gøre dette til en funktion Vindue. Når PostgreSQL således ser en funktion af denne type, scanner den alle de rækker, der overholder WHERE -klausulen for at opnå resultatet.
Hermed afsluttede vi selvstudiet, som vi kunne lære lidt mere hvordan PostgreSQL det håndterer standard ANSI-SQL-funktioner samt ser, hvordan det tilføjer sin egen stil for at udvide nytten af ​​disse funktioner.Kan du lide og hjælpe denne vejledning?Du kan belønne forfatteren ved at trykke på denne knap for at give ham et positivt punkt

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave