Этапы проетирования базы данных
Между таблицами Рейсы и Билеты установлена связь один-ко-многим по полю Номер билета (первичныйключ). Между таблицами Скидки и Билеты установлена связь один-ко-многим по полю Номеру билета (первичный ключ). Между таблицами Самолеты и Рейс установлена связь один-ко-многим по полю ID (первичный ключ) код пункта назначения. Один и тот же пункт назначения используется в таблице рейсы. Между таблицами… Читать ещё >
Этапы проетирования базы данных (реферат, курсовая, диплом, контрольная)
Инфологическое проектирование
Анализ описанной предметной области и решаемых задач позволяет выделить следующие сущности:
Билеты (1).
Рейс (2).
Самолеты (3).
Пункты (4).
Скидки (5).
Клиенты (6) не надо делать В таблице Билеты (1) представлена информация о рейсе, стоимости билета, месте и скидках.
В таблице Рейсы (2) предоставлена информация о пунктах назначения, времени и дате вылетов и прилетов, количестве мест.
В таблице Самолеты (3) представлена информация о типе самолета.
В таблице Пункты (4) представлена информация о городах и времени полета.
В таблице Скидки (5) представлена информация об акциях и цен на скидки.
В таблице клиенты (6) представлена информация о пассажирах и о направлениях их полета.
База данных, как следует из разработки инфологической модели, содержит пять таблиц:
Билеты.
Поле. | Тип. | Описание. |
Номер_билета. | Int. | Номер билета. |
Рейс. | Int. | Рейс самолета. |
Класс. | Int. | Класс. |
Место. | Int. | Место пассажира. |
Стоимость_билета. | Bigint. | Цена билета. |
Скидка. | Boolean. | Со скидкой или нет. |
Продан. | Boolean. | Продан или нет. |
Рейс.
Поле. | Тип. | Описание. |
ID. | Int. | Идентификатор |
Номер_рейса. | Int. | Номер рейса самолета. |
Пункт_назначения. | Varchar (20). | Пункт назначения (город). |
Дата_вылета. | Data_time. | Дата вылета. |
Время_вылета. | Data_time. | Время вылета. |
Дата_прибытия. | Data_time. | Дата прибытия. |
Время_прибытия. | Data_time. | Время прибытия. |
Самолет. | Varchar (20). | Название самолета. |
Количество_мест_общее. | Int. | Число мест всего в самолете. |
Количество_мест_свободно. | Int. | Число свободных мест в самолете. |
Самолеты.
Поле. | Тип. | Описание. |
ID. | Int. | Идентификатор |
Тип. | Boolean. | Пассажирский. |
Информация. | Varchar (20). | Название. |
Пункты.
Поле. | Тип. | Описание. |
ID. | Int. | Идентификатор |
Название. | Varchar (20). | Название города. |
Информация. | Data time. | Продолжительность полета. |
Скидки.
Поле. | Тип. | Описание. |
ID. | Int. | Идентификатор |
Название. | Varchar (50). | Название акции. |
Величина. | Float. | Процент скидки. |
Клиенты.
Поле. | Тип. | Описание. |
Клиенты. | Varchar (50). | ФИО пассажира. |
Напрвление. | Varchar (50). | Направление полета. |
Схема данных:
Связи между таблицами:
Между таблицами Пункты и Рейсы установлена связь один-ко-многим по полю ID (первычиный ключ) Один и тот же самолет стоит в парке.
Между таблицами Самолеты и Рейс установлена связь один-ко-многим по полю ID (первичный ключ) код пункта назначения. Один и тот же пункт назначения используется в таблице рейсы.
Между таблицами Рейсы и Билеты установлена связь один-ко-многим по полю Номер билета (первичныйключ). Между таблицами Скидки и Билеты установлена связь один-ко-многим по полю Номеру билета (первичный ключ).
Создание базы данных.
1. создание таблиц:
create table samolet.
(id_s int not null,.
tip varchar (15) not null,.
info varchar (20) not null,.
constraint ch_tip check (tip in ('Пассажирскй','Грузовой')),.
primary key (id_s).
).
create table punkt.
(id_p int not null,.
nazv varchar (20) not null,.
vremya_poleta varchar (2) not null,.
primary key (id_p).
).
create table peis.
(id_p int foreign key references punkt (id_p),.
id_s int foreign key references samolet (id_s),.
id_r int not null,.
nomer_reisa int not null,.
punkt_naznach varchar (20) not null,.
data_vileta Datetime not null,.
vremya_vileta Datetime not null,.
data_prileta Datetime not null,.
vremya_prileta Datetime not null,.
samolet varchar (20) not null,.
kol_mest int not null,.
cvob_mest int not null,.
primary key (id_r).
).
create table skidki.
(id_sk int not null,.
nazv varchar (50) not null,.
velichina float not null,.
primary key (id_sk).
).
create table bilet.
(id_r int foreign key references peis (id_r),.
id_sk int foreign key references skidki (id_sk),.
nomer_bileta int not null,.
reis int not null,.
klass int not null,.
mesto int not null,.
zena_bileta bigint not null,.
skidka char (1) not null,.
prodan char (1) not null.
primary key (nomer_bileta).
).
2. Связь между таблицами: