3 курс 2 семестр / Z9411_КафкаРС_БД_ЛР7
.docxМИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
федеральное государственное автономное образовательное учреждение высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
ИНСТИТУТ НЕПРЕРЫВНОГО И ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ
КАФЕДРА 41
|
ОЦЕНКА
ПРЕПОДАВАТЕЛЬ
ассистент |
|
|
|
В. В. Боженко |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №7
|
СОЗДАНИЕ И ВЫЗОВ ХРАНИМЫХ ФУНКЦИЙ
|
по дисциплине: Базы данных |
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ ГР. № |
Z9411 |
|
|
|
Р. С. Кафка |
|
номер группы |
|
подпись, дата |
|
инициалы, фамилия |
Студенческий билет № |
2019/3603 |
|
|
|
Санкт-Петербург 2022
Цель работы:
Порядок выполнения работы:
Создать хранимую функцию, используя операторы ветвления.
Создать хранимую функцию, используя циклы.
Показать список хранимых функций.
Вызвать созданные функции.
Схема данных представлена на рисунке 1:
Рисунок 1 – Схема данных
Ход работы:
Создал хранимую функцию, используя операторы ветвления.
Функция, которая на вход получает возраст человека, а на выходе сообщает название возрастного периода человека, в зависимости от возраста. Листинг скрипта представлен на рисунке 2.
Рисунок 2 – Листинг функции с операторами ветвления
Результат выполнения этой функции представлен на рисунке 3.
Рисунок 3 – Результат выполнения функции с операторами ветвления.
Создал хранимую функцию, используя циклы.
Функция получает на вход пол пациента («М» или «Ж») и на выходе выводит средний возраст всех пациентов конкретного пола. Код представлен на рисунке 4.
Рисунок 4 – Листинг функции с циклами
Результат выполнения скрипта представлен на рисунке 5.
Рисунок 5 – Результат выполнения функции с циклами.
Показал список хранимых функций.
Для вывода списка хранимых функций воспользовался оператором SHOW FUNCTION STATUS. Список созданных хранимых процедур представлен на рисунке 6.
Рисунок 6 – Список хранимых функций
Вывод
Я изучил операции по созданию хранимых функций на сервере MySQL.
Отличие между хранимыми процедурами и функциями в большинстве диалектов SQL чисто косметическое – считается, что функция призвана возвращать единственное (скалярное) значение.
Создавая функцию, программист, как правило, предполагает, что, во-первых, его творение решает такую задачу, в которой заинтересованы и другие процедуры, и функции текущей БД, и, во-вторых, код функции с высокой вероятностью окажется востребованным в других проектах БД. Выводом из всего сказанного должно стать то, что программисту следует создавать максимально универсальные конструкции, легко переносимые из одной БД в другую.
Операторы ветвления и цикла идентичны с теми, что используются и в процедурах. Особой сложностью для меня стало придумать необходимую функцию, задействовав при этом таблицы БД. Получилось придумать только с одним примером.
Список использованных источников
Нестеров, С. А. Базы данных: учебник и практикум для вузов / С. А. Нестеров. — Москва: Издательство Юрайт, 2022. — 230 с. — (Высшее образование). — ISBN 978-5-534-00874-6. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/489693 (дата обращения: 25.05.2022).
Осипов Д. Л. Технологии проектирования баз данных. – М.: ДМК Пресс, 2019. – 498 с.: ил.
Интерактивный учебник по SQL. URL: http://www.sql-tutorial.ru/ (дата обращения 25.05.2022).
Упражнения по SQL. URL: https://www.sql-ex.ru/?Lang=0 (дата обращения 25.05.2022).
Автор YouTube канала «htmllab». Курс MySQL 8 – YouTube. URL: https://youtube.com/playlist?list=PLOQDek48BpZFeW02dfJM77FY4Fp5ilJ6n (дата обращения 25.05.2022).