Разработка железнодорожной справочной системы, как моделировать поезда, станции и остановки? - PullRequest
4 голосов
/ 25 ноября 2011

Например, если у меня есть два поезда, X и Y, и они путешествуют:

ПОЕЗД ......... СТАНЦИИ

  • Поезд-X: идет через станцию-A; Станция-Б; Станция-С; Станция-D
  • Поезд-Y: идет через станцию-B; Станция-X; Станция-Д; Станция-Y

Как бы я занялся размещением этой информации в базе данных, чтобы, если пассажир спросил о Какие поезда начинаются как Станция-B? и Какие поезда заканчиваются как Станция-D? тогда в результате должны появиться как Train-X, так и Train-Y.

Ответы [ 2 ]

1 голос
/ 25 ноября 2011

Я буду использовать пять таблиц:маршрут следования поезда.

1 голос
/ 25 ноября 2011

Я бы сказал, что для этой работы необходимо иметь три таблицы.

Станция : идентификатор станции, название и т. Д.

Сервис : идентификатор услуги, оператор, количество вагонов, возможно, и т. д.

Service_Stop : идентификатор услуги, номер остановки, идентификатор станции.

Затем можно найти услуги, которыеОстановитесь на Станции-B и затем на Станции-D, используя запрос, подобный следующему:

SELECT
    Service_ID
FROM
    Station AS Start_Station
    JOIN Service_Stop AS Start_Stop ON
        Start_Station.Station_ID = Start_Stop.Station_ID
    JOIN Service_Stop AS End_Stop ON
        Start_Stop.Service_ID = End_Stop.Service_ID AND
        Start_Stop.Stop_Number < End_Stop.Stop_Number
    JOIN Station AS End_Station ON
        End_Stop.Station_ID = End_Station.Station_ID AND
        End_Station.Name = "Station-D"
WHERE
    Start_Station.Name = 'Station-B'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...