租车信息系统数据库设计(3)

发表于:2011-1-06 10:18

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:DBFocus(cnblogs)    来源:51Testing软件测试网采编

  前篇回顾

  在租车信息系统数据库设计(1)与租车信息系统数据库设计(2)中我们列出了租车信息系统的12条需求,并相应做了数据库设计,最后得到的表关系图如下:

  在租车信息系统数据库设计(2)的最后提出了3个新问题:

  1. 出入库管理还能丰富,车辆买入,车辆报废,送修,还有不同门店之间的车辆拆借(如门店A向门店B临时借用某辆车),如何更好的记录这些StoreTransaction信息?

  2. 顾客对于租车费用的支付信息如何记录,顾客可以通过预先充值后消费的方式来支付(这也是区分会员级别的关键),又该如何支持?

  3. 我们在第一篇中暂时没考虑“送车上门和上门取车”服务,要支持这一功能,我们对数据库结构要做些什么改动?

  就这3个问题,今天我给出自己的解决方案与大家进行讨论。

  更细致的出入库管理

  对于问题1,可以通过细分StoreTransaction来解决。

  在Table_StoreTransaction表中增加StoreTransaction_Type列来存放进出库类型,我把进出库类型分为3种(Purchase,Adjustment,Rental)。相应还需要加入两张表Table_Purchase(记录买入车辆的信息),Table_Adjustment(记录车辆拆借、送修、报废信息)。

  Table_StoreTransaction表中的StoreTransaction_ReferenceID列根据不同的进出库类型指向不同表中的记录。

  下表罗列了各种情况的进出库类型和Reference ID指向的表:

进出库类型Reference ID指向的表记录
车辆出租Rental(In/Out)Table_Order
车辆买入Purchase(In)Table_Purchase
车辆拆借Adjustment(In/Out)Table_Adjustment
车辆送修Adjustment(In/Out)Table_Adjustment
车辆报废Adjustment(Out)Table_Adjustment

  我们来看一下需要新建的表的字段。实际上,除了要新建Table_Purchase,Table_Adjustment之外,还会间接引入Table_AdjustmentType表。

  Table_Purchase:

列名解释
Purchase_IDIdentity字段
Store_ID入库门店ID
Car_VIN车辆唯一编号
CarCategory_ID车辆型号ID
Purchase_Date购买日期
Purchase_Price购买价格
Purchase_Currency货币
Purchase_CreatedBy购车申请人
Purchase_AuthorisedBy购车批准人
Purchase_Comment购车备注

31/3123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号