muzruno.com

Класификация на видовете аналитични функции в Oracle. Аналитични функции в Oracle и основните технически характеристики

Система за управление на бази данни

Oracle е един от най-популярните представители на такъв софтуер. Тя привлича много потребители поради своята широка функционалност и значителни възможности. И това не е изненадващо, защото колко време вече се развива! Какво е интересно за Oracle? Аналитични функции Този СУБД е важна част от предоставените възможности. И ние ще ги разгледаме в рамките на тази статия.

Обща информация

оракулни аналитични функцииПървоначално трябва да се отбележи, че в Oracle аналитичните функции имат специфични възможности, но използват общ синтаксис. За да ги разберете, трябва да разберете как данните са:

  1. Partition.
  2. Организирайте.
  3. Посочете прозорците.

Като теоретична подкрепа, книгата на Том Кайт е взета. Материалът от него ще бъде накратко описан и ще бъдат разгледани само най-важните точки. Ако имате нужда от подробности, можете да посъветвате да се обърнете към източника. Но повярвайте ми, цялата необходима информация ще бъде предоставена в рамките на статията.

За функции

аналитични функции оракулКак изглеждат те? В Oracle аналитичните функции се основават на този принцип: Име (аргумент, hellip-). OVER (фрагментация, поръчване, прозорец). Как да разберем, че точно това ви е необходимо? Благодарение на думата OVER. Той ви позволява да определите входната функция като аналитична функция. Всичко, което идва след OVER, е описанието на фрагмента от данни, от който ще се изчислява. И сега няколко общи думи за класирането. Обикновено има четири типа (в зависимост от предоставените възможности):

  1. Функции за класиране. Те ви позволяват да създавате "първи N" заявки.
  2. Функции на прозореца. Необходимо е да се изчислят различни агрегати (групови операции).
  3. Обобщителни функции. Подобно на елемент 2, но може да работи с всички редове на група или раздел. Основната разлика е липсата на ORDER BY. Тази конструкция не се използва в изявлението OVER. Ако не е налице, тази функция се използва спрямо всеки ред от секцията или групата. Ако е налице, тя се прилага към прозореца, което предполага преход към друг тип (вж. Раздел 2).
  4. Статистически функции. Пример за това са STDEVJPOP, VAR_SAMP и други. Позволява ви да изчислявате стойностите на статистическите показатели за всяка неразпределена секция.

По принцип можем да кажем, че аналитичните функции на Oracle вече се разглеждат. Но само в общи линии. Хвърли касетата наполовина, няма желание, така че нека подробностите. И аналитичните функции на Oracle ще помогнат в това, примери за които сега ще бъдат разгледани.

Дизайн на сечение

аналитични функции sql оракулЗа целта използвайте формуляра за заявка PARTITION BY expression [, hellip-]. Такава конструкция прави логическа разбивка на зададения резултат в определени групи, в съответствие с критериите, които са били определени от изразите на дяловете. В този случай аналитичните функции на Oracle се прилагат независимо по отношение на всяко взаимодействие. Тоест, след като е извършена обработката, за нова група те се изхвърлят. Какво ще стане, ако дизайна на разделянето не е посочен? В този случай резултантният набор ще се счита за една група.

Структурата на поръчките



В този случай използвайте формуляра за заявка ORDER BY. В допълнение могат да се прилагат и DESC, ASC и NULLS FIRST / LAST. Този проект се използва за задачата за сортиране на данните в секция или група. Използването на ORDER BY може значително да повлияе върху резултата, който Oracle ще представи. Аналитичните функции FIRST и LAST, например, се ръководят от първия и последния елемент. Това означава, че те са противоположни по смисъла! И какво да кажем на FIRST и LAST? Те показват къде трябва да бъде стойността NULL при поръчката, в началото на раздела или в края. Ако не осигурите присъствието на ORDER BY, тогава ще бъде изчислена средната стойност за цялата група. И тя ще бъде издадена за всеки ред. Защо? Факт е, че в този случай функцията се счита за последната. Трябва да се отбележи, че поръчването се извършва изключително в рамките на групи или раздели.

Проектиране на прозорци

аналитични функцииНейната конструкция е много сложна. В края на краищата се използва за указване на твърдо свързан или движещ се прозорец (интервал, зададен) на данните в секцията (групата), с която аналитичната функция ще взаимодейства. Можете да определите горната и горната граница на агрегиране. С други думи, в такива случаи решаваме да приложим аналитичната функция към всеки ред от секцията (групата) от число X до Y. Когато използваме прозорци, ORDER BY играе важна роля. За твърди интервали, стандартът е изборът от първия до настоящия ред на групата.

Защо аналитични функции

Техническата цел е да се осигури кратка формулировка и да се допринесе за скоростта на запитване към базата данни. Преди обичайните SQL оператори те имат такива предимства:

  1. Намалете натоварването в мрежата. Това, за което преди това се изискваше цяла поредица от заявки, вече може да бъде извлечена от базата данни в едно.
  2. Лаконична и проста формулировка. Благодарение на това възможностите за отстраняване на грешки и разбиране са се подобрили в сравнение с традиционните средства.
  3. Ефективност на обработката. Аналитичните функции имат изчислителни алгоритми, които са оптимизирани за постигане на по-бързи резултати.
  4. Прехвърляне на работата на сървъра. Всички изчисления се извършват на сървър, чиито ресурси обикновено са по-подходящи за тази задача.

Също така, въвеждането на такива функции направи възможно постигането на такава стратегическа цел като предоставяне на основен инструмент за изграждане на така наречените аналитични складове за данни.

заключение

оракул аналитични функции на първо мястоКакво мога да кажа в края на статията? Аналитичните функции са много интересно решение. За да разберете по-добре техните специфики, можете да тренирате в използването им на сложни и големи бази данни. Като пример за сравнение, можете да изберете традиционни функции като SUM, MAX и други подобни. Но имайте предвид, че те действат като междинен резултат от изчисленията. Следователно можете да ги използвате само с SELECT или ORDER BY. Трябва да се признае, че тази тема е много интересна. Тук има много вариации и теоретично е проблематично да ги опиша. Необходимо е да се опитаме да работим с исканията.

Споделяне в социалните мрежи:

сроден