我们有公交车站数据,我们想构建一个应用程序,该应用程序将为给定的起点站和终点站提供线路/多条线路。
例如,用户尝试获取从station1到station2的公交线路建议。
如果有一条公交线路可以同时覆盖station1
和station2
,则应返回该线路。结果可能如下所示:
Step1: station1 -- station2
如果station1和station2之间没有直接总线,则应用程序应尝试查找交换计划,例如,结果可能如下所示:
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)
现在,如果我们要将这些信息保存在数据库中,以查询给定一个站点到另一个站点的总线计划,那么我们需要多少张表,以及应该在每个表中放什么?