我必须为公交车时刻表设计一个数据库。
实体:
- 巴士(idBus *)
- 停止(idStop *,stopDescription)
- 行(idLine *,lineDescription)
- 位置(lat,lon)
以下是一些限制因素:
- 多条公交车可以运营一条线路(因此BUS:LINE = N:1 )
- One Line有很多Stops,而且一个Stop有很多行(因此STOP:LINE = N:N )
- 一条巴士从多个站点经过,反之亦然(因此BUS:STOP = N:N )
- 止损有一个位置(因此STOP:POSITION = N:N )
- 总线有多个位置(因此BUS:POSITION = 1:N )
E-R图
建模的一个示例是STOP-POSITION关系的桥接表,如下所示:
STOP_POSITION(idStop *,lat,lon),而 idStop 是外键。
一般来说:
如果我有idBus
,我希望能够获得相关的idLine
如果我有idBus
和idStop
我希望获得有关巴士行程的信息(这是下一站,到达时间,方向)
如果我有一个idBus
和一个idLine
我想获得公交车的行程(公交车将通过的所有站点及其订单)
问题
- 在考虑BUS-STOP关系时会出现问题,因为当我考虑知道Stop的id和总线的id时,我会知道一些属性,比如Direction, NextStop的ID , TimeOfArrival ..
我该如何建模这些属性?
例如,每个总线都从多个停靠点传递,并且进度由属性表示(例如 progressiveStop )。我该如何建模这个属性?
- 对LINE-STOP的关联进行建模是否真的有意义?
- 在数据库中存储动态数据真的有意义吗?我指的是BUS-STOP关系。
醇>