Oracles databashanteringssystem ären av de mest populära representanterna för sådan programvara. Det lockar många användare på grund av dess breda funktionalitet och betydande funktioner. Och detta är inte förvånande, för hur länge det har utvecklats! Så varför är Oracle intressant? De analytiska funktionerna i detta DBMS är en viktig del av de möjligheter som tillhandahålls. Och vi kommer att överväga dem inom ramen för denna artikel.
Allmän information
- Sektion.
- Ordna.
- Ställ in fönster.
Boken togs som en teoretisk grundTom Kite. Materialet från det kommer att presenteras kort, och endast de viktigaste punkterna kommer att beaktas. Om du behöver detaljer kan du råda dig att kontakta källan. Men tro mig, all nödvändig information kommer att tillhandahållas i artikeln.
Om funktioner
- rankningsfunktioner. De låter dig skapa "första N"-frågor.
- fönsterfunktioner. Nödvändigt för att beräkna olika aggregat (gruppverksamhet).
- Slutliga funktioner. I likhet med sid.2, men kan fungera med alla rader i en grupp eller sektion. Den viktigaste skillnaden är frånvaron av ORDER BY. Denna konstruktion används inte i OVER-operatorn. Om den inte finns, används den här funktionen i förhållande till varje rad i sektionen eller gruppen. Om det finns, appliceras det på fönstret, vilket innebär en övergång till en annan typ (se punkt 2).
- Statistiska funktioner. Exempel inkluderar STDEVJPOP, VAR_SAMP och andra. Låter dig beräkna statistiska värden för alla oordnade partitioner.
Generellt kan vi säga att den analytiska fungerarSQL Oracle har redan behandlats. Men bara i allmänna termer. Det finns ingen önskan att ge upp halvvägs, så låt oss detaljera. Och detta kommer att hjälpa Oracles analytiska funktioner, exempel på vilka nu kommer att övervägas.
Sektionering design
Beställ konstruktion
Använd i det här fallet en fråga i formuläret ORDER BYuttryck. Dessutom kan DESC, ASC och NULLS FIRST/LAST appliceras. Denna konstruktion används för att ställa in kriterierna för sortering av data i en sektion eller grupp. Användningen av ORDER BY kan avsevärt påverka resultatet som Oracle kommer att presentera. De analytiska funktionerna FIRST och LAST tittar till exempel på de första och sista elementen. Dvs de är motsatta i sin mening! Och vad säger FÖRSTA och SISTA oss? De anger var NULL-värdet ska vara i ordning, i början av avsnittet eller i slutet. Om du inte anger närvaron av ORDER BY kommer medelvärdet för hela gruppen att beräknas. Och det kommer att utfärdas för varje rad. Varför? Faktum är att i det här fallet betraktas funktionen som den sista. Det bör noteras att beställning sker uteslutande inom grupper eller sektioner.
fönsterdesign
Varför analytiska funktioner är nödvändiga
Det tekniska målet är att tillhandahålla kortfattade formuleringar och bidra till snabbheten för att utföra databasfrågor. De har följande fördelar jämfört med konventionella SQL-satser:
- Minska belastningen på nätverket. Det som tidigare krävde en hel rad frågor kan nu hämtas från databasen i en.
- Lakonisk och enkel formulering. Detta har förbättrat felsökning och förståelse jämfört med traditionella verktyg.
- bearbetningseffektivitet. Analytiska funktioner har beräkningsalgoritmer som är optimerade för att ge resultat snabbare.
- Överför arbete till servern. Alla beräkningar utförs på servern, vars resurser vanligtvis är mer lämpade för denna uppgift.
Dessutom gjorde införandet av sådana funktioner det möjligt att uppnå ett sådant strategiskt mål som att tillhandahålla ett grundläggande verktyg för att bygga så kallade analytiska datalager.