Skip to content

Latest commit

 

History

History

Lab6

README.md

Лабораторная работа №6. Пользовательские функции MySQL

Цель работы

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

Функции

GetAvailableSeats

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

CountTicketsByStatus

С помощью курсора перебирает уникальные статусы билетов и формирует строковую сводку вида статус: количество;.

Файлы

Файл Назначение
GetAvailableSeats.sql Создание функции расчёта свободных мест
CountTicketsByStatus.sql Создание функции сводки по статусам
Function Call.sql Примеры вызова функций
Лаб6_отчёт.pdf Отчёт и результаты тестирования

Запуск

В базе Train_Station последовательно выполните оба файла создания функций, затем запросы из Function Call.sql.

SELECT GetAvailableSeats(
  'Новосибирск-Главный - Бердск',
  '2024-10-10 08:00:00'
);

SELECT CountTicketsByStatus();

Результат

Созданы две функции, которые инкапсулируют прикладные расчёты и могут использоваться в обычных SQL-запросах.

Отдельных изображений в каталоге нет; примеры выполнения находятся в PDF-отчёте.