Консультация № 192533
06.02.2018, 14:08
0.00 руб.
0 7 1
Здравствуйте! Прошу помощи в следующем вопросе:
Необходимо сконструировать таблицы БД с связями (приму в любом виде sql , acsses и т.д)
Исходные данные: В аэропорту хранятся сведения об авиарейсах и пассажирах. Авиарейс характеризуется шифром, пунктом отправления, пунктом прибытия, датой отправления, датой прибытия, временем отправления, временем в пути, типом самолета. Пассажир характеризуется номером билета, номером паспорта, номером места, весом багажа, фио. Пассажир может иметь льготы, тогда стоимость билета изменяется.



Обсуждение

давно
Советник
400484
472
06.02.2018, 17:29
общий
это ответ
Здравствуйте, Степанов Иван /REDDS!
В самом простом варианте можно сделать 2 таблицы: авиарейсы и пассажиры. В более продвинутом варианте следует разбить более детально: аэропорты, время полета, самолеты, багаж, авиарейсы, билеты, пассажиры, люди и т.п.
В простом варианте:
1. Авиарейсы
Шифр – строка
Пункт отправления – строка
Пункт прибытия – строка
Датой отправления – дата
Датой прибытия – дата
Временем отправления – время
Временем в пути – число
Типом самолета – строка
2. Пассажиры
номером билета – число
номером паспорта – строка
номером места – строка или число
весом багажа – число
фио – строка

CREATE TABLE название_таблицы, (название_столбца1 тип данных [DEFAULT выражение] [ограничение_столбца], название_столбца2 тип данных [DEFAULT выражение] [ограничение_столбца],[ограничения_таблицы]).
1. Авиарейсы
Код:
CREATE TABLE flights (code Char, pointOfDeparture Char, pointOfArrival Char, dateOfDeparture Date, dateOfArrival Date, timeOfDeparture Date, timeOnWay – Number, typePlane - Char)

2. Пассажиры
Код:
CREATE TABLE passengers (numberTiket  Number, numberPassport  Char, numberPlace Char, baggageWeight Number, typePlane Char)


Вот примерный вариант создания таблиц.
5
давно
Посетитель
400537
50
06.02.2018, 20:12
общий
Адресаты:
Структура подойдет,но надо еще связать таблицы Авиарейсы и Пассажиры общим полем или через одну промежуточную таблицу. Как лучше это сделать?
Об авторе:
Твое внимание станет мой энергией
давно
Советник
400484
472
07.02.2018, 09:44
общий
Т.к. пересекающихся полей нет, нужно создавать еще табличку. На пример, билеты. Она свяжет 2 первые.
Новая таблица может выглядеть так:
Код:
CREATE TABLE tikets
(id Number AUTO_INCREMENT,
numberTiket Number,
pointOfDeparture Char,
pointOfArrival Char,
dateOfDeparture Date)

Еще предлагаю тогда модернизировать ранее описанные, добавив в них уникальный счетчик - id.
Код:

CREATE TABLE flights
(id Number AUTO_INCREMENT,
code Char,
pointOfDeparture Char FOREIGN KEY REFERENCES tikets(pointOfDeparture),
pointOfArrival Char FOREIGN KEY REFERENCES tikets(pointOfArrival),
dateOfDeparture Date FOREIGN KEY REFERENCES tikets(dateOfDeparture),
dateOfArrival Date,
timeOfDeparture Date,
timeOnWay – Number,
typePlane - Char)

CREATE TABLE passengers
(id Number AUTO_INCREMENT,
numberTiket Number FOREIGN KEY REFERENCES tikets(numberTiket),
numberPassport Char,
numberPlace Char,
baggageWeight Number,
typePlane Char)

Как то так...
давно
Старший Модератор
31795
6196
07.02.2018, 14:13
общий
Адресаты:
Плохо, что Вы не умеете пользоваться поиском.


Поиск даст кучу ссылок с описанием структур БД, а одна из них предлагает скачать базу (в архиве с паролем).
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Старший Модератор
31795
6196
07.02.2018, 14:40
общий
Адресаты:
Я думал о такой модели:



В сети есть и такая, которую можно скачать

Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Посетитель
400537
50
07.02.2018, 16:25
общий
Адресаты:
Цитата: Зенченко Константин Николаевич
Плохо, что Вы не умеете пользоваться поиском.
smile
Честно говоря не додумался что бд от курсовой будут лежать в открытом доступе(с проектировкой БД у меня не очень)

1-я модель мне понравилась только льготы добавить , 2-я тоже нравится.

Посоветуйте пожалуйста какая из ваших представленных БД лучше всего подойдет для данных запросов()?
1. Сформировать и вывести на печать отчет, включающий все характеристики авиарейсов, вылетевших из указанного пункта отправления в указанный пункт прибытия.
2. Вывести сведения обо всех пассажирах, летящих данным рейсом, вес багажа которых равен нулю.
3. Вывести всех льготников, летящих данным авиарейсом.
4. Вывести сводную информацию обо всех полетах самолетов данного типа в указанный период времени.
Об авторе:
Твое внимание станет мой энергией
давно
Старший Модератор
31795
6196
08.02.2018, 17:09
общий
Адресаты:

В вопросе было только:
Цитата: Степанов Иван /REDDS
Необходимо сконструировать таблицы БД с связями

Без этого сам вопрос не имеет смысла, с точки зрения БД.
Цитата: Степанов Иван /REDDS
1. Сформировать и вывести на печать отчет, включающий все характеристики авиарейсов, вылетевших из указанного пункта отправления в указанный пункт прибытия.
2. Вывести сведения обо всех пассажирах, летящих данным рейсом, вес багажа которых равен нулю.
3. Вывести всех льготников, летящих данным авиарейсом.
4. Вывести сводную информацию обо всех полетах самолетов данного типа в указанный период времени.


Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Форма ответа