Klasifikácia typov analytických funkcií v Oracle. Analytické funkcie v Oracle a základné technické vlastnosti

Systém správy databáz Oracle je jedným z najpopulárnejších zástupcov takéhoto softvéru. Priťahuje veľa užívateľov vďaka svojej širokej funkčnosti a skvelým funkciám. A nie je prekvapujúce, koľko času sa už rozvíja! Čo je teda zaujímavé pre Oracle? Analytické funkcie tohto DBMS sú dôležitou súčasťou poskytnutých funkcií. A vezmeme ich do úvahy v tomto článku.

Všeobecné informácie

Po prvé, je potrebné poznamenať, že v analytických funkciách Oracle majú špecifické schopnosti, ale pomocou všeobecnej syntaxe. Aby sme ich porozumeli, musíme pochopiť, ako tieto údaje:


  • Sekcie.
  • Usporiadajte.
  • Nastavte okná.
  • Ako teoretická podpora bola urobená kniha Tom Kaity. Materiál z neho bude zhrnutý, ale zohľadnia sa len tie najdôležitejšie momenty. Ak potrebujete podrobnosti, odporúčame vám kontaktovať zdroj. Ale verte mi, všetky potrebné informácie budú poskytnuté v rámci článku.

    Na funkciách

    Ako vyzerajú? V analytických funkciách Oracle sú postavené na nasledovnom princípe: Name (argument,) OVER (fragmentácia, triedenie, okno). Ako pochopiť, že je to presne to, čo potrebujete? Vďaka slovu OVER. Umožňuje identifikovať zavedenú funkciu ako analytickú. Všetko, čo ide po skončení OVER, je opis zníženia údajov, na základe ktorého sa vypočíta. A teraz niektoré všeobecné slová o klasifikácii. podmienečnerozlišuje štyri typy (v závislosti od poskytnutých možností):


  • Funkcie hodnotenia. Umožňujú vám vytvoriť "prvé N" požiadavky.
  • Funkcie okna. Vyžaduje sa na výpočet rôznych agregátov (skupinové operácie).
  • Konečné funkcie. Podobne ako v odseku 2, ale môže pracovať so všetkými riadkami skupiny alebo sekcie. Kľúčovým rozdielom je absencia ORDER BY. Tento konštrukt sa nevzťahuje na operátora OVER. Ak nie je prítomná, táto funkcia sa používa vo vzťahu ku každému riadku časti alebo skupiny. Ak je k dispozícii, použije sa na okno, ktoré zahŕňa prechod na iný typ (pozri odsek 2).
  • Štatistické funkcie. Ako príklad možno uviesť STDEVJPOP, VAR_SAMP a ďalšie. Umožňuje vypočítať pre akúkoľvek neusporiadanú časť hodnotu štatistických ukazovateľov.
  • Všeobecne možno povedať, že analytické funkcie SQL Oracle už boli brané do úvahy. Ale len všeobecne. Neexistuje žiadna túžba hádzať veci na polovicu, takže poďme podrobnosti. A to pomôže analytickým funkciám spoločnosti Oracle, ktorých príklady budú teraz zvážené.

    Návrh segmentácie

    Vykonáte to tak, že požiadate o formulár PARTITION BY [, ...]. Takáto konštrukcia logicky rozdeľuje výslednú sadu na určité skupiny podľa kritérií daných výrazmi rezu. V tomto prípade sa analytické funkcie Oracle aplikujú nezávisle vo vzťahu k každému predmetu interakcie. To znamená, že po vykonaní spracovania sa obnovia pre novú skupinu. A čo keď nie je špecifikovaná konštrukcia rezov? V tom prípadevýsledná sada bude považovaná za jednu skupinu.

    Konštrukcia usporiadanie

    V tomto prípade, pomocou formulára žiadosti order výrazu. Okrem toho možno použiť aj DESC, ASC a NULLS FIRST /LAST. Tento konštrukt sa používa na určenie kritérií na triedenie údajov v sekcii alebo skupine. Použitie ORDER BY môže výrazne ovplyvniť výsledok, ktorý predstavuje Oracle. Analytické funkcie FIRST a LAST sú napríklad orientované na prvý a posledný prvok. To znamená, že majú opačnú hodnotu! A čo hovoríme FIRST a LAST? Označujú, kde by mala byť NULL v poriadku, na začiatku úseku alebo na konci. Ak neočakávate ORDER BY, vypočíta sa priemerná hodnota pre celú skupinu. A vydá sa pre každý riadok. Prečo? Faktom je, že v tomto prípade sa funkcia považuje za konečnú. Treba poznamenať, že objednávanie sa uskutočňuje výlučne v rámci skupín alebo sekcií.

    Konštrukcia okien

    Jeho konštrukcia je dosť komplikovaná. Po použití je nastavená pevne zviazaný alebo presunutie okna (interval údaje stanovené v oddieloch (skupín), ktorý bude komunikovať funkciu analytický. Môžete nastaviť dolnej a hornej hranice agregácie. Inými slovami, v takýchto prípadoch rozhodovať o použití analytické funkcie pre každý úsekov (skupín) s číslom X a Y. použitím okien hrá dôležitú úlohu poradí podľa., aby pevne pripojený intervaly štandardnej voľba je považovaný za prvý riadok aktuálnej skupiny

    . Prečo analytických funkcií

    techn a cieľom - Aposkytnúť stručné znenie a pomôcť urýchliť vykonávanie databázových dopytov. Pred zvyčajnými príkazmi SQL majú tieto výhody:
  • Zníženie zaťaženia v sieti. Pre čo je celá séria dopytov potrebná predtým, je teraz možné odstrániť z databázy jeden po druhom.
  • Laconická a jednoduchá formulácia. Vďaka týmto zlepšeným možnostiam ladenia a porozumenia v porovnaní s tradičnými prostriedkami.
  • Účinnosť spracovania. Analytické funkcie majú algoritmy na výpočty, ktoré sú optimalizované na získanie výsledkov s vyššou rýchlosťou.
  • Migrácia na server. Všetky výpočty sa vykonávajú na serveri, ktorého zdroje sú zvyčajne vhodné pre túto úlohu.
  • Taktiež zavedenie takýchto funkcií umožnilo dosiahnuť taký strategický cieľ ako poskytnutie základných prostriedkov na vytvorenie takzvaných súborov analytických údajov.

    Záver

    Čo môžem povedať na konci článku? Analytické funkcie sú veľmi zaujímavým riešením. Ak chcete lepšie pochopiť ich špecifiká, môžete byť vyškolení v ich používaní v zložitých a rozsiahlych databázach. Ako príklad na porovnanie môžete vybrať nasledujúce tradičné funkcie: SUM, MAX a podobné. Majte však na pamäti, že slúžia ako prechodný výsledok výpočtov. Preto je možné ich používať len s SELECT alebo ORDER BY. Treba pripustiť, že táto téma je veľmi zaujímavá. Je tu veľa variácií a teoretické opisovanie je všetko problematické. Je potrebné pokúsiť sa pracovaťs otázkami

    Súvisiace publikácie