Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
як курсовая (1).rtf
Скачиваний:
16
Добавлен:
01.07.2025
Размер:
15.1 Mб
Скачать

Логическая схема базы данных

ER – модель логического уровня

Обоснование связей между сущностями

  1. Связь «Наездник» – «Таблица забегов»: один ко многим, так как участвует не один наездник.

  2. Связь «Лошадь» – «Таблица забегов»: один ко многим, так как участвует не одна лошадь.

  3. Связь «Клиенты» – «Ставки»: один ко многим, так как один клиент может сделать несколько ставок

  4. Связь «Лошадь» – «Ставки»: один ко многим, так как на одну лошадь может быть несколько ставок.

3. Функциональная декомпозиция системы

Проведём функциональную декомпозицию системы. Для этого перечислим все хранимые процедуры и опишем их работу.

  1. Сценарий взаимодействия пользователя с системой

Пользователь взаимодействует с СУБД через консоль. Он отправляет SELECT запросы на выборку данных из БД, в ответ он получает данные от сервера. Также для создания расширенных запросов пользователь может использовать хранимые процедуры.

  1. Процедура count_orders подсчитывающая количество забронированных и оплаченных рейсов

  2. Процедура fly_info выводит время вылета всех рейсов.

  3. Процедура add_ord добавляет новый заказ на рейс в базу.

  4. Процедура del_ord выполняет удаление записи из таблицы заказов.

  5. Процедура change_stat меняет статус брони с не оплачено на оплачено

  6. Процедура show_airport показывает все аэропорты указанного города

Функции:

  1. Функция get_airplane показывает название самолета на котором должен лететь клиент.

  2. Функция get_uptime показывает время отлета указанного рейса.

  3. Функция order_num возвращает номер рейса по фамилии клиента

  4. Завершение работы с системой

Для завершения работы с СУБД пользователь может использовать команду exit.

4. Реализация компонентов системы

4.1 Физическая структура базы данных

ER – модель физического уровня:

1 Таблица Airplanes

SQL – код:

Create table Airplanes (

-> ID INTEGER not null primary key,

-> Plane VARCHAR (255) not null

->);

2 Таблица Airports

SQL – код:

Create table Airports (

-> ID INTEGER not null primary key,

-> AirPortName VARCHAR (255) not nul,

-> City VARCHAR (255) not nul,

-> Country VARCHAR (255) not nul,

->);

3 Таблица Mesta

SQL – код:

Create table Mesta (

-> ID INTEGER not null primary key,

-> SeatCount INTEGER not null,

->SeatType INTEGER not null

->);

4 Таблица Klients

SQL – код:

Create table Flying (

-> ID INTEGER not null primary key,

-> UpTime TIME not nul,

-> DownTime TIME not nul

->);

5 Таблица Orders

SQL – код:

Create table Orders (

-> ID INTEGER not null primary key,

-> FIO VARCHAR (255) not nul,

-> FlightDate DATE not null,

-> SeatNumber INTEGER not null,

-> Payed BOOLEAN not null,

-> lastname VARCHAR (255) not null,

-> name VARCHAR (255) not null,

-> otchestvo VARCHAR (255) not null,

Связываем таблицы

alter table Flying add FOREIGN KEY(FK_ID_Plane) REFERENCES Airplanes(ID);

alter table Flying add FOREIGN KEY(FK_ID_AP_Up) REFERENCES Airports(ID);

alter table Flying add FOREIGN KEY(FK_ID_AP_Down) REFERENCES Airports(ID);

alter table Mesta add FOREIGN KEY(FK_ID_Plane) REFERENCES Airplanes(ID);

alter table Orders add FOREIGN KEY(FK_ID_Flight) REFERENCES Flying(ID);

alter table Orders add FOREIGN KEY(FK_ID_Seats) REFERENCES Mesta(ID);