我对火车时刻表的 SQLite3 数据库模式的外观感兴趣。
通常,这以表格形式呈现为最终结果。
M到F的样品时间表
STATION A STATION B STATION C ... STATION K
6:00 6:15 7:30 9:00
6:30 6:45 7:45 9:30
7:00 7:15 ---- 10:00
8:00 8:15 9:30 11:00
周末时间表示例
STATION A STATION B STATION C ... STATION K
7:00 7:15 8:30 10:00
8:30 8:45 8:45 10:30
9:00 ---- 9:30 11:00
10:00 10:15 10:30 12:00
火车没有任何编号(如 A-Train、12 号火车等)。所以我们可以制作一个内部号码。周一至周五至周六和周日的内部号码是否唯一或重复。然后一列火车会停在多个车站,但不是所有车站,有时车站需要到达(a)和离开(d)时间,或者一个或另一个。
车站可以按距离排序。
到目前为止,我认为我需要以下表格:
- 车站(ID、名称、距离、线路)
- 列车(ID、列车号、日间运行、详情)
- 火车运行(Train.ID、Station.ID、arr/dep、时间、注释)
这是否足够标准化?
我的架构是否正确,或者我需要进行任何更改?