Материал: Oracle

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Лабораторная работа № 6 Создание запросов на выборку

Создадим несколько простых запросов на выборку данных. Для выполнения запросов (извлечения строк из одной или нескольких таблиц БД) используется оператор SELECT. Результатом запроса всегда является таблица. Результаты запроса могут быть использованы для создания новой таблицы.

Создадим простой запрос на выборку к таблице Student, который выводит максимальный и минимальный балл аттестата (рис. 26):

Рис. 26. Простой запрос на выборку к таблице Student

Создадим простой запрос на выборку к таблице Registration (рис. 27), который выводит все специальности абитуриентов:

Рис. 27. Простой запрос на выборку к таблице Registration

Создадим многотабличный запрос на выборку, результатом которого является таблица, в которой указаны все абитуриенты, поступившие на специальность «ИВТ» с количеством баллов по аттестату ЕГЭ больше 200 (рис. 28):

Рис. 28. Многотабличный запрос

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

Рис. 29. Запрос на выборку с вложенным запросом

Лабораторная работа №7 Представления

Создадим вертикальное представление list_student_view, которое выводит ФИО абитуриента и его факультет (рис. 30):

Рис. 30. Вертикальное представление

Создадим запрос к представлению, который выводит имена абитуриентов из факультета «ФИТиКС» (рис. 31):

Рис. 31. Запрос к представлению

Создадим представление list_enterprise_view, отображающее ФИО абитуриента, название предприятия, телефон (рис. 32):

Рис. 32. Представление list_enterprise_view

Лабораторная работа № 8 Хранимые процедуры

Создадим хранимые процедуры для работы с таблицей Certificate_stud (выборка, вставка, модификация и удаление данных).

  1. Выборка данных (процедура Certificate_Select) рис. 33:

Рис. 33. Выборка данных Certificate_select

Рис. 34. Вызов процедуры Certificate_select

2. Вставка данных (Certificate_Insert) рис.35:

Рис. 35. Вставка данных Certificate_Insert

Рис. 36. Выполнение процедуры Certificate_Insert

Рис. 37. Результат процедуры Certificate_Insert

3. Модификация данных (Certificate_update) рис. 38:

Рис. 38. Модификация данных Certificate_Update

Рис. 39. Выполнение процедуры Certificate_Update

Рис. 40. Результат процедуры Certificate_Update

4. Удаление данных (Certificate_Delete) рис. 41:

Рис. 41. Удаление данных Certificate_Delete

Рис. 42. Выполнение процедуры Certificate_Delete

Рис. 43. Результат процедуры Certificate_Delete

Лабораторная работа № 9 Курсоры

Получим список абитуриентов (рис. 44). Задача решается путем использования простого оператора Select, однако никакие дальнейшие действия с полями результирующего набора невозможны.

Рис. 44. Список абитуриентов

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

Создадим курсор, который выводит всех абитуриентов, которые имеют средний балл аттестата больше 4.5 (рис. 45):

Рис. 45. Курсор, который выводит всех абитуриентов, которые имеют средний балл аттестата больше 4.5.

Создадим хранимую процедуру MYPROC с использованием курсора, которая выводит всех абитуриентов, с минимальным указанным средним баллом аттестата (рис. 46):

Рис. 46. Хранимая процедура MYPROC

Рис. 47. Результат выполнения MYPROC

Лабораторная работа № 10 Транзакции

Решим задачу добавления в таблицу с использованием неявных транзакций. Первые 2 вставки находились в неявной транзакции и откатились командой ROLLBACK:

Рис. 48. Неявная транзакция

Лабораторная работа № 11 Триггеры

Создадим для базы данных Student_trigger DML-триггер, который не допускает, чтобы абитуриенты не были допущены до приёмной комиссии со средним баллом аттестата ниже 3.5 (рис. 49):

Рис. 49. Создание триггера Student_trigger

Результат выполнения триггера отображен на рисунке 50:

Рис. 50. Результат выполнения Student_trigger

Создадим для базы данных certificate_trigger DML-триггер, который не допускает добавление в базу абитуриентов, у которых количество баллов ЕГЭ меньше 170 (рис. 51):

Рис. 51. Создание триггера Certificate_trigger

Результат выполнения триггера отображен на рисунке 52:

Рис. 52. Результат выполнения Certificate_trigger

Заключение

Результатом выполнения лабораторных работ является ознакомление со средой разработки Oracle SQL Developer и его особенностями в разных базах данных.

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

Источник: https://studfile.net/preview/16469749/