Язык SQL Oracle для хранения, обработки и анализа данных

Практикум 2. SQL в хранилищах данных

Показывать лекцию целиком

Требуемое программное обеспечение

ОС: Microsoft Windows 10 и выше.

СУБД: Oracle® Database Express Edition 11g Release 2

Прикладное программное обеспечение: Oracle SQL Developer

Подготовительная работа

Запустите приложение Oracle SQL Developer

Язык SQL для хранения, обработки и анализа данных. Практикум 2

И выполните соединение со схемой HR (щелкнуть кнопкой мыши на пиктограмму hr в левом верхнем окне приложения) – введите в поле Username – HR, в поле Password – пароль, который Вы определили для этого пользователя):

Язык SQL для хранения, обработки и анализа данных. Практикум 2

Появиться окно hr.sql, в котором Вам предстоит работать.

Далее приступайте к выполнению заданий Практикума.

Цель практикума: Научиться создавать запросы к таблицам базы данных с использованием расширений команды SQL SELECT для агрегации и анализа данных.

В результате выполнения Практикума студенты должны

Задание 1. Работа с командой SQL SELECT: агрегация данных

Цель: Получить навыки использования предложений POLLUP и CUBE в команде SQL SELECT.

Порядок выполнения.

Запросы составляются к представлению EMP_DETAILS_VIEW схемы HR.

Составить запрос, чтобы вычислить итоги по регионам и странам. Добавить предложение BY ROLLUP в предложение GROUP BY. Объяснить различие.

Составить запрос, чтобы вычислить итоги по регионам для сотрудников, чьи фамилии начинаются с “da” с использованием предложения ROLLUP. Заменить ROLLUP на CUBE. Объяснить различие в отчетах.

Составить запрос, чтобы вычислить итоги по регионам и странам с предложением ROLLUP и функцией GROUPING.

Пример выполнения задания

Задание 2. Работа с командой SQL SELECT: функции ранжирования

Цель: Получить навыки использования функций ранжирования с командой SQL SELECT.

Порядок выполнения.

Запросы составляются к таблице EMPLOYEES схемы HR.

Составить запрос, чтобы узнать ранг сотрудника с окладом 6100 у.е. и комиссионными 0,1. Использовать функции RANK и DENSE_RANK. Объяснить разницу в полученных значениях.

Составить запрос для получения отчета, в котором сотрудники подразделений ранжированы по размеру оклада.

Составить запрос для получения отчета, в котором сотрудники подразделения с номером 100 ранжированы с разбиением на четыре группы по величине оклада.

Выполнить предыдущий запрос для всей организации, а затем добавить в него фразу PARTITION BY department_id , чтобы посмотреть разницу в результатах.

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

Составить запрос для получения отчета, в котором вычисляется кумулятивное распределение значений с окладом в 7000 у.е. и комиссионными, равными 0.25.

Составить запрос для получения отчета, в котором вычисляется процентное отношение оклада каждого сотрудника в подразделении с номером, равным 30.

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

Пример выполнения задания

Задание 3. Работа с командой SQL SELECT: статистические функции

Цель: Получить навыки использования статистических функций с командой SQL SELECT.

Порядок выполнения.

Запросы составляются к таблице EMPLOYEES схемы HR.

Составить запрос, чтобы узнать средний оклад сотрудников для каждого руководителя в организации.

Составить запрос для получения отчета, включающего оклад каждого сотрудника и среднюю зарплату всех принятых на работу в течение 90 предыдущих дней, а также среднюю зарплату всех принятых на работу в течение 90 следующих дней.

нужно вычислить для каждого сотрудника количество сотрудников, имеющих оклад в диапазоне меньше 50 и больше 150 у.е.

Составить запрос для получения отчета, чтобы узнать для каждого сотрудника размер самого высокого оклада среди сотрудников, подчиняющихся руководителям, как сотрудникам.

Составить запрос для получения отчета, в котором для каждого руководителя вычисляется сумму окладов сотрудников, которые подчиняются этому руководителю и их оклад меньше или равен текущему значению в строке.

Составить запрос для получения отчета, чтобы вычислить корреляцию между продолжительностью работы в организации и размером оклада для подразделений с номерами 50 и 80.

Составить запрос для получения отчета, чтобы вычислить ковариацию генеральной совокупности и выборочную ковариацию между окладом сотрудников и продолжительностью их работы в организации (от текущей даты).

Составить запрос для получения отчета, чтобы вычислить медиану окладов сотрудников для каждого подразделения организации:

Составить запрос для получения отчета, чтобы вычислить медиану окладов для каждого руководителя для некоторого подмножества подразделений организации.

Составить запрос для получения отчета, чтобы вычислить стандартные отклонения окладов по сотрудникам в подразделениях.

Пример выполнения задания

Задание 4. Работа с командой SQL SELECT: оконные функции

Цель: Получить навыки использования оконных функций с командой SQL SELECT.

Порядок выполнения.

Запросы составляются к таблице EMPLOYEES схемы HR.

Составить запрос для получения отчета, в котором для каждого агента по закупкам показывается оклад сотрудников, только что принятых на работу перед ним.

Составить запрос для получения отчета, в котором для каждого сотрудника подразделения с номером 30 показывается дата приема на работу сотрудника, принятого после него.

Составить запрос для получения отчета, в котором необходимо вычислить минимальные зарплаты сотрудников с наименьшими комиссионными и максимальные зарплаты сотрудников с максимальными комиссионными.

Составить запрос для получения отчета, в котором вычисляется самый высокий оклад в организации, в подразделении с номером 30.

Составить запрос для получения отчета, в котором вычисляется количественный состав подразделений организации c указанием табельных номеров сотрудников в каждом подразделении.

Пример выполнения задания

Задание 5. Завершить работу

В меню «File» Oracle SQL Developer выполнить пункт меню «Exit».

В окне приложения Start Database выполнить команду Exit;.

Запустить приложение Stop Database из меню «Пуск». После остановки сервиса выполнить команду Exit.

Вернуться к учебному плану