汽车租赁系统《数据库课程设计》.docx
《汽车租赁系统《数据库课程设计》.docx》由会员分享,可在线阅读,更多相关《汽车租赁系统《数据库课程设计》.docx(13页珍藏版)》请在冰豆网上搜索。
汽车租赁系统《数据库课程设计》
理工大学
《数据库系统原理》课程设计报告
课程名称
设计题目
学生
学号
专业班级
指导教师
年月日
评语:
教师签字:
签字日期:
引言
今天,随着人民生活水平的提高,汽车工业的发展和汽车的普及,汽车如今已经与我们的生活密不可分,而汽车租赁也已成为一个极具市场潜力的行业,面对飞速发展的汽车租赁市场,其经营管理的汽车种类繁多,样式各异,客户需求量大,客户要求高,每天的工作量大,一套完整的管理系统对于汽车租赁公司来说已经十分重要,在信息飞速发展的今天,计算机在事务管理方面的应用已经相当广泛,但目前很多汽车租赁公司还停留在人工管理的水平上,显然不适应时代的发展,管理人员目前需要一套方便、计算机化的管理信息系统来代替他们繁琐、低效的传统手工管理方式,并最终实现汽车租赁管理的全面自动化,使用汽车租赁管理系统可以规企业的管理和经营行为,减少企业的经营成本,提高工作效率。
汽车租赁管理系统是为汽车租赁公司提供的一个简单易用的系统,随着科技的发展,设备和管理的现代化,在实际工作中如何提高工作效率成为一个很重要的问题。
而建立管理系统是一个很好的解决办法。
目前市场上相关系统并不多,毕竟汽车租赁行业也算是个新兴的产业,但由于它的飞速发展,市场也看到了它的设计价值,不过大都小异,一般市场上的汽车租赁管理系统多是针对汽车租赁的业务处理的一种系统,其它管理层面也有涉及,只是比较简略,一般包括基本设置、综合管理、业务处理、查询报表、统计排行以及系统管理等模块,优点在于业务处理模块比较结合实际,所以对于日常的汽车租赁管理系统已经不成问题,但缺点也是存在的。
如汽车照片的存储仍然采取相对路径的存储,用户密码的安全性做得不够,系统的扩展性也不是很全等。
因此,我们决定利用所学知识设计一个汽车租赁管理系统,主要是针对汽车租赁的基本设置、综合管理、业务处理、查询报表、统计排行以及系统管理进行全面管理的系统,而并不再是只注重于业务处理,并且我们将解决一些问题,如汽车照片用二进制进行存取,用户密码进行双重加密,基本设置模块更好地体现系统的扩展性,报表的打印,SQL语句利用视图跟存储过程,以增强系统的访问安全性,试图完善汽车租赁管理系统的安全性跟扩展性,让其更人性化,更好地服务于汽车租赁公司。
一、课程设计目的和要求
课程设计是为了增强学生对所学课程的理解,学会综合地、灵活地运用所学课程知识的一个重要的实践环节。
本课程设计是应用c#程序设计语言进行数据库应用系统的开发,用SQLSERVER2014进行后台数据库的管理,编写出汽车租赁系统系统。
通过本课程设计可以达成如下目标:
1、能够自觉运用数据库原理的理论知识指导软件设计;
2、学会数据库的设计,并能对设计结果的优劣进行正确的评价;
3、学会如何组织和编写信息系统软件设计文档和软件系统的操作说明;
4、具有一定的独立分析问题、解决问题的能力;
5、掌握SQLSERVER2014在信息系统开发过程中的应用。
二、课程设计的过程
2.1功能需求
经过调研及分析,汽车租赁管理系统主要完成以下功能:
(1)综合管理
此模块主要对客户以及汽车的具体信息进行管理,分为客户管理和及汽车管理。
汽车管理:
管理员可以对租赁公司现已拥有的汽车的具体信息进行查看,修改信息或者删除档案(当汽车报废或不再租赁时),也可添加新购进的汽车的具体信息,以便更快地投入租赁市场,方便客户了解,以便做出更好的租赁选择。
普通客户管理:
管理员对客户的资料可以进行查看。
(2)业务管理
此模块提供对汽车日常业务进行管理,包括汽车预租/出租/续租,汽车维修,还车结算,催车还交以及事故登记。
汽车预租:
员工可以根据客户需求帮其预租汽车,可以查看及修改预租的相关信息,但是不可以删除客户之前已经预租的汽车,管理员可以修改以及取消客户之前已经预租的汽车,可以查看已经预租汽车的情况等。
汽车出租:
员工可以根据客户的需求出租汽车,可以查看及修改出租的相关信息,但也不可以删除已经出租的汽车,而管理员则可以修改,查看以及删除出租汽车的相关情况。
当汽车出租时可以打印相关合同,双方签订合同。
汽车续租:
在客户出租汽车的还车时间三天之前可前往汽车租赁公司办理汽车续租手续,员工在检查完汽车的相关情况后,可根据实际情况调整还车时间以便达到续租的目的。
汽车维修:
员工可以进行记录汽车相关维修情况,修改,删除维修记录。
还车结算:
员工对来还车的客户进行查询,统计其它费用(如事故费,罚金费等),算出总费用,收款后返回客户押金以及客户抵押件等。
催车还交:
员工可以根据出租汽车的还车时间,催促那些还车时间快到了的客户及时还车以免交罚金。
事故登记:
员工应该根据所出租的汽车发生的事故的具体情况登记入表,以便以后查询,也可修改或删除信息。
(3)查询报表
此模块分为加油记录查询,维修记录查询,汽车预租查询,汽车出租查询,还车结算查询,事故记录查询,单车租赁查询,汽车资料查询以及客户资料查询。
此模块可对客户,员工以及汽车相关业务的情况进行查询,对查询到的相关信息可以生成相应的Excel文件以及打印报表,尤其是汽车资料查询还可以生成显示照片的报表等。
(4)系统维护
备份数据:
可以提供直接备份数据库的相关数据
还原数据:
当系统出现异常状况时可以通过此还原数据库的相关数据
修改密码:
可以账户修改登录密码,密码是采取双重MD5加密,使其更具安全性。
2.2部门需求
(1)前台需求
1.查询租用记录
2.查询租用信息
3.目前可租用车辆类型
4.目前可租用车辆数目
5.目前未归还车辆
6.办理租用手续
7.办理换车手续
通过以上的操作基本可以完成前台的全部需要的操作。
(2)车库需求
1.查询维修记录
2.查询目前送修车辆
3.目前停车场停放车辆
4.送修时维修记录填写
5.维修花销填写
第三章系统设计
3.1系统结构
此汽车租赁管理系统主要实现4个大的功能模块:
综合管理、业务管理,查询报表、系统维护。
每个模块有分成多详细的功能子模块。
详情如下图3-1所示:
图3.1系统结构图
3.2数据库设计
3.2.1E-R图
图3.2.1E-R图
3.2.2逻辑结构
1.汽车信息
汽车信息(车牌号,车型,备注)
分析:
车牌号为主码,唯一且不为空;车型是外码,为租用信息的主码,设置表级约束条件级联更新与删除。
2.租用信息
租用信息(车型,品牌,分类,租用价格)
分析:
车型为主码,唯一且不为空;租用价格定义为INT型变量。
3.租用记录
租用记录(编号,车牌号,身份证,,,预付金,实收款,租用日期,归还日期,备注)
分析:
编号为主码,唯一且不为空;车牌号是外码(注:
不可设置级联删除,因为即使车辆报废了但是租用记录还是要保存的);预付款与实收款定义为INT型;租用日期与归还日期定义为DATA。
4.维修厂信息
维修厂信息(编号,名称,地址,,备注)
分析:
编号为主码,唯一且不为空。
5.维修记录
维修记录(编号,车牌号,维修厂编号,花费金额,维修日期,备注)
分析:
编号为主码,唯一且不为空;维修厂编号为外码;花费金额为INT型;维修日期为DATA型。
第四章系统实现
4.1前台需求实现
1.查询租用记录
select*
from租用记录
2.查询租用信息
select*
from租用信息
orderby租用价格
3.目前可租用车辆类型
selectdistinct租用信息.*
from租用信息,汽车信息
where租用信息.车型=汽车信息.车型
andnotexists
(select*
from租用记录,维修记录
where((汽车信息.车牌号=租用记录.车牌号and归还日期isnull)
or(汽车信息.车牌号=维修记录.车牌号and花费金额=0)
))
orderby租用价格
4.目前可租用车辆数目
select租用信息.车型,count(*)可用数量
from租用信息,汽车信息
where租用信息.车型=汽车信息.车型
andnotexists
(select*
from租用记录,维修记录
where((汽车信息.车牌号=租用记录.车牌号and归还日期isnull)
or(汽车信息.车牌号=维修记录.车牌号and花费金额=0)
))
groupby租用信息.车型
5.目前未归还车辆
select租用记录.编号,车型,租用记录.车牌号,身份证,,,预付金,租用日期
from租用记录,汽车信息
where租用记录.车牌号=汽车信息.车牌号
and归还日期isnull
orderby车型
6.办理租用手续(先查看目前可租用车辆类型,然后询问车库目前该类型车的车牌号,并与客户信息一同填入对应位置)
insert
into租用记录(编号,车牌号,身份证,,,预付金,租用日期,备注)
values('0006','','','','',100,'','')
7.办理换车手续(办理还车手续前先查询未归还车辆,然后填入对应信息)
update租用记录
set实收款=
归还日期=
where编号=
4.2车库需求实现
1.查询维修记录
select*
from维修记录
2.查询目前送修车辆
select维修记录.编号,汽车信息.车牌号,车型,名称维修厂名,,维修日期
from汽车信息,维修记录,维修厂信息
where汽车信息.车牌号=维修记录.车牌号
and维修厂编号=维修厂信息.编号
and花费金额=0.0
3.目前停车场停放车辆
select租用信息.车型,汽车信息.车牌号
from租用信息,汽车信息
where租用信息.车型=汽车信息.车型
andnotexists
(select*
from租用记录,维修记录
where(
(汽车信息.车牌号=租用记录.车牌号
and归还日期isnull)
or(汽车信息.车牌号=维修记录.车牌号
and花费金额=0.0)
)
)
4.送修时维修记录填写(填入编号,车牌号,维修厂编号,花费金额以及维修日期等对应信息)
insert
into维修记录(编号,车牌号,维修厂编号,花费金额,维修日期)
values('','','',8888,'')
5.维修花销填写(填入取回车辆的车牌号,并填入花费的金额)
update维修记录
set花费金额=8888
where车牌号=''
第五章
个人总结
经过一学期的学习,我对数据库应用课程设计这门学科有了充分的了解。
这次的课程设计我选择的题目是汽车租赁管理系统。
通过本次课程设计,巩固了我在课堂上所学的理论知识,更进一步的理解了面向对象编程的基本思想,并且对SQL语言的理解和掌握又有了一定的巩固与提高,也算是为期末考试做了些准备。
本次课程设计,在任斌老师的指导下,通过不懈的努力完成了本次课程设计的任务,汽车租赁管理系统的设计及运行基本实现。
通过本课程设计,培养了我的耐心与毅力,我也遇到了各种各样的问题和错误,但面对种种问题和困难,我通过和同学的研究讨论也都一一解决了。
经过不懈的努力,最终总算交出一个满意的系统。
参考文献
1.《VisualBasic2005+SQLServer2005》王涛,唐植华清华大学,2008年6月
2.《数据库系统概论》(第四版)萨师煊,王珊高等教育,2005
3.《数据库原理与应用》俊玲等清华大学,2005
4.《数据库原理》郭盈发,红娟电子科技大学,2003