我目前正在创建一张存放出租车预订的桌子。
关键
ID - 预订ID
CustId - 正在接受的客户的身份
DriverId - 正在接听客户的司机的身份
PickupAddr - 取件位置
PickupLat - 拾取位置的纬度坐标
PickupLon - 拾取位置的lon坐标
DropoffAdr - 放下位置
DropoffLat - 下降位置的lat坐标
DropoffLon - 衰落位置的lon坐标
里程 - PickupAddr和DropoffAddr之间的距离,包括任何 其他站点
停止 - 旅途中的航点/停靠次数
价格 - 客户在旅程中必须为此部分支付的费用
我现在面临的问题是我不知道如何处理航点。
e.g。如果你已经被A接到B去,但决定在旅途中停在A1和A2去挑选一些朋友(当然事先预订)
重构当前表格以适应这种情况的最佳方法是什么?
它应该作为单独的行还是列?由于这些数据是动态的(即,人们无法预测客户中途旅行的接送/下降次数),我应该做些什么。
答案 0 :(得分:1)
由于这是一对多关系,因此它应该是一个单独的表:
id
- 航点ID booking_id
- FK到booking
表sequence
- 在旅程中订购此航点addr
- 航点的地址lat
- 航路点的纬度long
- 航点的经度如果需要,您可以从PickupXXX
表中删除DropoffXXX
和bookings
列,只需使用航点表即可。皮卡可能是第一个航点,而下降将是最后一个。