а) Судоходная компания занимается международной деятельностью по перевозке любых пассажиров и грузов. Имеет множество контактов и договоров в разных уголках мира, что позволяет организовывать маршруты любой сложности и направленности (круиз, доставка ресурсов» транспортировка готовой продукции и т.д.) б) Компания имеет широкий парк судов для обеспечения собственной деятельности. Все они делятся на грузовые и пассажирские суда. Грузовые суда имеют тоннажность, которую невозможно превысить при загрузке судна грузами для доставки. Каждое пассажирское судно имеет зафиксированное количество кают различного класса (эконом, бизнес, люкс и т.п.), более которого невозможно продать билетов на рейс. В зависимости от судов, входящих в парк, пассажирские и грузовые суда меняют свою принадлежность к рангу в АВС-анализе, где А — наиболее ценные, суда, перевозящие 80 % пассажиров грузов; В — промежуточные, суда, перевозящие 15 % пассажиров/грузов; С — наименее ценные, суда, перевозящие 5 % пассажиров/грузов. в) Компания дорожит своей репутацией по этой причине в случае необходимости на маршрут совместно с основным судном могут выходить сопроводительные суда, к примеру, в водах карибского бассейна. Для снижения накладных расходов, на один маршрут, могут выходить сразу несколько судов под командование различных капитанов. г) Рейс, по которому следует корабль имеет точку отправки и прибытия, а также может иметь неограниченное количество промежуточных портов в определённом заранее порядке следования. Капитан назначается на корабль только в рамках конкретного рейса и обязан оставаться им в течении всего плавания. Для быстрой идентификации клиентов, компания хранит в базе данные о клиенте: ФИО, паспортные данные, фотография. И для каждого клиента фиксируется факт покупки им билета на определённый рейс каюты определённого класса за определённую сумму денег. Невозможно продать билетов больше, чем есть кают данного класса на данном судне. Однако если клиент оканчивает поездку в промежуточном порту, то начиная с этого порта, можно продать билет на освободившуюся каюту другому клиенту. д) Грузовые корабли могут загружаться и разгружаться в любом промежуточном порту, в судовой декларации фиксируется название груза и его вес, к примеру, компьютерная техника - 1 тонна, беженцы - 2 тонны, контрабанда - 1,5 тонны. Оплата производится по месту загрузки и имеет поправочные коэффициенты для различных групп товаров. е) Судно может быть списано по разного рода причинам, что фиксируется в соответствующем акте, номер которого заносится в сущность «судно», после чего, использование данного судна запрещается.
- Создать триггер: При добавлении списанного судна на маршрут, выдавать сообщение об ошибке и откатывать назад вносимые изменения.
- Создать хранимую процедуру: При запуске процедуры, необходимо сформировать все не купленные билеты по рейсу и продать их клиентам, не купившим билеты на данный рейс и выбрать клиентов в порядке возрастания потраченных денег в компании на любой тип операции.
- Создать агрегатную функцию: В которой присутствует наименование корабля, также указан месяц и год в котором выполняется рейс, количество билетов.
- Создать агрегатную оконную функцию: Использую агрегатную оконную функцию с инструкцией OVER получить среднюю продолжительность всех рейсов.
- Создать рекурсивный запрос: Вывести порты следования рекурсивно.
- Создать представление: В котором присутствует ID клиента, ФИО, дата первого рейса, дата последнего рейса, самая дорогая стоимость рейса, общее количество рейсов.
- Создать явную транзакцию четвертого уровня: Увеличить стоимость транспортировки 1 тонны груза на 500 долларов