ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:416.22KB ,
资源ID:30048042      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/30048042.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(汽车租赁系统《数据库课程设计》设计说明书.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

汽车租赁系统《数据库课程设计》设计说明书.docx

1、汽车租赁系统数据库课程设计设计说明书 设计说明书课程名称 数据库课程设计 题目名称 汽车租赁管理系统 学生姓名 学号 专 业 指导教师 年 月 日 目录第一章 系统概述 11.1背景 11.2发展现状 1第二章 需求分析 22.1 功能需求 22.2 数据需求 3第三章 系统设计 53.1系统结构 53.2 数据库设计 53.2.1 ER图 53.2.2 逻辑结构 63.2.3 数据库物理结构 73.2.4 数据库实现 93.3用户控制系统 93.4模块设计 103.4.1 汽车管理模块设计 103.4.2 基本设置模块设计 11第四章 系统实现 114.1用户登录模块 114.2汽车管理模块

2、实现 124.3汽车预租模块实现 16第五章 后记 185.1完善计划 185.2个人总结 19参考文献 19第一章 系统概述1.1背景今天,随着人民生活水平的提高,汽车工业的发展和汽车的普及,汽车如今已经与我们的生活密不可分,而汽车租赁也已成为一个极具市场潜力的行业,面对飞速发展的汽车租赁市场,其经营管理的汽车种类繁多,样式各异,客户需求量大,客户要求高,每天的工作量大,一套完整的管理系统对于汽车租赁公司来说已经十分重要, 在信息飞速发展的今天,计算机在事务管理方面的应用已经相当广泛,但目前很多汽车租赁公司还停留在人工管理的水平上,显然不适应时代的发展,管理人员目前需要一套方便、计算机化的管

3、理信息系统来代替他们繁琐、低效的传统手工管理方式,并最终实现汽车租赁管理的全面自动化,使用汽车租赁管理系统可以规范企业的管理和经营行为,减少企业的经营成本,提高工作效率。汽车租赁管理系统是为汽车租赁公司提供的一个简单易用的系统,随着科技的发展,设备和管理的现代化,在实际工作中如何提高工作效率成为一个很重要的问题。而建立管理系统是一个很好的解决办法。1.2发展现状目前市场上相关系统并不多,毕竟汽车租赁行业也算是个新兴的产业,但由于它的飞速发展,市场也看到了它的设计价值,不过大都大同小异,一般市场上的汽车租赁管理系统多是针对汽车租赁的业务处理的一种系统,其它管理层面也有涉及,只是比较简略,一般包括

4、基本设置、综合管理、业务处理、查询报表、统计排行以及系统管理等模块,优点在于业务处理模块比较结合实际,所以对于日常的汽车租赁管理系统已经不成问题,但缺点也是存在的。如汽车照片的存储仍然采取相对路径的存储,用户密码的安全性做得不够,系统的扩展性也不是很全等。因此,我们决定利用所学知识设计一个汽车租赁管理系统,主要是针对汽车租赁的基本设置、综合管理、业务处理、查询报表、统计排行以及系统管理进行全面管理的系统,而并不再是只注重于业务处理,并且我们将解决一些问题,如汽车照片用二进制进行存取,用户密码进行双重加密,基本设置模块更好地体现系统的扩展性,报表的打印,SQL语句利用视图跟存储过程,以增强系统的

5、访问安全性,试图完善汽车租赁管理系统的安全性跟扩展性,让其更人性化,更好地服务于汽车租赁公司。第二章 需求分析2.1 功能需求经过调研及分析,汽车租赁管理系统主要完成以下功能:(1)综合管理此模块主要对客户(包括普通客户跟会员),员工以及汽车的具体信息进行管理,分为普通客户管理,会员管理,员工管理以及汽车管理。汽车管理:管理员可以对租赁公司现已拥有的汽车的具体信息进行查看,修改信息或者删除档案(当汽车报废或不再租赁时),而且是可以批量删除的,也可添加新购进的汽车的具体信息,以便更快地投入租赁市场,方便客户了解,以便做出更好的租赁选择。普通客户管理/会员管理:管理员对客户的资料(包括普通客户跟会

6、员)可以进行查看,添加新客户,修改一些基本资料以及删除客户档案;员工管理:对聘用的员工的资料也可以进行查看,对新聘用的员工添加其详细信息,修改一些基本信息以及删除员工档案。(2)业务管理此模块提供对汽车日常业务进行管理,包括汽车预租/出租/续租,汽车加油,汽车维修,还车结算,催车还交以及事故登记。汽车预租:员工可以根据客户需求帮其预租汽车,可以查看及修改预租的相关信息,但是不可以删除客户之前已经预租的汽车,管理员可以修改以及取消客户之前已经预租的汽车,可以查看已经预租汽车的情况等。汽车出租:员工可以根据客户的需求出租汽车,可以查看及修改出租的相关信息,但也不可以删除已经出租的汽车,而管理员则可

7、以修改,查看以及删除出租汽车的相关情况。当汽车出租时可以打印相关合同,双方签订合同。汽车续租:在客户出租汽车的还车时间三天之前可前往汽车租赁公司办理汽车续租手续,员工在检查完汽车的相关情况后,可根据实际情况调整还车时间以便达到续租的目的。汽车加油:员工可以进行记录相关加油情况,修改,删除加油记录。汽车维修:员工可以进行记录汽车相关维修情况,修改,删除维修记录。还车结算:员工对来还车的客户进行查询,统计其它费用(如事故费,罚金费等),算出总费用,收款后返回客户押金以及客户抵押件等。催车还交:员工可以根据出租汽车的还车时间,催促那些还车时间快到了的客户及时还车以免交罚金。事故登记:员工应该根据所出

8、租的汽车发生的事故的具体情况登记入表,以便以后查询,也可修改或删除信息。(3)基本设置管理此模块提供对汽车信息设置以及服务信息设置的全面管理功能。包括汽车设置管理与服务设置管理等。管理员可以对一些基本信息进行添加,修改,删除。汽车设置管理包括汽车类型设置,汽车名称设置,燃油类型设置;服务设置管理包括修理厂设置,加油站设置,保险类型设置。这项管理可以使管理员更好地根据租赁公司实际情况修改汽车以及服务的一些基本信息,使系统更适合其公司的运营,而且管理员只需在设置界面进行修改,而不需自己修改数据库,更体现出系统的人性化。(4)查询报表此模块分为加油记录查询,维修记录查询,汽车预租查询,汽车出租查询,

9、还车结算查询,事故记录查询,单车租赁查询,汽车资料查询,会员资料查询,客户资料查询以及员工资料查询。此模块可对客户,员工以及汽车相关业务的情况进行查询,对查询到的相关信息可以生成相应的Excel文件以及打印报表,尤其是汽车资料查询还可以生成显示照片的报表等。(5)统计排行此模块根据汽车出租次数的实际情况可以统计出本周/本月/全部排行,进而有利于管理员分析购买哪些汽车能使公司的利润最大化。还可以根据客户(包括普通客户和会员)租赁汽车的次数,统计出其排行,有利于管理员有针对性地对某些客户进行高质里的服务。(6)系统维护备份数据:可以提供直接备份数据库的相关数据还原数据:当系统出现异常状况时可以通过

10、此还原数据库的相关数据修改密码:可以账户修改登录密码,密码是采取双重MD5加密,使其更具安全性。2.2 数据需求 :系统外部 :实物或单据 :实物或信息流向:处理 :数据存储图2-1 综合管理流程图图2-2 汽车预租流程图图2-3 汽车出租、续租流程图图2-4 还车结算流程图图2-5 汽车加油、维修、事故流程图图2-6 基本设置流程图第三章 系统设计3.1系统结构此汽车租赁管理系统主要实现6个大的功能模块:综合管理、业务管理,基本设置,查询报表、统计排行、系统维护。每个模块有分成多详细的功能子模块。详情如下图3-1所示:图3-1 系统结构图3.2 数据库设计3.2.1 ER图 3.2.2 逻辑

11、结构 1、用户信息表 用户(uid , users, pwd, type) 分析:因为uid是主键,而且users不允许重复,所以主键只有一个属性,不存在部分依赖;又因为uid users,所以不存在非主属性对主键uid的传递依赖,所以该关系属于3NF。 2、客户信息表 客户(kid, ktype,kname,ksex,ksf,kdy,ktel,klic,kadd,ktimes) 分析:因为只有kid是主键,所以不存在部分依赖,因此该关系属于2NF。但存在非主属性kname通过ktel对主键kid的传递依赖,所以该关系不属于3NF。 3、员工信息表 员工(eid,ename,esex,esf,

12、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不允许重复,所以主键只有一个属性,不存

13、在部分依赖;又因为cid cnum,所以不存在非主属性对主键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是主键,所以不存在部分依赖,且

14、不存在非主属性对主键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,ki

15、d,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 用户,客户 where kid=uid kh_ht: select * from 客户 where(not exists(

16、select * from ht where kid=客户.kid) ht: select htid,kname,ktype,ktel,cname,ctype,cnum,renttype,renttime,returntime,mustmoney,des,regtime,rem,租赁.cid,租赁.kid,eidfrom 租赁,汽车,客户 where 租赁.cid = 汽车.cid and 客户.kid=租赁.kid oil:select oid,加油.cid,加油.eid,oilstation,price,oilvolume,ototal,odate,ename,cname,coil fro

17、m 加油,汽车,员工 where 加油.cid = 汽车.cid 2、存储过程 u_xg: create procedure u_xg ( users char(20), pwd char(35) ) asupdate 用户 set pwd=pwd where users=users kh_tj: create procedure kh_tj(users char(20),pwd char(35),ktype char(8),kname char(10),ksex char(5),ksf char(20),kdy char(10),ktel char(15),klic char(10),kad

18、d char(25) as declare kid numeric(4) begininsert into 用户 (users,pwd,type) values(users,pwd,ktype)select kid=uid from 用户 where users=usersinsert into 客户 (kid,ktype,kname,ksex,ksf,kdy,ktel,klic,kadd) values(kid,ktype,kname,ksex,ksf,kdy,ktel,klic,kadd)endem_tj: create procedure em_tj (users char(20),pw

19、d char(35),type char(8),ename char(10),esex char(6),esf char(20),etel char(15),eadd char(25) as declare eid numeric(4) begininsert into 用户 (users,pwd,type) values(users,pwd,type)select eid=uid from 用户 where users=usersinsert into 员工 values(eid,ename,esex,esf,etel,eadd)endcar_xg: create procedure car

20、_xg (cid numeric(4),cname char(10),ctype char(10),cnum char(10),cclor char(6),clsu char(10),coil char(6),cpho image,cmile numeric(5),cgm datetime,cbf datetime,cdep money,cdm money) as beginupdate 汽车 set cname=cname,ctype=ctype,cnum=cnum,cclor=cclor,clsu=clsu,coil=coil,cpho=cpho,cmile=cmile,cgm=cgm,c

21、bf=cbf,cdep=cdep,cdm=cdm where cid=cidend 3、触发器csta_xg: create trigger csta_xg on 租赁 for insert asupdate 汽车 set csta=(select renttype from inserted) where cid=(select cid from inserted)csta_xg2: create trigger csta_xg2 on 租赁 for update asif (select cid from deleted)(select cid from inserted)beginupd

22、ate 汽车 set csta=待租 where cid=(select cid from deleted)update 汽车 set csta=(select renttype from inserted) where cid=(select cid from inserted)update 汽车 set ctimes=ctimes+1 where cid=(select cid from inserted)update 汽车 set ctimes=ctimes-1 where cid=(select cid from deleted)endctimes_xg: create trigger

23、 ctimes_xg on 租赁 for insert as declare ctimes numeric(4)if (select renttype from inserted)=出租update 汽车 set ctimes=ctimes+1 where cid=(select cid from inserted)ht_change: create trigger ht_change on 租赁 for delete asupdate 汽车 set csta=待租 where cid=(select cid from deleted)3.2.4 数据库实现 数据库创建语句: IF EXIST

24、S (SELECT name FROM master.dbo.sysdatabases WHERE name = Ncar) DROP DATABASE carGOCREATE DATABASE car ON (NAME = Ncar_Data, FILENAME = NC:Program FilesMicrosoft SQL ServerMSSQLdatacar_Data.MDF , SIZE = 8, FILEGROWTH = 10%) LOG ON (NAME = Ncar_Log, FILENAME = NC:Program FilesMicrosoft SQL ServerMSSQL

25、datacar_Log.LDF , SIZE = 5, FILEGROWTH = 10%) COLLATE Chinese_PRC_CI_ASGO3.3用户控制系统 系统及数据库中用户访问控制体系可以用如下图3-2所示:图3-2 用户控制系统图3.4模块设计 3.4.1 汽车管理模块设计此模块实现:管理员可以对租赁公司现已拥有的汽车的具体信息进行查看,修改档案或者删除档案(当汽车报废或不再租赁时),而且是可以批量删除的,也可添加新购进的汽车的具体信息,以便更快地投入租赁市场,方便客户了解,以便做出更好的租赁选择。 此模块设计过程中,由于经常有大量的汽车照片需要保存,简便的方法是把图片存储在指定

26、的文件夹下,数据库中只保存图片所在的路径和图片名,但是这种方法对数据的管理很不方便,同时安全性和可靠性也不能保证;另一种方法是把图片数据存储在数据库中,在数据库中提供了Image数据类型,该类型存储的是可变长度的二进制数,因此要把保存到数据库中的图片文件的类型转换成二进制数据类型。利用MemoryStream类将图像文件以二进制的形式在数据库中直接进行读写操作。此模块采用第二种方法即把图片以二进制的形式存储在数据库中,该方案解决了汽车租赁管理系统中数据库存储图像数据的问题,提高了汽车租赁管理系统的应用功能和范围。由于图片的保存是一个独立的过程,在其它的模块开发中也可以方便的应用,提高了整个系统

27、开发的效率。 另外,考虑到系统的人性化,添加,修改以及删除等操作采取了批处理,即可以批量添加,批量修改以及批量删除;而在批量删除时要注意在选中的行中从后面往前删,避免出现沙漏效应。 3.4.2 基本设置模块设计此模块实现:提供对汽车信息设置以及服务信息设置的全面管理功能。包括汽车设置管理与服务设置管理等。管理员可以对一些基本信息进行添加,修改,删除。汽车设置管理包括汽车类型设置,汽车名称设置,燃油类型设置;服务设置管理包括修理厂设置,加油站设置,保险类型设置。这项管理可以使管理员更好地根据租赁公司实际情况修改汽车以及服务的一些基本信息,使系统更适合其公司的运营,而且管理员只需在设置界面进行修改

28、,而不需自己修改数据库,更体现出系统的人性化。第四章 系统实现4.1用户登录模块 1、界面如图4-1所示:图4-1 用户登录模块 2、重点代码 (1)、加密函数 Public Function 加密(ByVal strSource As String) As String dataToHash= (New System.Text.ASCIIEncoding).GetBytes(strSource) hashvalue = CType(System.Security.Cryptography.CryptoConfig.CreateFromName(MD5), System.Security.Cr

29、yptography.HashAlgorithm).ComputeHash(dataToHash) For i = 0 To 15 strresult += Hex(hashvalue(i).ToLower Next Return strresult End Function (2)、连接数据库 Public Sub 连接数据库() If type.Trim = 管理员 Then con.ConnectionString = server=.;database=car;user id=admin;password=admin ElseIf type.Trim = 员工 Then con.Con

30、nectionString = server=.;database=car;user id=employee;password=employee ElseIf type.Trim = 客户 Then con.ConnectionString = server=.;database=car;user id=kh;password=kh End If cmd.Connection = conEnd Sub4.2汽车管理模块实现1、 界面如图4-2所示:图4-2 汽车管理模块 2、重点代码 (1)、批量删除 Public Sub deletedgvs(ByRef dgv As DataGridVie

31、w, ByVal sql As String) count = dgv.SelectedRows.Count res = MsgBox(确定删除这 & count & 条记录?, 1 + 32 + 0, 提示) If res = 1 Then Try For i = count - 1 To 0 Step -1 cmd.CommandText = sql & dgv.SelectedRows(i).Cells(0).Value & con.Open() cmd.ExecuteNonQuery() dgv.Rows.Remove(dgv.SelectedRows(i) con.Close() Next Catch ex

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1