公交车上、下行的表应该怎么设计?

公交就是日常坐的公交车,想设计公交的线路表,问题就在于,公交车的线路分为上行和下行,且上、下中的站点有事,并不是完全一样。
目前站点表已经设计好,请问怎么设计才能把表设计得最简单?

阅读 3.4k
4 个回答

用一张关系表来定义:

字段名 类型 意义
station_id int 公交站点id
line_id int 公交线路
status int 1.上行 2.下行 3.上下行

我觉得在关联表中还需要站点的顺序(假设为上行顺序),
上行结果:
按线路ID查出关联的所有站点ID,且分类不是下行,按顺序字段正序。
下行结果:
按线路ID查出关联的所有站点ID,且分类不是上行,按顺序字段倒序。

一个站表,包括Id和站名
一个站牌表,包含Id,站牌名,上下行(0,1,2),对应的站表Id
一个路线表,包括Id,出发站牌Id,目的站牌Id,公交Id,以及一个枚举值来标识该站点的状态(相对于该公交而言),比如起始,终点,等等
查询的时候,按照公交Id,把所有的路线都查询出来,然后根据站牌顺序排序,就能得到公交线路了。显示的时候可以根据需求,把站牌名映射到站名

首先想到的就是站点表里加一列状态,0 = 无效,1 = 上行,2 = 下行,3 = 上下行

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题