Современная жизнь немыслима без эффективного управления. Важной категорией являются системы обработки информации, от которых во многом зависит эффективность работы любого предприятия ли учреждения.
Наверное, самой удобной системой обработки информации является база данных. Современные базы данных можно адаптировать под любые задачи. На любом производстве, в любой организации будет полезен быстрый удобный доступ к нужным данным, быстрое редактирование записей и реестров, выделение из множества информации самой нужной, получение общих и детализированных отчетов по итогам работы.
Для обеспечения этих функций созданы
Современные СУБД — многопользовательские системы управления базой данных, которые специализируется на управлении массивом информации одним или множеством одновременно работающих пользователей. Современные СУБД обеспечивают набор средств для поддержки таблиц и отношений между связанными таблицами — развитый пользовательский интерфейс, который позволяет вводить и модифицировать информацию, выполнять поиск и представлять информацию в графическом или текстовом режиме — средства программирования высокого уровня, с помощью которых можно создавать собственные приложения.
2 ПОСТАНОВКА ЗАДАЧИ
Необходимо разработать прототип программной системы «Аэропорт», содержащий не менее 5 взаимосвязанных таблиц, 5 процедур, 3 функций, 2 триггеров с использованием операторов (функций) ветвления и циклов. Также необходимо обосновать и реализовать как минимум 1 представление и 1 курсор.
Для выполнения работы необходимо использовать
3 Проектирование БД
3.1 Описание предметной области
Предметная область курсовой работы представляет собой разработку базы данных для информационного функционирования аэропорта.
Аэропорт – комплекс сооружений, предназначенный для приёма, отправки, базирования воздушных судов и обслуживания воздушных перевозок, имеющий для этих целей аэродром, аэровокзал (в крупных аэропортах нередко несколько аэровокзалов), один или несколько грузовых терминалов и другие наземные сооружения и необходимое оборудование.
База данных должна удовлетворять информационные потребности и содержать в себе информацию о полетах, самолетах, аэропортах. Также должна содержаться детальная информация о заказанных билетах на рейсы. Конкретно – Ф.И.О. заказчика, информация о его рейсе и статус оплаты.
Контрольная работа: Системы управления автоматизированным технологическим ...
... информации все системы управления станками разделяют на аналоговые (нечисловые) и числовые. Аналоговые системы управления преобразуют исходную информацию, ... управления металлорежущим оборудованием устанавливает ГОСТ 20523-80. Числовое программное управление станком (ЧПУ) — управление обработкой заготовки на станке по управляющей программе, в которой данные ... при работе системы, ... функций. Устройство ...
3.2 Выделение и нормализация сущностей
Выделим основные сущности базы данных:
Опишем каждую из сущностей:
Проведём нормализацию сущностей:
- 1NF — требует атомарности данных в таблицах, т.е. данные в таблицах должны быть представлены в виде минимально возможных и далее неделимых частей информации.
Таблица 1.1 – Ключевая абстракция «Самолеты»
Характеристика |
Тип |
Название самолета |
Строковый |
Класс мест |
Целочисленный |
Количество мест на каждый класс |
Целочисленный |
Таблица 1.2 – Ключевая абстракция «Полеты»
Характеристика |
Тип |
Самолет |
Строковый |
Аэропорт отправления |
Строковый |
Город аэропорта отправления |
Строковый |
Страна аэропорта отправления |
Строковый |
Аэропорт прибытия |
Строковый |
Город аэропорта прибытия |
Строковый |
Страна аэропорта прибытия |
Строковый |
Время отправления |
Строковый |
Время прибытия |
Строковый |
Таблица 1.3 – Ключевая
Характеристика |
Тип |
Самолет |
Строковый |
Аэропорт отправления |
Строковый |
Город аэропорта отправления |
Строковый |
Страна аэропорта отправления |
Строковый |
Аэропорт прибытия |
Строковый |
Город аэропорта прибытия |
Строковый |
Страна аэропорта прибытия |
Строковый |
Время отправления |
Время |
Время прибытия |
Время |
Дата отправления |
Дата |
Класс мест |
Числовой целый |
Количетво билетов(мест) |
Числовой целый |
Оплата |
Булево значение |
Ф.И.О. |
Строковый |
- 2NF — требует, чтобы структура базы данных удовлетворяла требованиям 1NF и чтобы данные во всех не ключевых столбцах полностью зависели от первичного ключа или каждого поля первичного ключа, если он является составным.
Таблица 2.1 — Реляционная модель БД «Самолёты»
Самолёты |
|
Номер |
Модель |
Таблица 2.2 — Реляционная модель БД «Места»
Места |
|||
Номер |
Номер самолёта |
Класс места |
Количество мест |
Таблица 2.3 — Реляционная модель БД «Полёты»
Полёты |
|||||
Номер |
Номер самолёта |
Врема взлета |
Время посадки |
Аэропорт отправления |
Аэропорт прибытия |
Таблица 2.4 — Реляционная модель БД «Аэропорты»
Аэропорты |
|||
Номер |
Название |
Город |
Страна |
Таблица 2.5 – Реляционная модель БД «Заказы»
Аэропорты |
|||||
Номер |
Номер полёта |
Дата полёта |
Индиф номер мест |
Количество мест |
Оплата (оплачено/нет) |
- 3NF — требует от нас, чтобы структура базы данных удовлетворяла требованиям 1NF и 2NF и чтобы все не ключевые столбцы таблицы зависели от первичного ключа, но были независимы друг от друга.
Таблица — Самолёты
Поле |
Тип |
Назначение |
ID |
INTEGER |
Идентификатор |
PlaneName |
VARCHAR(255) |
Модель самолёта |
Таблица – Места в самолёте
Поле |
Тип |
Назначение |
ID |
INTEGER |
Идентификатор |
ID_Plane |
INTEGER |
Номер самолёта |
SeatCount |
INTEGER |
Класс мест |
SeatType |
INTEGER |
Количество мест |
Таблица — Аэропорты
Поле |
Тип |
Назначение |
ID |
INTEGER |
Идентификатор |
AirPortName |
VARCHAR(255) |
Название аэропорта |
City |
VARCHAR(255) |
Город |
Country |
VARCHAR(255) |
Страна |
Таблица — Полёты
Поле |
Тип |
Назначение |
ID |
INTEGER |
Идентификатор |
ID_Plane |
INTEGER |
Номер самолёта |
UpTime |
TIME |
Врема взлета |
DownTime |
TIME |
Время посадки |
ID_AP_Up |
INTEGER |
Аэропорт отправления |
ID_AP_Down |
INTEGER |
Аэропорт прибытия |
Таблица — Заказы
Поле |
Тип |
Назначение |
ID |
INTEGER |
Идентификатор |
ID_Flight |
INTEGER |
Номер полёта |
FlightDate |
DATE |
Дата полёта |
ID_Seats |
INTEGER |
Индиф номер мест |
SeatCount |
INTEGER |
Количество мест |
Payed |
Boolean |
Оплата (оплачено/нет) |
FIO |
STRING |
3.3 Логическая схема базы данных
ER — модель логического уровня
3.4 Обоснование связей между сущностями
- Связь «Наездник» — «Таблица забегов»: один ко многим, так как участвует не один наездник.
- Связь «Лошадь» — «Таблица забегов»: один ко многим, так как участвует не одна лошадь.
- Связь «Клиенты» — «Ставки»: один ко многим, так как один клиент может сделать несколько ставок
- Связь «Лошадь» — «Ставки»: один ко многим, так как на одну лошадь может быть несколько ставок.
4 ФУНКЦИОНАЛЬНАЯ ДЕКОМПОЗИЦИЯ СИСТЕМЫ
Проведём функциональную декомпозицию системы. Для этого перечислим все хранимые процедуры и опишем их работу.
4.1 Сценарий взаимодействия пользователя с системой
Пользователь взаимодействует с СУБД через консоль. Он отправляет SELECT запросы на выборку данных из БД, в ответ он получает данные от сервера. Также для создания расширенных запросов пользователь может использовать хранимые процедуры.
4.2 Процедура count_orders подсчитывающая количество забронированных и оплаченных рейсов
4.3 Процедура fly_info выводит время вылета всех рейсов.
4.4 Процедура add_ord добавляет новый заказ на рейс в базу.
4.5 Процедура del_ord выполняет удаление записи из таблицы заказов.
4.6 Процедура change_stat меняет статус брони с не оплачено на оплачено
4.7 Процедура show_airport показывает все аэропорты указанного города
Функции:
4.8 Функция get_airplane показывает название самолета на котором должен лететь клиент.
4.9 Функция get_uptime показывает время отлета указанного рейса.
4.9 Функция order_num возвращает номер рейса по фамилии клиента
4.10 Завершение работы с системой
Для завершения работы с СУБД пользователь может использовать команду exit.
5 РЕАЛИЗАЦИЯ КОМПОНЕНТОВ СИСТЕМЫ
5.1 Физическая структура базы данных
ER – модель физического уровня:
5.1.1 Таблица Airplanes
SQL – код:
create table Airplanes (
- > ID INTEGER not null primary key,
- > Plane VARCHAR (255) not null
- >
- );
5.1.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,
- >
- );
5.1.3 Таблица Mesta
SQL – код:
Create table Mesta (
- > ID INTEGER not null primary key,
- > SeatCount INTEGER not null,
- >SeatType INTEGER not null
- >
- );
5.1.4 Таблица Klients
SQL – код:
Create table Flying (
- > ID INTEGER not null primary key,
- > UpTime TIME not nul,
- > DownTime TIME not nul
- >
- );
5.1.5 Таблица Orders
SQL – код:
Create table Orders (
- > ID INTEGER not null primary key,