汽车租赁系统《数据库课程设计》设计说明书_第1页
汽车租赁系统《数据库课程设计》设计说明书_第2页
汽车租赁系统《数据库课程设计》设计说明书_第3页
汽车租赁系统《数据库课程设计》设计说明书_第4页
汽车租赁系统《数据库课程设计》设计说明书_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

内蒙古科技大学结课大作业课程名称:数据库原理及应用题目:汽车租赁公司CIS数据库系统的设计班级:数学-2011学号:1168132127学生姓名:庄玉雪目录前言 -前言中国汽车租赁以80年中国国际信托投资公司用跨国租赁方式为北京市租赁一批汽车作为开始,已经经历了将近二十年的发展。汽车租赁也从仅仅为外事活动和旅游提供服务发展到为寻常百姓服务。投资汽车租赁的企业越来越多,全国大中城市基本都有汽车租赁公司存在,用于租赁的车辆总数不断扩大。据网络资料:我国目前拥有驾驶证的公民多达3000万,而且,这一数量每年还在以一定比例上升。我们了解到在这批人当中有许多是短期内暂时买不起车辆的,但他们中的绝大部分人需要临时用车,而且也有临时租车的支付能力,因此,经营性租赁有极其巨大的市场需求。许多汽车租赁公司都看好汽车租赁市场的前景并纷纷投资,如北京今日新概念、浙江联通、上海安吉三公司等等。但是由于汽车的价值较大,汽车租赁公司在租车客户的选择方面采取谨慎做法,对客户采取较为严格的资格审查。目前,个人要想租赁汽车,租赁公司一般要求客户提供租赁公司所在地的户口本、驾驶证、身份证;若为单位租车,则要求提供注册于租赁公司所在地的租车单位营业执照副本、法定代表人的身份证、驾驶证等证件,在必要时,还要求客户提供相应的担保。为此,作为汽车租赁公司有必要建设一个适合自己发展和服务的数据库系统来完善自己的业务,并且能够及时更新客户、供货商以及市场变化的信息。根据中国汽车租赁的现状和国际汽车租赁的发展经验,中国汽车租赁企业要走的是一条规模化和网络化的道路。DBS013G汽车租赁公司很清楚地认识到了这些背景和状况,我们需要对变化的市场来设计我们自己的CIS以适应市场的竞争。系统概述1.1背景今天,随着人民生活水平的提高,汽车工业的发展和汽车的普及,汽车如今已经与我们的生活密不可分,而汽车租赁也已成为一个极具市场潜力的行业,面对飞速发展的汽车租赁市场,其经营管理的汽车种类繁多,样式各异,客户需求量大,客户要求高,每天的工作量大,一套完整的管理系统对于汽车租赁公司来说已经十分重要,在信息飞速发展的今天,计算机在事务管理方面的应用已经相当广泛,但目前很多汽车租赁公司还停留在人工管理的水平上,显然不适应时代的发展,管理人员目前需要一套方便、计算机化的管理信息系统来代替他们繁琐、低效的传统手工管理方式,并最终实现汽车租赁管理的全面自动化,使用汽车租赁管理系统可以规范企业的管理和经营行为,减少企业的经营成本,提高工作效率。汽车租赁管理系统是为汽车租赁公司提供的一个简单易用的系统,随着科技的发展,设备和管理的现代化,在实际工作中如何提高工作效率成为一个很重要的问题。而建立管理系统是一个很好的解决办法。1.2发展现状目前市场上相关系统并不多,毕竟汽车租赁行业也算是个新兴的产业,但由于它的飞速发展,市场也看到了它的设计价值,不过大都大同小异,一般市场上的汽车租赁管理系统多是针对汽车租赁的业务处理的一种系统,其它管理层面也有涉及,只是比较简略,一般包括基本设置、综合管理、业务处理、查询报表、统计排行以及系统管理等模块,优点在于业务处理模块比较结合实际,所以对于日常的汽车租赁管理系统已经不成问题,但缺点也是存在的。如汽车照片的存储仍然采取相对路径的存储,用户密码的安全性做得不够,系统的扩展性也不是很全等。因此,我们决定利用所学知识设计一个汽车租赁管理系统,主要是针对汽车租赁的基本设置、综合管理、业务处理、查询报表、统计排行以及系统管理进行全面管理的系统,而并不再是只注重于业务处理,并且我们将解决一些问题,如汽车照片用二进制进行存取,用户密码进行双重加密,基本设置模块更好地体现系统的扩展性,报表的打印,SQL语句利用视图跟存储过程,以增强系统的访问安全性,试图完善汽车租赁管理系统的安全性跟扩展性,让其更人性化,更好地服务于汽车租赁公司。第二章需求分析2.1功能需求经过调研及分析,汽车租赁管理系统主要完成以下功能:(1)综合管理此模块主要对客户(包括普通客户跟会员),员工以及汽车的具体信息进行管理,分为普通客户管理,会员管理,员工管理以及汽车管理。汽车管理:管理员可以对租赁公司现已拥有的汽车的具体信息进行查看,修改信息或者删除档案(当汽车报废或不再租赁时),而且是可以批量删除的,也可添加新购进的汽车的具体信息,以便更快地投入租赁市场,方便客户了解,以便做出更好的租赁选择。普通客户管理/会员管理:管理员对客户的资料(包括普通客户跟会员)可以进行查看,添加新客户,修改一些基本资料以及删除客户档案;员工管理:对聘用的员工的资料也可以进行查看,对新聘用的员工添加其详细信息,修改一些基本信息以及删除员工档案。(2)业务管理此模块提供对汽车日常业务进行管理,包括汽车预租/出租/续租,汽车加油,汽车维修,还车结算,催车还交以及事故登记。汽车预租:员工可以根据客户需求帮其预租汽车,可以查看及修改预租的相关信息,但是不可以删除客户之前已经预租的汽车,管理员可以修改以及取消客户之前已经预租的汽车,可以查看已经预租汽车的情况等。汽车出租:员工可以根据客户的需求出租汽车,可以查看及修改出租的相关信息,但也不可以删除已经出租的汽车,而管理员则可以修改,查看以及删除出租汽车的相关情况。当汽车出租时可以打印相关合同,双方签订合同。汽车续租:在客户出租汽车的还车时间三天之前可前往汽车租赁公司办理汽车续租手续,员工在检查完汽车的相关情况后,可根据实际情况调整还车时间以便达到续租的目的。汽车加油:员工可以进行记录相关加油情况,修改,删除加油记录。汽车维修:员工可以进行记录汽车相关维修情况,修改,删除维修记录。还车结算:员工对来还车的客户进行查询,统计其它费用(如事故费,罚金费等),算出总费用,收款后返回客户押金以及客户抵押件等。催车还交:员工可以根据出租汽车的还车时间,催促那些还车时间快到了的客户及时还车以免交罚金。事故登记:员工应该根据所出租的汽车发生的事故的具体情况登记入表,以便以后查询,也可修改或删除信息。(3)基本设置管理此模块提供对汽车信息设置以及服务信息设置的全面管理功能。包括汽车设置管理与服务设置管理等。管理员可以对一些基本信息进行添加,修改,删除。汽车设置管理包括汽车类型设置,汽车名称设置,燃油类型设置;服务设置管理包括修理厂设置,加油站设置,保险类型设置。这项管理可以使管理员更好地根据租赁公司实际情况修改汽车以及服务的一些基本信息,使系统更适合其公司的运营,而且管理员只需在设置界面进行修改,而不需自己修改数据库,更体现出系统的人性化。(4)查询报表此模块分为加油记录查询,维修记录查询,汽车预租查询,汽车出租查询,还车结算查询,事故记录查询,单车租赁查询,汽车资料查询,会员资料查询,客户资料查询以及员工资料查询。此模块可对客户,员工以及汽车相关业务的情况进行查询,对查询到的相关信息可以生成相应的Excel文件以及打印报表,尤其是汽车资料查询还可以生成显示照片的报表等。(5)统计排行此模块根据汽车出租次数的实际情况可以统计出本周/本月/全部排行,进而有利于管理员分析购买哪些汽车能使公司的利润最大化。还可以根据客户(包括普通客户和会员)租赁汽车的次数,统计出其排行,有利于管理员有针对性地对某些客户进行高质里的服务。(6)系统维护备份数据:可以提供直接备份数据库的相关数据还原数据:当系统出现异常状况时可以通过此还原数据库的相关数据修改密码:可以账户修改登录密码,密码是采取双重MD5加密,使其更具安全性。2.2数据需求:系统外部:实物或单据:实物或信息流向:处理:数据存储客户(普通客户/会员)预租请求汽车预租表员工图客户(普通客户/会员)预租请求汽车预租表员工员工查询汽车信息表普通客户/会员信息登记客户信息表管理员员工信息登记汽车信息登记员工信息表员工汽车预租表签订合同客户汽车出租表员工汽车预租表签订合同客户汽车出租表续租请求费用结算表客户(普通客户/会员)员工还车查询费用缴纳费用费用结算表客户(普通客户/会员)员工还车查询费用缴纳费用P003员工加油、维修、事故登记加油、维修、事故信息表图2-4员工加油、维修、事故登记加油、维修、事故信息表图2-5汽车加油、维修、事故流程图图2-6基本设置流程图员工员工运用基本设置表管理员基本设置录入第三章系统设计3.1系统结构汽车租赁管理系统汽车设置管理基本设置管理服务设置管理汽车租赁管理系统汽车设置管理基本设置管理服务设置管理综合管理汽车管理业务管理汽车预/出/续租汽车加油汽车维修还车结算催车还交事故登记查询报表统计排行汽车查询客户资料查询客户租赁排行本周/月/全部排行人事管理系统维护备份数据权限管理图3-1系统结构图3.2数据库设计3.2.1ER图 3.2.2逻辑结构 1、用户信息表 用户(uid,users,pwd,type) 分析:因为uid是主键,而且users不允许重复,所以主键只有一个属性,不存在部分依赖;又因为uidusers,所以不存在非主属性对主键uid的传递依赖,所以该关系属于3NF。 2、客户信息表 客户(kid,ktype,kname,ksex,ksf,kdy,ktel,klic,kadd,ktimes) 分析:因为只有kid是主键,所以不存在部分依赖,因此该关系属于2NF。但存在非主属性kname通过ktel对主键kid的传递依赖,所以该关系不属于3NF。 3、员工信息表 员工(eid,ename,esex,esf,etel,eadd) 分析:因为只有eid是主键,所以不存在部分依赖,因此该关系属于2NF。但存在非主属性ename通过etel对主键eid的传递依赖,所以该关系不属于3NF。 4、管理员信息表 管理员(uid,uname,usex) 分析:因为只有uid是主键,所以不存在部分依赖,且不存在非主属性对主键uid的传递依赖,所以该关系属于3NF。 5、汽车信息表 汽车(cid,cname,ctype,cnum,cclor,clsu,coil,cpho,cmile,cgm,cbf,cdep,cdm,csta,ctimes) 分析:因为cid是主键,而且cnum不允许重复,所以主键只有一个属性,不存在部分依赖;又因为cidcnum,所以不存在非主属性对主键cid的传递依赖,所以该关系属于3NF。 6、租赁情况表 租赁(htid,cid,eid,kid,renttype,renttime,returntime,mustmoney,des,regtime,rem) 分析:因为只有htid是主键,所以不存在部分依赖,因此该关系属于2NF。但存在非主属性des通过cid对主键htid的传递依赖,所以该关系不属于3NF。 7、加油表 加油(oid,cid,eid,oilstation,price,oilvolume,ototal,odate) 分析:因为只有oid是主键,所以不存在部分依赖,且不存在非主属性对主键oid的传递依赖,所以该关系属于3NF。 8、维修表 维修(rid,cid,eid,rplace,rmat,rpmoney,rother,rtotal,rdate,rcon,rrem) 分析:因为只有rid是主键,所以不存在部分依赖,且不存在非主属性对主键rid的传递依赖,所以该关系属于3NF。 9、事故登记表 事故(aid,cid,eid,aple,adate,aplace,acus,acon,adtime,arem) 分析:因为只有aid是主键,所以不存在部分依赖,且不存在非主属性对主键aid的传递依赖,所以该关系属于3NF。 10、费用表 费用(htid,eid,kid,fdis,freturn,fother,ftotal) 分析:因为只有htid是主键,所以不存在部分依赖,因此该关系属于2NF。但存在非主属性fdis通过kid对主键htid的传递依赖,所以该关系不属于3NF。 11、基本信息表 基本信息(sid,uid,sstyle,sname) 分析:因为只有sid是主键,所以不存在部分依赖,且不存在非主属性对主键sid的传递依赖,所以该关系属于3NF。3.2.3数据库物理结构 1、视图 uh_kh:select*from用户,客户wherekid=uid kh_ht:select*from客户where(notexists(select*fromhtwherekid=客户.kid)) ht:selecthtid,kname,ktype,ktel,cname,ctype,cnum,renttype,renttime,returntime,mustmoney,des,regtime,rem,租赁.cid,租赁.kid,eidfrom租赁,汽车,客户where租赁.cid=汽车.cidand客户.kid=租赁.kid oil:selectoid,加油.cid,加油.eid,oilstation,price,oilvolume,ototal,odate,ename,cname,coilfrom加油,汽车,员工where加油.cid=汽车.cid 2、存储过程 u_xg:createprocedureu_xg(@userschar(20),@pwdchar(35))asupdate用户setpwd=@pwdwhereusers=@users kh_tj:createprocedurekh_tj(@userschar(20),@pwdchar(35),@ktypechar(8),@knamechar(10),@ksexchar(5),@ksfchar(20),@kdychar(10),@ktelchar(15),@klicchar(10),@kaddchar(25))asdeclare@kidnumeric(4)begininsertinto用户(users,pwd,type)values(@users,@pwd,@ktype)select@kid=uidfrom用户whereusers=@usersinsertinto客户(kid,ktype,kname,ksex,ksf,kdy,ktel,klic,kadd)values(@kid,@ktype,@kname,@ksex,@ksf,@kdy,@ktel,@klic,@kadd)endem_tj:createprocedureem_tj(@userschar(20),@pwdchar(35),@typechar(8),@enamechar(10),@esexchar(6),@esfchar(20),@etelchar(15),@eaddchar(25))asdeclare@eidnumeric(4)begininsertinto用户(users,pwd,type)values(@users,@pwd,@type)select@eid=uidfrom用户whereusers=@usersinsertinto员工values(@eid,@ename,@esex,@esf,@etel,@eadd)endcar_xg:createprocedurecar_xg(@cidnumeric(4),@cnamechar(10),@ctypechar(10),@cnumchar(10),@cclorchar(6),@clsuchar(10),@coilchar(6),@cphoimage,@cmilenumeric(5),@cgmdatetime,@cbfdatetime,@cdepmoney,@cdmmoney)asbeginupdate汽车setcname=@cname,ctype=@ctype,cnum=@cnum,cclor=@cclor,clsu=@clsu,coil=@coil,cpho=@cpho,cmile=@cmile,cgm=@cgm,cbf=@cbf,cdep=@cdep,cdm=@cdmwherecid=@cidend 3、触发器csta_xg:createtriggercsta_xgon租赁forinsertasupdate汽车setcsta=(selectrenttypefrominserted)wherecid=(selectcidfrominserted)csta_xg2:createtriggercsta_xg2on租赁forupdateasif(selectcidfromdeleted)<>(selectcidfrominserted)beginupdate汽车setcsta='待租'wherecid=(selectcidfromdeleted)update汽车setcsta=(selectrenttypefrominserted)wherecid=(selectcidfrominserted)update汽车setctimes=ctimes+1wherecid=(selectcidfrominserted)update汽车setctimes=ctimes-1wherecid=(selectcidfromdeleted)endctimes_xg:createtriggerctimes_xgon租赁forinsertasdeclare@ctimesnumeric(4)if(selectrenttypefrominserted)='出租'update汽车setctimes=ctimes+1wherecid=(selectcidfrominserted)ht_change:createtriggerht_changeon租赁fordeleteasupdate汽车setcsta='待租'wherecid=(selectcidfromdeleted)3.2.4数据库实现 数据库创建语句: IFEXISTS(SELECTnameFROMmaster.dbo.sysdatabasesWHEREname=N'car') DROPDATABASE[car]GOCREATEDATABASE[car]ON(NAME=N'car_Data',FILENAME=N'C:\ProgramFiles\MicrosoftSQLServer\MSSQL\data\car_Data.MDF',SIZE=8,FILEGROWTH=10%)LOGON(NAME=N'car_Log',FILENAME=N'C:\ProgramFiles\MicrosoftSQLServer\MSSQL\data\car_Log.LDF',SIZE=5,FILEGROWTH=10%)COLLATEChinese_PRC_CI_ASGO3.3用户控制系统用户通过bridge判断账户验证通过系统进入用户通过bridge判断账户验证通过系统进入3次未通过退出程序判断账户权限员工管理员客户图3-2用户控制系统图3.4模块设计 3.4.1汽车管理模块设计此模块实现:管理员可以对租赁公司现已拥有的汽车的具体信息进行查看,修改档案或者删除档案(当汽车报废或不再租赁时),而且是可以批量删除的,也可添加新购进的汽车的具体信息,以便更快地投入租赁市场,方便客户了解,以便做出更好的租赁选择。 此模块设计过程中,由于经常有大量的汽车照片需要保存,简便的方法是把图片存储在指定的文件夹下,数据库中只保存图片所在的路径和图片名,但是这种方法对数据的管理很不方便,同时安全性和可靠性也不能保证;另一种方法是把图片数据存储在数据库中,在数据库中提供了Image数据类型,该类型存储的是可变长度的二进制数,因此要把保存到数据库中的图片文件的类型转换成二进制数据类型。利用MemoryStream类将图像文件以二进制的形式在数据库中直接进行读写操作。此模块采用第二种方法即把图片以二进制的形式存储在数据库中,该方案解决了汽车租赁管理系统中数据库存储图像数据的问题,提高了汽车租赁管理系统的应用功能和范围。由于图片的保存是一个独立的过程,在其它的模块开发中也可以方便的应用,提高了整个系统开发的效率。 另外,考虑到系统的人性化,添加,修改以及删除等操作采取了批处理,即可以批量添加,批量修改以及批量删除;而在批量删除时要注意在选中的行中从后面往前删,避免出现沙漏效应。 3.4.2基本设置模块设计此模块实现:提供对汽车信息设置以及服务信息设置的全面管理功能。包括汽车设置管理与服务设置管理等。管理员可以对一些基本信息进行添加,修改,删除。汽车设置管理包括汽车类型设置,汽车名称设置,燃油类型设置;服务设置管理包括修理厂设置,加油站设置,保险类型设置。这项管理可以使管理员更好地根据租赁公司实际情况修改汽车以及服务的一些基本信息,使系统更适合其公司的运营,而且管理员只需在设置界面进行修改,而不需自己修改数据库,更体现出系统的人性化。第四章后记4.1结论汽车租赁管理系统针对的是汽车租赁公司在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论