У нас є дані про автовокзал, і ми хочемо створити додаток, який надасть лінію / численні лінії для даної стартової станції та кінцевої станції.
Наприклад, користувач спробує отримати пропозицію про шину від станції1 до станції2.
Якщо є автобусна лінія, яка може охоплювати і те, station1
і station2
цю лінію слід повернути. Результат може виглядати приблизно так:
Step1: station1 -- station2
Якщо між станцією1 та станцією2 немає прямої автобусної лінії, програма повинна спробувати знайти план обміну, наприклад, результат може виглядати так:
Step1: station1 -- exchangestation
Step2: exchangestation -- station2
Тепер у нас є дані, але ми не знаємо, як спроектувати модель даних в базі даних, як створити схему, щоб зробити запит ефективним?
===============================================
Оновлення:
Наприклад, у мене є чотири автобусні лінії (насправді дві) з різним кольором:
l1: A-B-C-D
l2: D-B-A (in fact, the l2 is the reverse of l1 except the l2 will skip station `C`.
l3: E-B-D-F
l4: F-D-B-E(reverse of l3)
Тепер, якщо ми хочемо зберегти цю інформацію в базі даних для запиту плану лінії автобусів для даної станції до іншої, то скільки таблиць нам потрібно, і що потрібно помістити в кожну таблицю?