/ / Oracle-analyyttisten toimintojen luokittelu. Oraclen analyyttiset toiminnot ja tärkeimmät tekniset ominaisuudet

Analyysitoimintotyyppien luokittelu Oraclessa. Oraclen analyyttiset toiminnot ja tärkeimmät tekniset ominaisuudet

Oracle Database Management System onyksi tällaisten ohjelmistojen suosituimmista edustajista. Se houkuttelee monia käyttäjiä laajan toiminnallisuutensa ja merkittävien ominaisuuksiensa ansiosta. Ja tämä ei ole yllättävää, koska kuinka kauan sitä on jo kehitetty! Joten miksi Oracle on mielenkiintoinen? Tämän DBMS: n analyyttiset toiminnot ovat tärkeä osa tarjottuja ominaisuuksia. Ja me tarkastelemme niitä tämän artikkelin puitteissa.

Yleistä tietoa

oraakkelin analyyttiset toiminnot
Aluksi on huomattava, että Oraclessaanalyyttisillä toiminnoilla on erityisiä ominaisuuksia, mutta niissä käytetään yhteistä syntaksia. Niiden ymmärtämiseksi sinun on ymmärrettävä, miten tiedot:

  1. Osio.
  2. Järjestää.
  3. Aseta ikkunat.

Kirjaa pidettiin teoreettisena tukenaTom Kite. Materiaali siitä esitetään lyhyesti, ja vain tärkeimmät kohdat otetaan huomioon. Jos tarvitset lisätietoja, voit neuvoa viitata lähteeseen. Mutta uskokaa minua, kaikki tarvittavat tiedot toimitetaan artikkelin puitteissa.

Tietoja ominaisuuksista

oraakkelin analyyttiset toiminnot
Miltä ne näyttävät?Oraclessa analyyttiset toiminnot rakennetaan seuraavan periaatteen mukaisesti: Nimi (argumentti,….) OVER (pirstaleisuus, järjestys, ikkuna). Kuinka ymmärtää, että tarvitset juuri tätä? Kiitos sanalle OVER. Sen avulla voit tunnistaa esitetyn funktion analyyttiseksi. Kaikki, mikä tulee OVER: n jälkeen, on kuvaus tietolohkosta, jonka perusteella se lasketaan. Ja nyt muutama yleinen sana luokittelusta. Neljä tyyppiä erotetaan tavanomaisesti (riippuen tarjotuista ominaisuuksista):

  1. Sijoitustoiminnot. Niiden avulla voit luoda "ensimmäisen N" kyselyn.
  2. Ikkunatoiminnot. Tarvitaan laskemaan erilaisia ​​aggregaatteja (ryhmäkäyttö).
  3. Yhteenvetotoiminnot. Samanlainen kuin s.2, mutta voi toimia ryhmän tai osan kaikkien rivien kanssa. Tärkein ero on ORDER BY: n puuttuminen. Tätä rakennetta ei käytetä OVER-käskyssä. Jos ei, niin tätä toimintoa käytetään osion tai ryhmän jokaisen rivin suhteen. Jos se on olemassa, se käytetään ikkunaan, mikä tarkoittaa siirtymistä toiseen tyyppiin (katso kohta 2).
  4. Tilastotoiminnot. Esimerkkejä ovat STDEVJPOP, VAR_SAMP ja muut. Voit laskea tilastolliset arvot järjestämättömälle osalle.

Yleensä voimme sanoa, että analyyttinen toimintaSQL Oracle on jo katettu. Mutta vain yleisesti. Ei ole halua luopua tapauksesta puolivälissä, joten mennään yksityiskohtiin. Ja Oraclen analyyttiset toiminnot auttavat tässä, esimerkkejä siitä tarkastellaan nyt.

Leikkaussuunnittelu

sql oraakkelin analyyttiset toiminnot
Voit tehdä tämän käyttämällä lomakkeen PARTITION BY kyselyäilmaisu[, …]. Tällainen rakenne jakaa tulosjoukon loogisen jakamisen tiettyihin ryhmiin osiointilausekkeiden määrittelemien kriteerien mukaisesti. Samalla Oraclen analyyttisiä toimintoja käytetään itsenäisesti suhteessa kuhunkin vuorovaikutuskohteeseen. Eli kun käsittely on valmis, ne nollataan uudelle ryhmälle. Entä jos osiointirakennetta ei määritetä? Tällöin tuloksena olevaa joukkoa pidetään yhtenä ryhmänä.

Tilausrakenne

Käytä tässä tapauksessa lomakkeen ORDER BY kyselyäilmaisu. Lisäksi voidaan käyttää DESC, ASC ja NULLS FIRST / LAST. Tätä rakennetta käytetään asettamaan kriteerit tietojen lajittelulle osiossa tai ryhmässä. ORDER BY: n käyttäminen voi vaikuttaa merkittävästi Oraclen esittämään tulokseen. Esimerkiksi analyyttiset toiminnot FIRST ja LAST keskittyvät ensimmäiseen ja viimeiseen kohteeseen. Eli ne ovat merkitykseltään päinvastaisia! Mitä ENSIMMÄINEN ja VIIMEA kertoo meille? Ne osoittavat, missä NULL-arvon pitäisi olla järjestyksessä, osan alussa tai lopussa. Jos et ilmoita ORDER BY: n esiintymistä, lasketaan koko ryhmän keskimääräinen arvo. Ja se näytetään jokaiselle riville. Miksi? Tosiasia on, että tässä tapauksessa toimintoa pidetään lopullisena. On huomattava, että tilaus tapahtuu yksinomaan ryhmien tai osioiden sisällä.

Ikkunarakenne

esimerkkejä oraakkelin analyyttisistä toiminnoista
Sen rakenne on hyvin monimutkainen.Itse asiassa sen avulla määritetään jäykästi sidottu tai liikkuva ikkuna (väli, joukko) tietoja osassa (ryhmässä), jonka kanssa analyyttinen toiminto on vuorovaikutuksessa. Voit asettaa yhdistämisen ala- ja ylärajat. Toisin sanoen tällaisissa tapauksissa päätämme soveltaa analyyttistä toimintoa osan (ryhmän) jokaiselle riville numerosta X - Y. Ikkunoita käytettäessä ORDER BY -toiminnolla on tärkeä rooli. Kovakoodatuille alueille standardi on valinta ryhmän ensimmäisestä nykyiseen riviin.

Miksi tarvitset analyyttisiä toimintoja

Teknisenä tavoitteena on pitää sanamuoto suppeana ja nopeuttaa tietokantakyselyjen suorittamista. Niillä on seuraavat edut tavallisiin SQL-operaattoreihin verrattuna:

  1. Verkon kuormituksen vähentäminen. Aikaisemmin vaadittu kyselysarja voidaan nyt hakea tietokannasta yhdessä.
  2. Lyhyt ja yksinkertainen sanamuoto. Tämä johtaa parempiin virheenkorjaus- ja oivallusominaisuuksiin perinteisiin työkaluihin verrattuna.
  3. Käsittelytehokkuus. Analyyttisissä funktioissa on laskenta-algoritmeja, jotka on optimoitu nopeamman tuloksen saavuttamiseksi.
  4. Työn siirtäminen palvelimelle. Kaikki laskelmat suoritetaan palvelimella, jonka resurssit ovat yleensä sopivampia tähän tehtävään.

Tällaisten toimintojen käyttöönotto mahdollisti myös sellaisen strategisen tavoitteen saavuttamisen kuin perustyökalun rakentaminen niin kutsuttujen analyyttisten tietovarastojen rakentamiseksi.

johtopäätös

oraakkelin analyyttiset toiminnot ensin
Mitä voit sanoa artikkelin lopussa?Analyyttiset toiminnot ovat erittäin mielenkiintoinen ratkaisu. Ymmärtääksesi paremmin heidän erityispiirteensä, voit harjoitella niiden käyttöä monimutkaisissa ja suurissa tietokannoissa. Vertailuesimerkkinä voit valita sellaiset perinteiset toiminnot kuin SUM, MAX ja vastaavat. Mutta pidä mielessä, että ne toimivat välilaskutuloksena. Siksi niitä voidaan käyttää vain SELECT- tai ORDER BY -toimintojen kanssa. Tosin tämä aihe on erittäin mielenkiintoinen. Täällä on monia muunnelmia, ja teoreettisesti on ongelmallista kuvata niitä kaikkia. Tätä kannattaa kokeilla kyselyjen kanssa.