Класификация на видовете аналитични функции в Oracle. Аналитични функции в Oracle и основните технически характеристики
Система за управление на бази данни
съдържание
Обща информация
Първоначално трябва да се отбележи, че в Oracle аналитичните функции имат специфични възможности, но използват общ синтаксис. За да ги разберете, трябва да разберете как данните са:
- Partition.
- Организирайте.
- Посочете прозорците.
Като теоретична подкрепа, книгата на Том Кайт е взета. Материалът от него ще бъде накратко описан и ще бъдат разгледани само най-важните точки. Ако имате нужда от подробности, можете да посъветвате да се обърнете към източника. Но повярвайте ми, цялата необходима информация ще бъде предоставена в рамките на статията.
За функции
Как изглеждат те? В Oracle аналитичните функции се основават на този принцип: Име (аргумент, hellip-). OVER (фрагментация, поръчване, прозорец). Как да разберем, че точно това ви е необходимо? Благодарение на думата OVER. Той ви позволява да определите входната функция като аналитична функция. Всичко, което идва след OVER, е описанието на фрагмента от данни, от който ще се изчислява. И сега няколко общи думи за класирането. Обикновено има четири типа (в зависимост от предоставените възможности):
- Функции за класиране. Те ви позволяват да създавате "първи N" заявки.
- Функции на прозореца. Необходимо е да се изчислят различни агрегати (групови операции).
- Обобщителни функции. Подобно на елемент 2, но може да работи с всички редове на група или раздел. Основната разлика е липсата на ORDER BY. Тази конструкция не се използва в изявлението OVER. Ако не е налице, тази функция се използва спрямо всеки ред от секцията или групата. Ако е налице, тя се прилага към прозореца, което предполага преход към друг тип (вж. Раздел 2).
- Статистически функции. Пример за това са STDEVJPOP, VAR_SAMP и други. Позволява ви да изчислявате стойностите на статистическите показатели за всяка неразпределена секция.
По принцип можем да кажем, че аналитичните функции на Oracle вече се разглеждат. Но само в общи линии. Хвърли касетата наполовина, няма желание, така че нека подробностите. И аналитичните функции на Oracle ще помогнат в това, примери за които сега ще бъдат разгледани.
Дизайн на сечение
За целта използвайте формуляра за заявка 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 оператори те имат такива предимства:
- Намалете натоварването в мрежата. Това, за което преди това се изискваше цяла поредица от заявки, вече може да бъде извлечена от базата данни в едно.
- Лаконична и проста формулировка. Благодарение на това възможностите за отстраняване на грешки и разбиране са се подобрили в сравнение с традиционните средства.
- Ефективност на обработката. Аналитичните функции имат изчислителни алгоритми, които са оптимизирани за постигане на по-бързи резултати.
- Прехвърляне на работата на сървъра. Всички изчисления се извършват на сървър, чиито ресурси обикновено са по-подходящи за тази задача.
Също така, въвеждането на такива функции направи възможно постигането на такава стратегическа цел като предоставяне на основен инструмент за изграждане на така наречените аналитични складове за данни.
заключение
Какво мога да кажа в края на статията? Аналитичните функции са много интересно решение. За да разберете по-добре техните специфики, можете да тренирате в използването им на сложни и големи бази данни. Като пример за сравнение, можете да изберете традиционни функции като SUM, MAX и други подобни. Но имайте предвид, че те действат като междинен резултат от изчисленията. Следователно можете да ги използвате само с SELECT или ORDER BY. Трябва да се признае, че тази тема е много интересна. Тук има много вариации и теоретично е проблематично да ги опиша. Необходимо е да се опитаме да работим с исканията.
- Oracle Database: основните характеристики на DBMS на Oracle
- Как да инсталирате Java на Windows 7
- Как да актуализирам Java на Linux и Windows операционни системи?
- Общ преглед на системите за управление на бази данни
- Как да съставя SQL заявки - подробни примери
- Виртуална кутия: настройка на мрежата, Windows XP, Windows 7. Virtualbox Ubuntu: настройка на…
- Java: регулярни изрази, специални знаци
- Общ софтуер за приложения: примери
- Подробности за това, какво да отворите ODG
- Оракул е обект или човек?
- Oracle - какво е това? Oracle Database
- SQL команди за заявки
- SQL функцията SUBSTRING
- Инсталиране на SQL с
- Система за управление на бази данни (СУБД): класификация, дефиниция и функции
- Функцията е аналитична: формата и характеристиките. Теорията на аналитичните функции
- Синтетично счетоводство
- Клиент-сървърна технология
- Приложен софтуер, класификация
- Създаване на база данни: техники и съществуващи решения
- Общи понятия на DBMS за достъп