🗊Презентация Аналитические функции Оracle

Категория: Информатика
Нажмите для полного просмотра!
Аналитические функции Оracle, слайд №1Аналитические функции Оracle, слайд №2Аналитические функции Оracle, слайд №3Аналитические функции Оracle, слайд №4Аналитические функции Оracle, слайд №5Аналитические функции Оracle, слайд №6Аналитические функции Оracle, слайд №7Аналитические функции Оracle, слайд №8Аналитические функции Оracle, слайд №9Аналитические функции Оracle, слайд №10Аналитические функции Оracle, слайд №11Аналитические функции Оracle, слайд №12Аналитические функции Оracle, слайд №13Аналитические функции Оracle, слайд №14Аналитические функции Оracle, слайд №15Аналитические функции Оracle, слайд №16Аналитические функции Оracle, слайд №17Аналитические функции Оracle, слайд №18Аналитические функции Оracle, слайд №19Аналитические функции Оracle, слайд №20Аналитические функции Оracle, слайд №21Аналитические функции Оracle, слайд №22Аналитические функции Оracle, слайд №23Аналитические функции Оracle, слайд №24Аналитические функции Оracle, слайд №25Аналитические функции Оracle, слайд №26Аналитические функции Оracle, слайд №27Аналитические функции Оracle, слайд №28Аналитические функции Оracle, слайд №29Аналитические функции Оracle, слайд №30Аналитические функции Оracle, слайд №31Аналитические функции Оracle, слайд №32Аналитические функции Оracle, слайд №33Аналитические функции Оracle, слайд №34Аналитические функции Оracle, слайд №35Аналитические функции Оracle, слайд №36Аналитические функции Оracle, слайд №37Аналитические функции Оracle, слайд №38Аналитические функции Оracle, слайд №39Аналитические функции Оracle, слайд №40Аналитические функции Оracle, слайд №41Аналитические функции Оracle, слайд №42Аналитические функции Оracle, слайд №43Аналитические функции Оracle, слайд №44Аналитические функции Оracle, слайд №45Аналитические функции Оracle, слайд №46Аналитические функции Оracle, слайд №47Аналитические функции Оracle, слайд №48Аналитические функции Оracle, слайд №49Аналитические функции Оracle, слайд №50

Содержание

Вы можете ознакомиться и скачать презентацию на тему Аналитические функции Оracle. Доклад-сообщение содержит 50 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Аналитические функции ORACLE
Графеева Н.Г.
2016
Описание слайда:
Аналитические функции ORACLE Графеева Н.Г. 2016

Слайд 2





Аналитика, трудно отображаемая средствами стандартного SQL
Подсчет нарастающих итогов (показать нарастающие итоги по зарплате построчно  для каждого сотрудника);
Подсчет процентов в группе (какой процент от общей зарплаты составляет зарплата отдельного сотрудника);
Выборка первых N сотрудников с наибольшими зарплатами;
Подсчет скользящего среднего (получить среднее значение по предыдущим N строкам);
Выполнение ранжирующих запросов (показать ранг зарплаты сотрудника среди других сотрудников )
Описание слайда:
Аналитика, трудно отображаемая средствами стандартного SQL Подсчет нарастающих итогов (показать нарастающие итоги по зарплате построчно для каждого сотрудника); Подсчет процентов в группе (какой процент от общей зарплаты составляет зарплата отдельного сотрудника); Выборка первых N сотрудников с наибольшими зарплатами; Подсчет скользящего среднего (получить среднее значение по предыдущим N строкам); Выполнение ранжирующих запросов (показать ранг зарплаты сотрудника среди других сотрудников )

Слайд 3





Назначение аналитических функций
Они расширяют язык SQL так, что подобные операции не только проще записываются, но и быстрее выполняются по сравнению с использованием чистого языка SQL. Говорят, что эти расширения сейчас изучаются комитетом ANSI SQL с целью включения в спецификацию языка SQL.
Описание слайда:
Назначение аналитических функций Они расширяют язык SQL так, что подобные операции не только проще записываются, но и быстрее выполняются по сравнению с использованием чистого языка SQL. Говорят, что эти расширения сейчас изучаются комитетом ANSI SQL с целью включения в спецификацию языка SQL.

Слайд 4





Основные группы аналитических функций
В ORACLE имеется по крайней мере 26 аналитических функций, которые достаточно условно могут быть разбиты на 4 группы:
функции ранжирования;
Функции агрегирования;
оконные функции;
функции, позволяющие “заглянуть” вперед или “оглянуться” назад.
Описание слайда:
Основные группы аналитических функций В ORACLE имеется по крайней мере 26 аналитических функций, которые достаточно условно могут быть разбиты на 4 группы: функции ранжирования; Функции агрегирования; оконные функции; функции, позволяющие “заглянуть” вперед или “оглянуться” назад.

Слайд 5





Контекст использования аналитических функций
Имя Функции(<аргумент>,< аргумент >, ...) 
OVER
(
[конструкция фрагментации] 
[конструкция упорядочения]
 [конструкция окна]
)
Описание слайда:
Контекст использования аналитических функций Имя Функции(<аргумент>,< аргумент >, ...) OVER ( [конструкция фрагментации] [конструкция упорядочения] [конструкция окна] )

Слайд 6





Конструкция фрагментации
PARTITION BY выражение [, выражение] [, выражение]
Конструкция задает область применения аналитических функций (группы).
Если не указать конструкцию фрагментации, все результирующее множество считается одной группой.
Описание слайда:
Конструкция фрагментации PARTITION BY выражение [, выражение] [, выражение] Конструкция задает область применения аналитических функций (группы). Если не указать конструкцию фрагментации, все результирующее множество считается одной группой.

Слайд 7





Пример 1 - запрос
select ename , deptno, sal, 
sum(sal) over (partition by deptno) sum_dept_sal
from emp
order by deptno
Описание слайда:
Пример 1 - запрос select ename , deptno, sal, sum(sal) over (partition by deptno) sum_dept_sal from emp order by deptno

Слайд 8





Пример 1 - результат
Описание слайда:
Пример 1 - результат

Слайд 9





Пример 2 - запрос
select ename , deptno, sal, 
            sum(sal) over () sum_dept_sal
from emp
order by deptno
Описание слайда:
Пример 2 - запрос select ename , deptno, sal, sum(sal) over () sum_dept_sal from emp order by deptno

Слайд 10





Пример 2 - результат
Описание слайда:
Пример 2 - результат

Слайд 11





Конструкция упорядочения
ORDER BY выражение [, выражение] [, выражение] [[ASC][DESC]]
Согласно документации “задает критерий сортировки данных в каждой группе”. Однако в действительности дело не только в сортировке…
Описание слайда:
Конструкция упорядочения ORDER BY выражение [, выражение] [, выражение] [[ASC][DESC]] Согласно документации “задает критерий сортировки данных в каждой группе”. Однако в действительности дело не только в сортировке…

Слайд 12





Пример 3 - запрос
select ename , deptno, sal, 
sum(sal) over (partition by deptno order by ename) sum_dept_sal
from emp
order by deptno
Описание слайда:
Пример 3 - запрос select ename , deptno, sal, sum(sal) over (partition by deptno order by ename) sum_dept_sal from emp order by deptno

Слайд 13





Пример 3 - результат
Описание слайда:
Пример 3 - результат

Слайд 14





Пример 4 – запрос (нарастающие итоги по зарплате)
select ename , deptno, sal, 
sum(sal) over (order by ename) sum_dept_sal
from emp
order by ename
Описание слайда:
Пример 4 – запрос (нарастающие итоги по зарплате) select ename , deptno, sal, sum(sal) over (order by ename) sum_dept_sal from emp order by ename

Слайд 15





Пример 4 - результат
Описание слайда:
Пример 4 - результат

Слайд 16





Пример 5 - запрос
select ename , deptno, 
       deptno || '.' || row_number() over (partition by deptno  order by ename) emp_id
from emp
order by deptno
Описание слайда:
Пример 5 - запрос select ename , deptno, deptno || '.' || row_number() over (partition by deptno order by ename) emp_id from emp order by deptno

Слайд 17





Пример 5 - резльтат
Описание слайда:
Пример 5 - резльтат

Слайд 18





Конструкция окна
Конструкция окна позволяет задать перемещающееся или жестко привязанное окно (набор) данных в пределах группы, с которым будет работать аналитическая функция.  Возможны два типа задания конструкции окна – смещение (ROWS) и задание диапазона (RANGE). Допустимы следующие варианты задания окна:
ROWS n PRECEDING
ROWS n FOLLOWING
RANGE UNBOUNDED PRECEDING
RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
RANGE n PRECEDING
И т.п.

Например, конструкция  ROWS n PRECEDING означает: применять аналитическую функцию к каждой строке данной группы с текущей строки до (n-1) предыдущей. Конструкция  RANGE n PRECEDING означает: применять аналитическую функцию к каждой строке данной группы у которых значения (по которым работает конструкция ORDER BY) попадают в диапазон от (значения в текущей строке – n) до текущего значения.
Описание слайда:
Конструкция окна Конструкция окна позволяет задать перемещающееся или жестко привязанное окно (набор) данных в пределах группы, с которым будет работать аналитическая функция. Возможны два типа задания конструкции окна – смещение (ROWS) и задание диапазона (RANGE). Допустимы следующие варианты задания окна: ROWS n PRECEDING ROWS n FOLLOWING RANGE UNBOUNDED PRECEDING RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW RANGE n PRECEDING И т.п. Например, конструкция ROWS n PRECEDING означает: применять аналитическую функцию к каждой строке данной группы с текущей строки до (n-1) предыдущей. Конструкция RANGE n PRECEDING означает: применять аналитическую функцию к каждой строке данной группы у которых значения (по которым работает конструкция ORDER BY) попадают в диапазон от (значения в текущей строке – n) до текущего значения.

Слайд 19





Пример 6- запрос (смещение)
select empno, ename , sal, 
avg(sal) over (order by empno rows 3 preceding)  moving_avg
from emp
order by empno
Описание слайда:
Пример 6- запрос (смещение) select empno, ename , sal, avg(sal) over (order by empno rows 3 preceding) moving_avg from emp order by empno

Слайд 20





Пример 6- результат
Описание слайда:
Пример 6- результат

Слайд 21





Пример 7 – запрос (окно диапазона)
select empno, ename , sal, 
sum(sal) over (order by empno  range 
                          unbounded preceding)  added_sal
from emp
order by empno
Описание слайда:
Пример 7 – запрос (окно диапазона) select empno, ename , sal, sum(sal) over (order by empno range unbounded preceding) added_sal from emp order by empno

Слайд 22





Пример 7 - результат
Описание слайда:
Пример 7 - результат

Слайд 23





Пример 8 – запрос(численное задание дипазона) 
select empno, ename , 
    sal,  
   (sal- 100) left_window_bound, 
    sal           right_window_bound,
    count(sal) over (order by sal  range 100 preceding)  count_sal
from emp
order by sal
Описание слайда:
Пример 8 – запрос(численное задание дипазона) select empno, ename , sal, (sal- 100) left_window_bound, sal right_window_bound, count(sal) over (order by sal range 100 preceding) count_sal from emp order by sal

Слайд 24





Пример 8 – результат
Описание слайда:
Пример 8 – результат

Слайд 25





Группы аналитических функций
Rankings and percentiles
Lag/lead analysis
Window calculations
First/last analysis
Описание слайда:
Группы аналитических функций Rankings and percentiles Lag/lead analysis Window calculations First/last analysis

Слайд 26





Предназначение аналитических функций
Описание слайда:
Предназначение аналитических функций

Слайд 27





Порядок обработки аналитических функций
Обработка запросов с помощью аналитических функций происходит в три этапа:
Во-первых,  выполняются все соединения, WHERE, GROUP BY и HAVING. 
Во-вторых, результирующий набор обрабатывается аналитическими функциями.
В-третьих, если запрос имеет опцию ORDER BY, выполняется итоговая обработка результирующего множества.
Описание слайда:
Порядок обработки аналитических функций Обработка запросов с помощью аналитических функций происходит в три этапа: Во-первых, выполняются все соединения, WHERE, GROUP BY и HAVING. Во-вторых, результирующий набор обрабатывается аналитическими функциями. В-третьих, если запрос имеет опцию ORDER BY, выполняется итоговая обработка результирующего множества.

Слайд 28





Порядок обработки аналитических функций
Описание слайда:
Порядок обработки аналитических функций

Слайд 29





Rankings and percentiles analysis
RANK 
DENSE_RANK
RATIO_TO_REPORT
CUME_DIST
PERCENT_RANK
NTILE
ROW_NUMBER
Описание слайда:
Rankings and percentiles analysis RANK DENSE_RANK RATIO_TO_REPORT CUME_DIST PERCENT_RANK NTILE ROW_NUMBER

Слайд 30





Синтаксис для использования
RANK ( ) OVER ( [partition_clause] order_by_clause ) 
DENSE_RANK ( ) OVER ( [partition_clause] order_by_clause ) 
RATIO_TO_REPORT () ( [partition_clause] order_by_clause ) 
CUME_DIST ( ) OVER ( [partition_clause] order_by_clause )  
PERCENT_RANK ( ) OVER ( [partition_clause] order_by_clause ) 
NTILE (exp) OVER ( [partition_clause] order_by_clause ) 
ROW_NUMBER ( ) OVER ( [partition_clause] order_by_clause )
Описание слайда:
Синтаксис для использования RANK ( ) OVER ( [partition_clause] order_by_clause ) DENSE_RANK ( ) OVER ( [partition_clause] order_by_clause ) RATIO_TO_REPORT () ( [partition_clause] order_by_clause ) CUME_DIST ( ) OVER ( [partition_clause] order_by_clause ) PERCENT_RANK ( ) OVER ( [partition_clause] order_by_clause ) NTILE (exp) OVER ( [partition_clause] order_by_clause ) ROW_NUMBER ( ) OVER ( [partition_clause] order_by_clause )

Слайд 31





Пример 9 (RANK – вычисляет относительный ранг каждой строки)
Описание слайда:
Пример 9 (RANK – вычисляет относительный ранг каждой строки)

Слайд 32





Пример 10 (RANK)
Описание слайда:
Пример 10 (RANK)

Слайд 33





Пример 11(DENSE_RENK – вычисляет “плотный” ранг каждой строки без промежутков)
Описание слайда:
Пример 11(DENSE_RENK – вычисляет “плотный” ранг каждой строки без промежутков)

Слайд 34





Пример 12(RATIO_TO_REPORT –вычисляет соотношение текущего значение к сумме значений по всей группе)
Описание слайда:
Пример 12(RATIO_TO_REPORT –вычисляет соотношение текущего значение к сумме значений по всей группе)

Слайд 35





Пример 13(CUME_DIST)
Описание слайда:
Пример 13(CUME_DIST)

Слайд 36





Определение CUME_DIST (в документации ORACLE
Описание слайда:
Определение CUME_DIST (в документации ORACLE

Слайд 37





Пример 14 (NTILE – классифицирует группы по значению выражения)
Описание слайда:
Пример 14 (NTILE – классифицирует группы по значению выражения)

Слайд 38





Определение NTILE (из документации ORACLE)
Описание слайда:
Определение NTILE (из документации ORACLE)

Слайд 39





Упражнение 1
Классифицируйте клиентов из demo базы ORACLE на 3 категории в зависимости от общей суммы заказов.
Описание слайда:
Упражнение 1 Классифицируйте клиентов из demo базы ORACLE на 3 категории в зависимости от общей суммы заказов.

Слайд 40





Пример 15 (ROW_NUMBER – возвращает смещение строки по отношению к началу упорядоченной группы)
Описание слайда:
Пример 15 (ROW_NUMBER – возвращает смещение строки по отношению к началу упорядоченной группы)

Слайд 41





LAG/LEAD analysis
Функции обеспечивают доступ к строкам в запросе с заданным смещением относительно текущей строки. 
   Синтаксис для использования:
     {LAG | LEAD} ( value_expr [, offset] ) 
      OVER ( [partition_clause] order_by_clause )
Описание слайда:
LAG/LEAD analysis Функции обеспечивают доступ к строкам в запросе с заданным смещением относительно текущей строки. Синтаксис для использования: {LAG | LEAD} ( value_expr [, offset] ) OVER ( [partition_clause] order_by_clause )

Слайд 42





Пример 16(LAD, LEAD – предыдущее и последующее значения)
Описание слайда:
Пример 16(LAD, LEAD – предыдущее и последующее значения)

Слайд 43





Windows functions
 Позволяют  с легкостью вычислять:
    нарастающие итоги,  скользящее среднее, центральное среднее и т.п.
    Работают совместно с агрегатными функциями: SUM(), AVG(), MAX(), MIN(), COUNT() и порядковыми функциями FIRST_VALUE() и LAST_VALUE()(возвращают первую и последнюю запись в окне).
Описание слайда:
Windows functions Позволяют с легкостью вычислять: нарастающие итоги, скользящее среднее, центральное среднее и т.п. Работают совместно с агрегатными функциями: SUM(), AVG(), MAX(), MIN(), COUNT() и порядковыми функциями FIRST_VALUE() и LAST_VALUE()(возвращают первую и последнюю запись в окне).

Слайд 44





Пример 17(вычисление нарастающих итогов)
Описание слайда:
Пример 17(вычисление нарастающих итогов)

Слайд 45





Пример 18 (скользящее среднее)
Описание слайда:
Пример 18 (скользящее среднее)

Слайд 46





Пример 19 (центральное среднее)
Описание слайда:
Пример 19 (центральное среднее)

Слайд 47





Пример 20 (вычисление размера окна)
Описание слайда:
Пример 20 (вычисление размера окна)

Слайд 48





Пример 21(first_value, last_value в окне)
Описание слайда:
Пример 21(first_value, last_value в окне)

Слайд 49





Пример 22 (first_value, last_value в группе)
Описание слайда:
Пример 22 (first_value, last_value в группе)

Слайд 50





Домашнее задание 3
Создать приложение, отображающее в виде графиков нарастающие  итоги (сумма или количество) по заказам из демонстрационной базы ORACLE (нарастающие по времени). Запрос должен быть написан с использованием аналитических функций.
Ссылку на приложение, логин и пароль для входа отправлять по адресу: N.Grafeeva@spbu.ru
Тема -  Data_Mining_2016_job3
Описание слайда:
Домашнее задание 3 Создать приложение, отображающее в виде графиков нарастающие итоги (сумма или количество) по заказам из демонстрационной базы ORACLE (нарастающие по времени). Запрос должен быть написан с использованием аналитических функций. Ссылку на приложение, логин и пароль для входа отправлять по адресу: N.Grafeeva@spbu.ru Тема - Data_Mining_2016_job3



Похожие презентации
Mypresentation.ru
Загрузить презентацию