В рамках работы необходимо:
Пользуясь разработанной в предыдущей работе физической моделью БД сгенерировать скрипт создания таблиц базы данных на языке SQL в стандарте SQL 92. В таблицах должны генерироваться первичные ключи и связи, а также содержаться проверки (CHECK CONSTRAINTS) аналогичные проверкам из первой лабораторной работы.
Дополнительно необходимо хранить информацию о кассирах и о том, какой кассир продал тот или иной билет. Необходимые колонки/таблицы нужно разработать и добавить в скрипт вручную, не пользуясь возможностями Power Designer.
Внести необходимые исправления для успешного выполнения скрипта в СУБД SQLite.
Добавить в полученный скрипт команды INSERT для заполнения таблиц примером данных.
Сгенерировать таблицы, заполненные тестовыми значениями.
Лабораторная работа №4
Необходимо разработать следующие представления (view):
Три поезда, на которые продано больше всего билетов.
25. Станции, на которых выходит пассажиров больше, чем садится.
26. Вычислить максимальную стоимость билета для каждого направления.
|
|
27. Станции, которые есть в направлении, но на них не останавливается ни один поезд.
А также реализовать следующие запросы на модификацию данных:
Удалить информацию о всех билетах, проданных на прошлый месяц.
28. Повышение стоимости движения по одному из направлений на 10 процентов.
Лабораторная работа №5
Используя триггеры, обеспечить поддержку целостности данных в ранее разработанной базе. Необходимо реализовать не менее двух триггеров, аналогичных внешним ключам, а также следующие триггеры:
Триггер, автоматически вычисляющий стоимость билета в момент продажи, и добавляющий эту информацию в таблицу «Билеты».
29. Триггер, не позволяющий продать билет, если на данном отрезке пути в поезде не осталось свободных мест.