Razvrstavanje vrsta analitičkih funkcija u Oracle. Analitičke funkcije u Oracleu i glavne tehničke značajke

Sustav upravljanja bazom podataka Oracle jejedan od najpopularnijih predstavnika takvog softvera. To privlači mnoge korisnike zbog svoje široke funkcionalnosti i značajnih mogućnosti. I to ne čudi, jer koliko je vremena već razvijeno! Pa što je zanimljivo o Oracleu? Analitičke funkcije ovog DBMS-a važan su dio pruženih mogućnosti. I mi ćemo ih razmotriti u okviru ovog članka.

Opće informacije

analitičke funkcije
U početku treba napomenuti da je u OracleuAnalitičke funkcije imaju specifične sposobnosti, ali koriste zajedničku sintaksu. Da biste ih razumjeli, morate razumjeti kako se podaci:

  1. Particija.
  2. Organizirajte.
  3. Navedite prozore.

Kao teorijska potpora, knjiga je preuzetaTom Kite. Materijal iz njega bit će ukratko opisan i razmotrit će se samo najvažnije točke. Ako trebate detalje, savjetujemo vam da se obratite izvoru. Ali vjerujte mi, sve potrebne informacije bit će pružene u okviru članka.

O funkcijama

analitičke funkcije orakle
Kako izgledaju? U Oracleu, analitičke funkcije su izgrađene na ovom principu: Naziv (argument, ....) OVER (fragmentacija, naručivanje, prozor). Kako razumjeti da je upravo ono što trebate? Zahvaljujući riječi OVER. To vam omogućuje prepoznavanje ulaza kao analitičke funkcije. Sve što dolazi nakon OVER je opis podatkovne kriške, na kojem će se izračunati. I sada nekoliko općenitih riječi o klasifikaciji. Konvencionalno postoje četiri vrste (ovisno o pruženim mogućnostima):

  1. Rangiranje funkcija. Omogućuju vam izradu "prvih N" upita.
  2. Funkcije prozora. Potrebno je izračunati različite agregate (grupne operacije).
  3. Funkcije sažetka. Oni su slični p.2, ali može raditi sa svim redcima grupe ili odjeljka. Ključna razlika je nedostatak ORDER BY. Ova se konstrukcija ne koristi u OVER izjavi. Ako nije prisutna, ta se funkcija koristi u odnosu na svaku liniju odjeljka ili grupe. Ako je dostupan, primjenjuje se na prozor, što podrazumijeva prijelaz na drugu vrstu (vidi odjeljak 2).
  4. Statističke funkcije. Primjer je STDEVJPOP, VAR_SAMP i drugi. Omogućite izračunavanje vrijednosti statističkih pokazatelja za bilo koji neuredni odjeljak.

Općenito, može se reći da analitičke funkcijeSQL Oracle već je razmatran. Ali samo općenito. Bacite slučaj na pola nema želje, pa neka je detalja. A Oracleova analitička funkcija pomoći će u tome, čiji će se primjeri sada razmotriti.

Odjeljivanje dizajna

analitičke funkcije sql oracle
Da biste to učinili, upotrijebite obrazac zahtjeva PARTITION BYizraz [, ...]. Takav dizajn čini logički slom postavljenog rezultata u određene skupine, prema kriterijima koji su određeni izrazima particije. U tom se slučaju Oracle analitičke funkcije primjenjuju neovisno u odnosu na svaku entitet interakcije. To znači da, nakon obrade, za novu skupinu odbacuju se. Što ako dizajn particioniranja nije specificiran? U tom slučaju, dobiveni skup smatra se jednom skupinom.

Struktura naručivanja

U tom slučaju upotrijebite upit ORDER BYizraz. Osim toga, mogu se primijeniti DESC, ASC i NULLS FIRST / LAST. Ovaj dizajn koristi se za zadatak sortiranja podataka u odjeljku ili skupini. Upotreba ORDER BY može značajno utjecati na rezultat koji će Oracle predstaviti. Analitičke funkcije PRVI i LAST, na primjer, vode se prvim i posljednjim elementima. To jest, oni su suprotni u značenju! A što kažemo PRVI i LAST? Oni naznačuju gdje bi vrijednost NULL trebala biti na redoslijedu, na početku odjeljka ili na kraju. Ako ne odredite prisutnost ORDER BY, izračunat će se prosječna vrijednost za cijelu grupu. I bit će izdano za svaku liniju. Zašto? Činjenica je da se u ovom slučaju ta funkcija smatra konačnim. Valja napomenuti da se naručivanje provodi isključivo unutar grupa ili odjeljaka.

Izrada prozora

analitičke funkcije primjeri orakula
Njegova je konstrukcija vrlo složena. Uostalom, koristi se za određivanje čvrsto vezanog ili pokretnog prozora (interval, skup) podataka unutar odjeljka (grupe) s kojim će analitička funkcija biti u interakciji. Možete odrediti niže i gornje granice agregacije. Drugim riječima, u takvim slučajevima odlučili smo primijeniti analitičku funkciju na svaku liniju sekcije (grupe) od broja X do Y. Kada koristite prozore, ORDER BY igra važnu ulogu. Za krute veze, standard je izbor od prvog do trenutnog retka grupe.

Zašto analitičke funkcije

Tehnički je cilj dati kratku formulaciju i pridonijeti brzini upita baze podataka. Prije uobičajenih SQL operatera, oni imaju takve prednosti:

  1. Smanjite opterećenje na mreži. Ono za koje je prethodno bilo potrebno čitav niz zahtjeva, sada se može izvući iz baze podataka u jednom.
  2. Laconična i jednostavna formulacija. Zbog ovih poboljšanih ispravljanje pogrešaka sposobnosti i razumijevanja u usporedbi s tradicionalnim sredstvima.
  3. Učinkovitost obrade. Analitičke funkcije imaju računalne algoritme koji su optimizirani za postizanje bržih rezultata.
  4. Prijenos posla na poslužitelj. Svi se izračuni obavljaju na poslužitelju čiji su resursi obično prikladniji za ovaj zadatak.

Također, uvođenje takvih funkcija omogućilo je postizanje takvog strateškog cilja kao pružanje osnovnog alata za izgradnju tzv. Analitičkih skladišta podataka.

zaključak

Prvo, analitičke funkcije
Što mogu reći na kraju članka? Analitičke funkcije su vrlo zanimljivo rješenje. Da biste bolje razumjeli njihove specifičnosti, možete ih trenirati na složenim i velikim bazama podataka. Kao primjer za usporedbu, možete odabrati tradicionalne funkcije kao što su SUM, MAX i slično. Ali imajte na umu da oni djeluju kao srednji rezultat izračuna. Stoga ih možete upotrijebiti samo pomoću opcije SELECT ili ORDER BY. Treba priznati da je ova tema vrlo zanimljiva. Postoje mnoge varijacije ovdje, i problematično ih je teoretski opisati. Potrebno je pokušati raditi s zahtjevima.

</ p>
volio:
0
Vezani članci
Definicija i vrste funkcija u državi
Kako razviti analitičke vještine:
Klasifikacija računala: osnovna načela
Virtualbox: postavljanje mreže, Windows XP,
Pojedinosti o tome što otvoriti ODG
Pregled sustava za upravljanje bazama podataka
Kako instalirati Java na Windows 7
Klijent-poslužiteljska tehnologija
Opći koncepti Access DBMS-a
Popularni postovi
gore