PostgreSQL - Vyer och Windows

Innehållsförteckning
PostgreSQL är en av de databasmotorer som bäst uppfyller standarderna för ANSI-SQLUtöver det går det längre genom att erbjuda nya funktioner och konstruktörer som sträcker sig från enkla genvägar till att utföra frågor, till oväntade element som gör det möjligt att bryta gränserna för vad en SQL -sats kan vara.
Vyer
Liksom de flesta relationsdatabaser, PostgreSQL har stöd för vyer, men till skillnad från SQL Server och MySQL, kan vyerna i PostgreSQL inte automatiskt uppdateras utan att använda sig av triggers av typen ISTÄLLET FÖR, på detta sätt med användning av TRIGGERS anpassar den sig och ligger närmare standarden.
Fördelen med detta är att det gör att vi kan behålla större kontroll över vyerna och hur tabellerna som ger informationen kommer att uppdateras.
Låt oss se i följande bild ett exempel på hur du skapar en vy i PostgreSQL med dess specialfunktioner:

Låt oss förklara de numrerade punkterna i exempelbilden så att vi kan titta närmare på ämnet.
  • Radera hanteringen med instruktion RADERA, det tar bara bort posten som motsvarar samma nyckel som den gamla posten.
  • Hanterar datainlägg.
  • Uppdatera endast om minst en av tabellkolumnerna fakta Det ändrades.
  • Hantera uppdateringar, använd den gamla eller gamla posten för att avgöra vilka poster som ska raderas eller uppdateras med data från den nya eller nya posten.
Då kan vi skapa vår Utlösare på följande sätt för att kunna länka den till den redan byggda vyn.
 SKAPA TRIGGER trip_01_vw_facts_ins_upd_del INSTEAD OF INSERT ELLER UPPDATERA ELLER RADERA PÅ census.vw_facts FÖR VARJE RAD EXECUTE PROCEDURE census.trig_vw_facts_ins_upd_del (); 

På detta sätt, när vi gör någon infogning eller ändring eller radering i vår vy, kommer tabellerna som utgör den att ta emot data, låt oss se en exempelfråga:
UPDATE census.vw_facts SET år = 2012 VAR år = 2011 OCH tract_id = '25027761200';

Vad skulle ge oss ett framgångsrikt resultat: Frågan returnerades framgångsrikt: 51 rader påverkade, 21 ms körningstid.
Fönster
De Windows är en ANSI-SQL-standardfunktion som stöds av PostgreSQL, detta gör att vi kan se och använda data som ligger utanför den aktuella posten, utan dessa funktioner skulle vi behöva göras GÅ MED Y Delfrågor att kunna skaffa data och resurser på ett mycket mer komplext sätt.
Följande exempel består i att erhålla värdet genomsnitt i en kolumn i en tabell, låt oss se exemplet i följande bild:

Som vi kunde se med AVG -funktionen tillåter det oss att få värdena för alla fält utan att behöva göra JOINS och funktionen ÖVER låt oss göra detta till en funktion Fönster. Således, när PostgreSQL ser en funktion av denna typ, kommer den att skanna alla rader som överensstämmer med WHERE -klausulen för att få resultatet.
Med detta avslutade vi handledningen som vi kunde lära oss lite mer hur PostgreSQL den hanterar vanliga ANSI-SQL-funktioner samt ser hur den lägger till sin egen stil för att utöka användbarheten av dessa funktioner.Gillade du och hjälpte denna handledning?Du kan belöna författaren genom att trycka på den här knappen för att ge honom en positiv poäng

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave