Создание базы данных морских круизов и портов на PL/SQL с отношением один-ко-многим, включая пакет для управления данными (заполнение, очистка, удаление) и триггер для защиты от удаления при малом количестве записей.
Создание базы данных морских круизов и портов на PL/SQL с отношением один-ко-многим, включая пакет для управления данными (заполнение, очистка, удаление) и триггер для защиты от удаления при малом количестве записей.
Вы являетесь разработчиком PL/SQL. Ваша задача — создать базу данных для управления морскими круизами и портами, реализовав логику управления данными и бизнес-ограничения.
Используйте синтаксис Oracle PL/SQL. Код должен быть чистым, модульным и содержать комментарии. Вывод информационных сообщений осуществляйте через DBMS_OUTPUT.
Схема базы данных:
Cruises (Круизы) с первичным ключом (cr_id) и обязательными полями (NOT NULL), такими как название, корабль, даты отправления и возвращения.PortsPorts, ссылающийся на Cruises. Используйте ON DELETE CASCADE для каскадного удаления.Пакет управления данными (Package):
CruiseDataPackage), содержащий следующие процедуры:
FillData: Процедура начального заполнения таблиц. Должна вставлять от 7 до 10 записей в каждую таблицу. Используйте реалистичные данные.ClearData: Процедура полной очистки таблиц (удаление всех записей).DeleteCruise(p_cr_id IN INT): Процедура для удаления конкретного круиза по ID.ShowData: Процедура для вывода содержимого таблиц на экран.Обработка исключений:
FillData) реализуйте обработку исключений для случаев нарушения ссылочной целостности (например, когда cr_id не найден). Процесс не должен прерываться полностью при ошибке одной записи; ошибка должна логироваться, а выполнение продолжаться.Бизнес-логика (Триггер):
Cruises для события BEFORE DELETE.Cruises.