2、送车上门和上门取车
这个功能是之前省略的,但现在的市场竞争如此激烈。提供这样的功能来提升用户满意度还是必须的。
对于这个功能有3个要求:
1. 系统应允许顾客在创建Order时选择送车上门和上门取车服务,并提供输入界面。
2. 顾客首次输入一个新地址后,该地址应被记录系统,供用户下次选择(就像淘宝送货地址一样)。
3. 顾客可以存储多个地址,并能改变地址的优先级(影响显示顺序),或设定Default地址。
解决方案:
1. 增加一个Table_CustomerAddress表,记录顾客多个可选地址。
Table_CustomerAddress字段
列名 | 解释 |
CustomerAddress_ID | Identity列 |
Customer_ID | 顾客ID,外键 |
CustomerAddress_Country | 国家 |
CustomerAddress_Province | 省 |
CustomerAddress_City | 城市 |
CustomerAddress_Address | 详细地址 |
CustomerAddress_Rank | 地址等级(数字越小等级越高,显示在最前面。1为Default地址) |
2. 有了Table_CustomerAddress表,Table_Customer中的Customer_Address可以去除。
3. 在Table_Order中,把Order_BorrowStore字段名改为:Order_GetCarLocation,增加Order_IsGetCarAtHome是否送车上门字段(bit类型字段),若该字段为1,则Order_GetCarLocation字段记录顾客选择的送车上门地址ID,若为0,则记录门店ID。同理,把Order_ReturnStore字段名改为:Order_ReturnCarLocation,增加Order_IsReturnCarAtHome是否上门取车字段。
加入送车上门和上门取车功能后的表关系图
图中用黄色标出了相应做的改变。
下篇预告
至此租车信息系统数据库设计基本完成了。
下一篇我们以这个设计为基础来写一些常见的查询,如:顾客试图预订某型号车,并给出了需要租借的时间段,写一个查询来查找该车型的车辆相应时间是否有档期,如果有则创建相应的Order(如果有该车型的多辆车有档期,安排哪辆车能使车辆利用率最高呢?这个需要进一步思考)。
思考这些查询也算是验证先前的设计,一般在这个过程中有时会发现一些设计上的疏漏。
相关链接: