如何设计公交路线数据库?

Dee*_*rma 2 sql database database-design

我想以这样的方式创建一个总线路由DB,它给出如下结果:

输入: Source = station-X,Destination = station-Y

输出:各种总线名称/号码.通过Station-X和Station-Y

到目前为止我有: 总线(bus_no),Bus_Route()

    Bus(bus_name/no.)
id   |   bus_no
1    |   33
2    |   33A

  Bus_Route(route_id,bus_no)
id   |   route_id  |  bus_no
1    |   route-A   |   33
2    |   route-B   |   33A
Run Code Online (Sandbox Code Playgroud)

如何继续存储相应路线的电台名称.我不是数据库专家,所以任何帮助都是有价值的.提前致谢.

ln *_*n e 6

你最好创建一个持有STATION - ROUTE关系的额外表格.你在这里定义了一个多对多的关系,这意味着一个站可以有很多路由,一个路由可以有很多站.

总线(仅当多个物理总线存在且具有相同的*bus_no*时才需要)

id   |   bus_no
---------------
1    |   33
2    |   33A
3    |   33A
Run Code Online (Sandbox Code Playgroud)

bus_routes(*route_id*和*bus_no*都必须是唯一值)

route_id  |  bus_no
---------------------
route-A   |   33
route-B   |   33A
Run Code Online (Sandbox Code Playgroud)

stations_routes(多对多,route_order告诉我们路线内的顺序)

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
Run Code Online (Sandbox Code Playgroud)