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

Практикум 1. Основы SQL

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

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

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

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

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

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

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

Вариант 1.

Скачать с официального сайта компании Oracle свободно распространяемую по лицензии разработчика СУБД Oracle® Database Express Edition 11g.

Сайт www.oracle.com (требуется регистрация), лучше работать на сайте www.oracle.ru.

Установить СУБД на персональный компьютер.

В сети Интернет существует много материалов по теме установки Oracle. Один из них https://info-comp.ru/sisadminst/417-oracle-database-express-edition-11g.html 
содержит подробную инструкцию.

Внимание! Пароль, который Вы задаете при установке, следует запомнить.

Скачать с официального сайта компании Oracle программное обеспечение Oracle SQL Developer (доступна версия 19.1.0).

Установить программное обеспечение на персональный компьютер.

В сети Интернет существует много материалов по теме установки этого продукта. Один из них https://info-comp.ru/programmirovanie/418-installing-oracle-sql-developer-4.html 
содержит подробную инструкцию.

Внимание! Oracle SQL Developer требует при первом запуске установленную на компьютере java-машину (указать путь к файлу java.exe). Возможен конфликт с версией этой машины, установленной на Вашем компьютере. Решение вопроса состоит в переустановке java, инсталляцию которой лучше скачать с официального сайта Oracle.

Скачать с сайта курса файл football2018.sql.

Вариант 2.

Скачайте необходимое программное обеспечение отсюда: https://disk.yandex.ru/d/jEHIupkSQHuiVQ

Выполните все действия, которые указаны в занятии "Установка программного обеспечения" этого курса. 

Следуйте строго инструкциям в видеороликах.


После установки Oracle XE 11g в меню пуск у Вас будет:

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

Запустите базу данных.

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

Запустите SQL* Plus.

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

Подробная инструкция действий представлена в ролике: Настройка БД для работы с практикумом:

Введите команду Connect, Пользователь: System, Пароль: который Вы определили при установке.

После соединение с базой данных, введите команду (в качестве password введите свой пароль, например, 123456, и запомните его):

ALTER USER HR ACCOUNT UNLOCK IDENTIFIED BY password;

Этой командой Вы разблокируете учебную базу данных «Отделе кадров» (HR - имя пользователя схемы HR).

По умолчанию предполагается пароль HR, но Вы можете определить свой пароль в этой команде.

Чтобы завершить работу SQL* Plus, введите команду

exit 

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

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

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

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

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

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

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

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

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

Задание 1. Изучение учебной БД «Отдел кадров».

Цель: научиться исследовать структуру (состав колонок) таблиц БД.

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

Разверните узел дерева в левом верхнем окне, щелкнув кнопкой мыши на «+» перед узлом «Tables..»:

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

В результате получите доступ к списку таблиц БД.

Разверните узел дерева в левом верхнем окне, щелкнув кнопкой мыши на «+» перед узлом «Emploeeys..»:

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

В результате получите доступ к списку колонок таблицы Emploeeys.

Щелкнув кнопкой мыши на «+» на узле «Emploeeys..» получите доступ к информации об этой таблице (определение колонок, данные в таблице, физическую модель и связи таблицы, ограничения на значения колонок и т. д):

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

Задание. Изучить на нескольких таблицах (таблицы Emploeeys, Departnets, Locations) определение колонок, команду которой была создана эта таблица, определить первичный ключ и внешние ключи, ограничения на значения колонок.

Примечание. Если интерес выходит за рамки лекций курса, то документация по SQL доступна по ссылке https://docs.oracle.com/cd/E11882_01/server.112/e41084/toc.htm

Для выполнения дальнейших заданий нужны таблицы Emploeeys, Departnets, Locations.

Изучить определение представления EMP_DETAILS_VIEW.

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

Задание 2. Работа с простой командой SQL SELECT («Введение в SQL»)

Цель: Получить навыки работы с командой SQL SELECT.

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

  1. Выборка данных без условий (SELECTFROM).

    Составить запрос на выборку всех данных из таблицы Emlpoeeys.

    Составить запрос на выборку определенной колонки из таблицы Emlpoeeys.

  2. Выборка заданных строк (SELECTFROMWHERE – AND, NOT, BETWEEN …END, IN, LIKE)

    Составить запрос на выборку списка сотрудников подразделения с номером 70 из таблицы Emlpoeeys.

    Составить запрос на выборку списка сотрудников из отдела информационных технологий с зарплатой превышающей 5000 у.е.

    Составить запрос на выборку списка сотрудников, работающих в подразделении с номером 80 и не имеющих позицию SA_MAN.

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

    Составить запрос на выборку списка сотрудников подразделений, номера которых 20, 30, 40.

    Составить запрос на выборку списка сотрудников, имеющих в позициях которых присутствует слово «CLERK».

  3. Упорядочение строк (ORDER BY)

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

  4. Соединение таблиц

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

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

  5. Объединение, вычитание и пересечение таблиц (UNION, INTERSECTOIN, MINUS)

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

  6. Использование функций в запросах

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

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

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

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

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

  7. Агрегатные функции (GROUP BY, HAVING)

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

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

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

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

Задание 3. Работа командой SQL SELECT.

Цель: Научиться работать с командой SQL SELECT.

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

    1. Составить запрос для получения списка подразделений организации. Добавить в список предложения SELECT псевдоколонку ROWNUM. Добавить в запрос сортировку по наименованию подразделения. Добавить предложение WHERE условием ROWNUM < 6.
    2. Составить запрос, который находит сотрудника с минимальным окладом. Составить запрос, который вычисляет список отделов, которых средний оклад меньше чем средний оклад по организации. Составить запрос, который показывает самого низко оплачиваемого сотрудника в каждом подразделении.
    3. Составить запрос, чтобы получить количество сотрудников в организации. Выполнить в предыдущем запросе соединение таблиц EMPLOYEES, DEPARTMENTS. Составить запрос, который показывает руководителей организации и их подчиненных.
    4. Изучить в свойства таблицы REGIONS схемы HR. Составить запрос эквивалентный запросу

      SELECT * FROM regions NATURAL JOIN countries;

    5. Изучить в свойства таблиц JOB и JOB_HISTOTY схемы HR. Составить запросы для вычисления строк в каждой из этих таблиц. Составить запрос, который вычисляет разность этих таблиц. Составить запрос, который вычисляет объединение этих таблиц с опцией и без опции ALL.
HR  - это схема, в которой можно создавать таблицы БД, не сильно связанные смыслом. 
Файл football2018.sql является текстовым файлом. Он содержит набор команд для создания таблиц в схеме HR в ручном режиме, покомандно, т.е. из него нужно брать (копированием, чтобы не набирать) команды и их выполнять последовательно в приложении. Используется, чтобы показать, как создаются таблицы БД без загрузчика и специальных средств. Довольно рутинное задание. Займет до 1 часа.

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

Задание 4. Работа с командами манипулирования данными.

Цель: Научиться работать с командами манипулирования данными SQL.
Порядок выполнения.
1. Создание таблиц БД «Чемпионат мира по футболу 2018».
В схеме HR создать таблицы БД.  Из файла football2018.sql выполнить команды CREATE для создания таблиц MESTO_B_GRUPPE, IGR, RAZM_STADION. Индексы на первичные ключи будут созданы автоматически. Найти эти индексы в приложении Oracle SQL Developer. Команды создания таблиц следует выполнять отдельно.
2. Добавление строк в таблицы MESTO_B_GRUPPE, IGR, RAZM_STADION. Выполнить команды INSERT из файла football2018.sql. Убедиться, что таблицы заполнены.
Обратите внимание, как добавляются колонки с типом данных Date. Функция TO_CHAR используется, если формат представления даты в БД отличается от представления по умолчанию. Команды добавления записей в таблицы следует выполнять отдельно.
3. Изменение значения колонок. В таблице RAZM_STADION в колонке STADION название города Ростов на Дону написано по-разному (без дефиса и с дефисом). Выполнить команду UPDATE, чтобы все названия в этой колонке были одинаковыми.
 
UPDATE RAZM_STADION
SET STADION = 'Ростов на Дону'
WHERE STADION LIKE 'Ростов-%';
 
Также выполнить команду обновления для названия города Санкт-Петербург.
4. Составление запросов. Теоретико-множественные операции и агрегация.
Составить запрос, чтобы получить перечень всех групп, в которых ни одна игра не проходила в Саратове.
Составить запрос, чтобы найти те команды, которые выступали на играх в качестве гостей.
Составить запрос, чтобы получить максимальные количества забитых мячей в каждой группе, а также вывести среднее по забитым мячам по группе.

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

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

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

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

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

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

Приложения

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