Sql 如何设计公交线路数据库?
我想创建一个公交线路数据库,其结果如下: 输入: 源=站-X,目的地=站-Y 输出:经过X站和Y站的各种总线名称/编号 到目前为止,我已经: 公交车(公交车号),公交车路线 如何继续存储各路线的车站名称。 我不是数据库专家,所以任何帮助都是有价值的。Sql 如何设计公交线路数据库?,sql,database,database-design,Sql,Database,Database Design,我想创建一个公交线路数据库,其结果如下: 输入: 源=站-X,目的地=站-Y 输出:经过X站和Y站的各种总线名称/编号 到目前为止,我已经: 公交车(公交车号),公交车路线 如何继续存储各路线的车站名称。 我不是数据库专家,所以任何帮助都是有价值的。 提前谢谢。我想您需要以下表格: BUSROUTE: route_id, routenumber BUSSTOPS: stop_id, stopname BUSROUTESTOPS: route_id, stop_id, displ
提前谢谢。我想您需要以下表格:
BUSROUTE: route_id, routenumber
BUSSTOPS: stop_id, stopname
BUSROUTESTOPS: route_id, stop_id, displayorder
以伦敦地铁为例,公交线路表将包含诸如“Jubilee”、“Central”、“District”、“Bakerloo”等值
公交车站表将包含车站名称,如斯坦莫尔、佳能公园、昆斯伯里、金斯伯里、温布利公园等。该表是必要的,因为一个车站可以服务多条路线
总线路径选项卡包含路线编号、车站名称以及该路线车站出现的顺序。主键是route_id和stop_id的合并
一旦你通过了这个,你可能需要一个时间表表,它以最简单的形式包含三个字段:id、route_id和出发时间。如何表现回程,留给读者“作为练习”
伦敦地铁可能不是一个好例子,因为一些线路——特别是北部和地区线路——有多条线路。最好将这些视为单独的路由。最好创建一个包含站点-路由关系的额外表。您可以在这里定义多对多关系,这意味着一个站点可以有多个路由,而一个路由可以有多个站点 总线(仅当存在多个具有相同*总线号*的物理总线时才需要) 公交线路(线路id和公交号必须是唯一的值) 站点\u路线(多对多,路线\u顺序告诉我们路线内的顺序)
为什么显示顺序?公交线路的顺序不仅仅是为了显示。这是公共汽车实际行驶的顺序。@MartinSmith:这是我通常使用的名字。我同意这里不合适;也许“路线顺序”会更好。
step\u no
或leg\u no
是路线/行程中的典型名称。很好地描述:)
BUSROUTE: route_id, routenumber
BUSSTOPS: stop_id, stopname
BUSROUTESTOPS: route_id, stop_id, displayorder
id | bus_no
---------------
1 | 33
2 | 33A
3 | 33A
route_id | bus_no
---------------------
route-A | 33
route-B | 33A
route_id | station_id | route_order
------------------------------------
route-A | Egham | 1
route-A | Haymarket | 2
route-A | Egham Plaza | 3
route-B | Egham | 1
route-B | Langley | 2