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

发表于:2011-1-04 10:21

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

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

  最近在看《Database modeling & design:logical design》一书,其中有一道练习题是对简单租车系统进行数据库逻辑设计并画出ER图。

  这道题给我挺多遐想的,所以我在这里把这些想法记录下来,也试着设计一把。

  要进行数据库设计,首先要对需求进行分析。需求分析一般会需要对业务人员进行随访,收集信息。我没办法进行随访,就通过自己的遐想来假设需求场景(可能会有错误与遗漏)。

  最初想到的:

  1. 租车公司有多个租车门店,分布于多个不同的地区,并有各自的租车电话。

  2. 每个租车门店有多辆汽车可供租赁。

  3. 供租赁的车辆需要登记车辆识别代号(VIN),购入时间,所属门店,车辆型号,车辆状态(可租Ready,维修中Repair,租出Inuse,无效Inactive)

  4. 车辆的租用费用基本由车辆型号和日期类型(平日,周末,还是节假日)来决定。

  5. 顾客在订车前需先进行注册,包括姓名,身份证号,驾照号,性别,手机号,固定电话,家庭住址,Email。

  6. 注册顾客可通过系统下租车单,预约某车型,若干天的租赁(预约期最远为6个月)。

  7. 租车单需记录顾客编号,车辆编号,租赁起始日期,租赁结束日期,提车门店,还车门店,租赁费用,预付款金额,订单状态(输入Entered,提交Booked,预约Reserved,使用中Inuse,交还Returned,取消Cancelled)。注:暂不提供送车上门和上门取车服务。

  对于上述需求,比较明显的需创建的表有:车辆(Table_Car),门店(Table_Store),顾客(Table_Customer),订单(Table_Order)。

  除此之外,车辆型号,车辆状态,日期类型和订单状态分别创建成四张枚举表Table_CarCategory,Table_CarStatus,Table_DateType,Table_OrderStatus。

  还应有一张租车价位对照表(Table_BasePrice),其中会包含两个外键分别指向Table_CarCategory,Table_DateType。

  简单表关系图如下:

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号