武汉理工大学华夏学院课程设计课程名称数据库原理课程设计题目车辆租赁管理子系统数据库设计专业计算机科学与技术班级1101班姓名郭雨露成绩__________________指导教师张玉蓉2013年6月17日至2013年6月21日课程设计任务书设计题目:车辆租赁管理子系统数据库设计设计目的:1.学会分析研究数据对象的特性;2.学会数据的组织方法;3.选择合适的数据的存储结构以及相应操作,把现实世界中的问题转换为计算机内部的表示和处理;4.提高学生的运用能力、提高数据库设计素质;设计任务:(在规定的时间内完成下列任务)1.基础信息设置:包括车辆类型、车辆名称、租赁模式等的设置。2.信息管理:车辆信息、司机信息、客户信息的维护和查询。3.综合业务管理:对综合业务进行管理和查询,包括汽车预约、出租、续租、催车、还车结算等。4.租金统计:可以进行当天租金统计和一定时间段的租金统计。5.系统管理:包括系统维护、权限设置、更改密码等。具体要完成的任务是:A.编制完成上述问题的数据库设计并能得出正确的运行结果。B.采取统一格式:有问题描述、基本要求、测试数据及实现方法等组成写出规范的课程设计说明书;时间安排6月17日布置课程设计任务;6月18日分配题目后,查阅资料、准备程序;6月19,20日上机调试程序、书写课程设计报告;6月21日下午提交课程设计报告及相关文档具体要求课程设计报告按统一通用格式书写,具体格式要求请在网络上查阅;每位学生应独立完成各自的任务;指导教师签名:13年6月15日教研室主任(或责任教师)签名:13年6月15日1.系统需求分析1.1背景随着社会经济的发展和人们生活水平的提高,汽车租赁行业也开始飞速的发展,成为一种新兴行,而对于汽车租赁公司来说对于汽车的管理就需要一种汽车租赁管理系统。汽车租赁管理系统多是针对汽车租赁的业务处理的一种系统,它主要依赖于数据库,管理层面一般包括基本设置、信息管理、业务处理、查询报表、统计租金以及系统管理等模块,优点在于业务处理模块结合了实际,所以对于日常的信息和汽车出租的相关业务都能做到很好的管理。而汽车租赁信息管理系统提高汽车租赁管理工作效率,作到信息的规范管理,科学统计和快速查询,为汽车租赁公司的管理解决了一大难题。1.2系统需求分析汽车租赁管理信息系统需要完成功能主要有:1.信息管理汽车管理:汽车租赁公司管理员可以查看公司的所有汽车的信息,并能修改汽车信息,增加汽车信息(公司购入的车辆)和删除汽车信息(公司损坏无法使用)。客户信息:公司员工可以查看客户的信息,当有新的客户时可以录入客户的信息,也可以对客户信息进行删除和修改。司机信息:员工可以查看公司所有司机的详细信息,方便公司领导人充分的了解工作人员的信息,价格信息:不同的车辆的租赁方式不同,价格也就相应的不同。方便工作人员依照不同的方式收取租金。2.业务管理汽车预约:当客户来预约出租车的时候,员工可以查看公司没有租出去的车辆的信息并根据客户的要求尽可能的满足客户的需要。汽车出租:客户来租车,员工根据客户预约的信息和公司没有派出去的司机的信息租车给客户,并打印一张租用单给客户。然后将客户租车的相关信息录入出租记录表并将客户的详细信息录入客户表中,员工也可以修改删除记录表中的内容。汽车续租:如果客户想要继续租之前租的车,需要到租赁公司办理续租手续,员工根据客户续租日期更改出租记录表中的还车日期。催车:员工每天都需要查看当天需要归还的车辆,查看这些客户的详细信息,催促客户及时还车以免交罚金。还车结算:客户来归还车辆是员工检查车辆收取租金(客户延时还车需交罚金50元/天)后需要将该客户租车的相关信息从出租记录表中删除,然后将相关信息录入归还记录表中,方便以后公司领导人查看。3.系统维护备份数据:可以提供直接备份数据库的相关数据;还原数据:当系统出现异常状况时可以通过此还原数据库的相关数据;2.系统结构设计2.1E-R图车租赁管理信息系统可以划分的实体有:汽车信息实体、客户信息实体、司机信息实体、租用信息实体,出租记录信息实体,归还记录信息实体。用E-R图一一描述这些实体。2.1.1汽车信息实体E-R图:图2-1汽车实体E-R图2.1.2客户信息实体E-R图:图2-2客户信息实体E-R图汽车信息实体车牌名车型客户信息实体客户ID姓名联系方式身份证号2.1.3出租记录信息实体E-R图:图2-3出租记录信息实体E-R图2.1.4.司机信息实体E-R图:图2-4司机信息实体E-R图2.1.4.价格信息实体E-R图:图2-4价格信息实体E-R图价格信息实体车型租赁方式租金编号出租记录实体还车时间租用单号车牌号客户ID司机ID租用时间押金租赁方式司机信息实体司机ID姓名联系方式2.1.6归还记录信息实体E-R图:图2-6归还记录信息实体E-R图2.1.4总体E-R图:图2.1总体E-R图22..22数数据据字字典典表2-1car汽车信息表表中列名数据类型可否为空说明车牌号charnotnull(主键)种类编号车型charnotnull种类名称表2-2client客户信息表格表中列名数据类型可否为空说明客户IDcharnotnull(主键)读者借书证号姓名charnotnull读者姓名联系方式charnotnull读者性别客户车价格信息司机出租记录归还记录出租归还统计驾驶制定111nmnmn归还记录信息实体编号租用单号客户ID实付现金归还日期1身份证号charnull读者种类表2-3driver司机信息表表中列名数据类型可否为空说明司机IDcharNotnull(主键)书籍编号姓名charNotnull书籍名称联系方式charNotnull书籍类别表2-4price价格信息表表中列名数据类型可否为空说明车型charNotnull(外主键)读者借阅证编号租赁方式charNotnull(外主键)书籍编号租金intNotnull读者借书时间表2-5cli_rent出租记录信息表表中列名数据类型可否为空说明租用单号charNotnull(外主键)读者借阅证编号车牌号charNotnull(外主键)书籍编号客户IDcharNotnull读者还书时间司机IDchar租赁方式char押金int出租日期datetime还车日期datetime表2-6returned归还记录信息表表中列名数据类型可否为空说明编号charNotnull(外主键)读者借阅证编号租用单号charNotnull(外主键)书籍编号客户IDcharNotnull读者还书时间归还日期datetime实付租金int2.3逻辑结构设计关系模型汽车信息表(车牌号,车型)客户信息表(客户ID,姓名,联系方式,身份证号)司机信息表(司机ID,姓名,联系方式)价格信息表(出租车型,租赁方式,租金)出租记录信息表(租用单号,客户ID,司机ID,租赁方式,押金,出租日期,还车日期)归还记录信息表(编号,租用单号,客户ID,归还日期,实付租金)转换过程中应用的规则:将各实体以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码和关系码的一部分。函数依赖2.4物理结构设计2.4.1表的创建汽车信息表usemycreatetablecar(车牌号char(20)primarykey,车型char(10)notnull,foreignkey(车型)referencesrent(车型))客户信息表createtableclient(客户IDchar(10)primarykey,姓名char(10)notnull,联系方式char(20)notnull,身份证号char(20)notnull)司机信息表createtabledriver(司机IDchar(10)primarykey,姓名char(10)notnull,联系方式char(20)notnull)价格信息表createtableprice(编号char(10)primarykey,车型char(10)notnull,租赁方式char(10)notnull,租金intnotnull)出租记录信息表createtablecli_rent(租用单号char(10)primarykey,车牌号char(20)notnull,客户IDchar(10)notnull,司机IDchar(10)notnull,租赁方式char(10)notnull,押金int,租用日期datetimenotnull,还车日期datetimenotnull,foreignkey(司机ID)referencesdriver(司机ID),foreignkey(车牌号)referencescar(车牌号),foreignkey(客户ID)referencesclient(客户ID))归还记录信息表usemycreatetablereturned(编号char(10)primarykey,租用单号char(10),客户IDchar(10),归还日期datetime(20),实付租金int,foreignkey(租用单号)referencescli_rent(租用单号))2.4.1关系图5.数据库的实施insertintocarvalues('鄂A0001','桑塔纳')insertintocarvalues('鄂A0002','桑塔纳')insertintocarvalues('鄂A0003','桑塔纳')insertintocarvalues('鄂A0004','奥迪A4')insertintocarvalues('鄂A0005','奥迪A4')insertintocarvalues('鄂A0006','奥迪A4')insertintocarvalues('鄂A0007','奔驰S级')insertintocarvalues('鄂A0008','奔驰S级')insertintocarvalues('鄂A0009','奔驰S级')insertintocarvalues('鄂A0010','宝马Z4')insertintocarvalues('鄂A0011','宝马Z4')insertintoclientvalues('01','白岩','13972053831','4258789462536')insertintoclientvalues('02','胡歌','13568053831','4256582762536')insertintoclientvalues('03','张宇','13568893831','4568282762536')insertintoclientvalues('04','李玉明','15318245631','456828274891')insertintoclientvalues('05','于晴','15318245258','458938274891')insertintoclientvalues('06','刘洋','15318245258','458935896191')insertintocli_rentvalues('10010','鄂A0001','01','00001','个人租用','200','2013-6-10','2013-6-12')insertintocli_rentvalues('10011','鄂A0003','02','00003','公司租用','200','2013-6-8','2013-6-14')insertintocli_rentvalues('10012','鄂A0005','03','00002','公司租用','400','2013-6-8','2013-6-15')insertintocli_rentvalues('10013','鄂A0007','04','00005','个人租用','3000','2013-6-5','2013-6-15')insertintocli_rentvalues('10014','鄂A0010','05','00007','个人租用','2000','2013-6-9','20