Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

5 семестр / bd_8

.docx
Скачиваний:
4
Добавлен:
03.06.2024
Размер:
196.67 Кб
Скачать

ГУАП

КАФЕДРА № 41

ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ

ПРЕПОДАВАТЕЛЬ

старший преподаватель

Б.К. Акопян

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №8

ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ТРИГГЕРОВ

по курсу: БАЗЫ ДАННЫХ

РАБОТУ ВЫПОЛНИЛ

СТУДЕНТ ГР. №

4116

подпись, дата

инициалы, фамилия

Санкт-Петербург 2023

Цель работы: получение практических навыков по программной реализации триггеров на сервере MySQL.

Вариант 15 Занятость актеров театра

Работников театра можно подразделить на актеров, музыкантов, постановщиков и служащих. Театр возглавляет директор, в функции которого входят контроль за постановками спектаклей, утверждение pепеpтуаpа, принятие на работу новых служащих, приглашение актеров и постановщиков. Актеры театра могут иметь звания заслуженных и народных артистов, могут быть лауреатами конкурсов.

Для постановки любого спектакля необходимо подобрать актеров на роли. Естественно, что один и тот же актер не может играть более одной pоли в спектакле, но может играть несколько pолей в различных спектаклях. У спектакля также имеется pежиссеp-постановщик, художник-постановщик, диpижеp-постановщик, автор. Спектакли можно подразделить по жанрам: музыкальная комедия, трагедия, оперетта и пр. (таблица Жанры). С другой стороны, спектакли можно подразделить на детские, молодежные и пр. В pепеpтуаpе театра указывается какие спектакли, в какие дни и в какое время будут проходить. В кассах театра можно заранее приобрести билеты на любые спектакли. Цена билетов зависит от места, и спектакля. Администрацией театра фиксируется дата продажи, код спектакля, а затем анализируется количество проданных билетов на каждый спектакль.

Ход работы:

На рисунке 1 изображена схема используемой БД.

Рисунок 1 – Модель данных

Был создан триггер, который срабатывает после каждой операции INSERT в таблицу Билеты. При срабатывании триггер обновляет значение столбца ПроданоБилетов в таблице Спектакли, увеличивая его на 1, для спектакля, на который был куплен новый билет. Таким образом, триггер отслеживает и автоматически обновляет информацию о количестве проданных билетов для каждого спектакля. (Рисунок 2).

Рисунок 2 – Триггер на INSERT

Был разработан триггер, срабатывающий перед UPDATE, он проверяет новое значение столбца Цена. Если новая цена превышает 5000, триггер автоматически устанавливает значение цены в 5000. Таким образом, триггер обеспечивает автоматическое ограничение цены билета до максимального значения 5000 при любых попытках обновления (Рисунок 3).

Рисунок 3 – Триггер на UPDATE

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

Рисунок 4 – Триггер на DELETE

Список всех созданных триггеров представлен на Рисунке 5.

Рисунок 5 – Список триггеров

Вывод: в ходе выполнения лабораторной работы были разработаны 3 триггера, на добавление, обновление и удаление.

Список используемых источников:

1. A.В. Аграновский, В.В. Боженко, Е.Л. Турнецкая. - Учебно-методическое пособие «Разработка и администрирование базы данных с открытым исходным кодом» ‒ СПб.: ГУАП, 2022

2. Руководство по MySQL: https://metanit.com/sql/mysql.

Соседние файлы в папке 5 семестр