我的问题与循环关系有关,我需要解决数据库模式以便做最佳实践,它将用于跟踪车辆系统
我的问题描述:
我已经通过这种方式解决了这个问题,但是我不确定这是一个好习惯,如果不是,哪个是这个问题的最佳做法?
答案 0 :(得分:0)
1 - 路线可以包含一个或多个围栏,并且围栏可以包含一条或多条路线
Route --< RouteFenceRelationship >-- Fence
"RouteFenceRelationship"
PK RouteFenceRelationshipId
FK RouteId
FK FenceId
许多关系都不能很好地工作,我强烈建议使用关系表来定义哪些路由包含哪些围栏。
2 - 一条路线分配了一些车辆(考虑车辆可能是部分或其他路线)
Vehicle --< VehicleRouteRelationship >-- Route
"VehicleRouteRelationship"
PK VehicleRoutRelationshipId
FK VehicleId
FK RouteId
这里也是相同的,关系表,以避免多对多关系带来的问题。
3 - 当包含围栏的路线分配了车辆时,我需要控制车辆何时通过围栏;然后我需要存储每辆车上是否设置围栏,以便在车辆进入围栏时进行比较
Fence --< FenceVehiclePassEvent >-- Vehicle
"FenceVehiclePassEvent"
PK FenceVehiclePassEventId
FK FenceId
FK VehicleId
Timestamp
我真的不明白你的第三点,但是你可以在这个表格中添加一个条目,包括车辆,围栏和经过的时间。那是你在找什么?