《汽车租赁管理系统原理课程设计最终版129310.docx》由会员分享,可在线阅读,更多相关《汽车租赁管理系统原理课程设计最终版129310.docx(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、长 沙 学 院课程设计说说明书题目汽车租赁管管理系统系(部)数学与计算算机科学专业(班级级)软件03班班姓名学号指导教师黄彩霞、刘刘欣起止日期2016.5.155-20116.5.27课程设计任任务书课程名称:数据库系系统原理课课程设计设计题目: 汽车租租赁管理系系统。已知技术参参数和设计计要求:题目:汽车车租赁管理理系统1、 某汽车租赁赁公司汽车车租赁管理理系统需要要如下信息息:工作人员信信息包括:工号、姓姓名、性别别、联系电电话等。客户信息包包括:身份份证号、姓姓名、性别别、所在单单位、联系系电话等。车辆信息包包括:车牌牌号、品牌牌、颜色、座座位数、日日租价格、日日租超公里里价格、月月租价
2、格、租租赁状态、购购入日期等等。车辆类别信信息包括:分类号,库库存数。其业务规则则描述如下下:一个工作人人员可以对对很多辆车车辆进行管管理,一辆辆车也可以以被多个工工作人员管管理;一辆辆车只能属属于一种车车辆类别,而而一种车辆辆类别可以以包含多辆辆车;一个个客户可以以租多辆不不同的车。2、系统功功能的基本本要求:可以实现对对车辆、租租赁客户的的查询,可可以查询汽汽车、客户户租赁历史史记录。可可以按类别别统计汽车车的租赁金金额和剩余余的库存数数,可以统统计某一年年龄客户群群体对某类类汽车的租租赁喜好,能能模拟客户户对汽车的的租借、归归还业务。 各阶段具具体要求:1、需求分分析阶段l 定义数据项项
3、的含义和和取值l 定义目标系系统的数据据流2、概念结结构设计阶阶段l 画出实体模模型E-RR图3、逻辑结结构设计阶阶段l 将实体模型型转化为关关系模型l 给出每个关关系的主关关键字和函函数依赖集集l 分析你所设设计的关系系数据库模模式是否属属于3NFF4、物理设设计阶段l 确定所有字字段的名称称、类型、宽宽度、小数数位数及完完整性约束束 l 确定数据库库及表的名名称及其组组成 l 确定索引文文件和索引引关键字5、数据库库安全及维维护设计阶阶段l 设计一个适适合的数据据库安全策策略(用户户身份认证证、访问权权限、视图图)l 为了实现复复杂的数据据完整性约约束,设计计适当的触触发器l 设计一个适适
4、合的数据据库备份策策略6、实施阶阶段l 要求所有操操作必须在在查询分析析器中用SSQL语句句或系统存存储过程完完成。设计工作量量:(1)软件件设计:完完成问题陈陈述中所提提到的所有有需求功能能。(2)论文文:要求撰撰写不少于于30000个文字的的电子文档档,详细说说明各阶段段具体要求求。工作计划:安排两周时时间进行课课程设计,软软件开发步步骤如下,第第一周完成成14,第第二周完成成58,论论文同步进进行;1)选定定题目2)需求求分析3)概念念结构设计计4)逻辑辑结构设计计5)物理理设计6)数据据库安全及及维护设计计7)数据据库上机实实现8)答辩辩注意事项n 提交电子文文档 长沙学院课课程设计任
5、任务书(每学生生1份) 长沙学院课课程设计论论文(每学生生1份) 长沙学院课课程设计鉴鉴定表(每学生生1份)指导教师签签名: 日期期: 教研室主任任签名: 日日期:系主任签名名: 日期:长沙学院课课程设计鉴鉴定表姓名学号专业软件工程班级03设计题目汽车租赁管管理系统指导教师刘欣、黄彩彩霞指导教师意意见:评定等级: 教师签签名: 日期期: 答辩小组意意见:评定等级:答辩小小组长签名名:日期期:教研室意见见:教研室主任任签名: 日日期: 系(部)意意见:系主任签名名:日期:说明课程设计成成绩分“优秀”、“良好”、“及格”、“不及格”四类;目 录录一、引言61.1编编写目的61.2参参考资料6二、需
6、求求规约72.1 业业务描述72.2 需需求分析7三、数据据库环境说说明8四、数据据库的命名名规则84.1 数数据库对象象命名规则则64.2 数数据项编码码规则6五、逻辑辑设计9六、物理理设计116.1表表汇总116.1.11表car:车辆信息息表126.1.22表carcclasss:汽车分类类表表126.1.33表custtomerr:客户信息息表136.1.44表workker1:工作人员员表136.1.55表rentt:租赁表146.1.66表manaage:管理表156.2视视图的设计计156.3存存储过程的的设计176.4触触发器的设设计206.4JJAVA设设计24七、安全全性设
7、计267.1防防止用户直直接操作数数据库的方方法267.2用用户帐号密密码的加密密方法267.3角角色与权限限26八、数据据库管理与与维护说明明278.1说说明278.2课课程设计总总结28九、 附录录 源代码码.2999.1数数据库源代代码299.2连连接数据库库代码40一、引言1.1 编写目的本文档是汽汽车租赁管管理系统的的组成部分分,编写数数据库设计计文档的目目的是:明明确数据库库的表名、字字段名等数数据信息,用用来指导后后期的数据据库脚本的的开发。本本文档的读读者对象是需求求人员、系统设计计人员、开发人员和测试人员。为了加快汽汽车租赁管管理自动化化的步伐,提提高汽车租租赁的管理理业务处
8、理理效率,建建立汽车租租赁管理系系统,并且且尽可能地地减少汽车车租赁管理理的重复性性和低效性性,已变得得十分必要要。该课程程设计以某某汽车租赁赁应用背景景,通过研研究当前汽汽车租赁系系统的管理理现状、存存在问题以以及现实需需求,设计计一个针对对汽车租赁赁管理工作作的管理信信息系统。该该系统能够够提供较为为完备的功功能,对于于提高工作作效率、加加快汽车租租赁管理的的自动化具具有较为重重要的意义义。汽车租租赁管理系系统是汽车车租赁公司司提供的一一个简单易易用的系统统,随着科科技的发展展,设备和和管理的现现代化,在在实际生活活中如何提提高工作效效率成为一一个很重要要的问题,所所以建立这这种管理系系统
9、是非常常好的解决决方法。1.2 参考资料资料名称作者文件编号、版版本数据库系系统概论王珊、萨师师煊2006年年5月第44版MySQQL入门经经典王雨竹、高高飞2013年年4月Javaa基础教程程吴仁群2009年年4月二、 需求规约2.1 业业务描述2.1.11创建背景景该数据库建建立于MyySQL,环环境为wiindowws7系统名称:汽车租赁赁管理系统统。 系统统的开发者者:小组成成员系统的用户户:租车客客户以及租租赁公司的的工作人员员。 2.1.22业务流程程及工作内内容了解到题目目需求后,画画好ER图图,写出其其关系模式式,并用MMySQLL建立数据据库,新建建表,定义义好表名,建建立视
10、图、存存储过程以以及触发器器。系统功功能的基本本要求是可可以实现对对车辆、租租赁客户的的查询,可可以查询汽汽车、客户户租赁历史史记录。可可以按类别别统计汽车车的租赁金金额和剩余余的库存数数,可以统统计某一年年龄客户群群体对某类类汽车的租租赁喜好,能能模拟客户户对汽车的的租借、归归还业务。2.2 需需求分析2.2.11功能需求求(1)车辆辆管理 主要是表表示管理员员可以对租租赁公司现现有的汽车车的具体信信息进行管管理,修改改汽车基本本信息,包包括车牌号号、汽车颜颜色、购入入日期、类类别及租赁赁状态等,也也可以添加加新购进来来的汽车基基本信息,以以便更快的的投入租赁赁市场,方方便客户了了解最新车车
11、辆信息以以及做出更更好的租赁赁选择。(2)业务务管理主要提供对对汽车的日日常业务进进行管理,如如查询指定定汽车的租租赁状态,被被租赁的车车的车牌号号,所生成成的订单号号,所租车车的种类,租租车时间、归归还时间及及租赁金额额,查询租租车客户的的基本信息息,以便于于管理员更更好的管理理车辆系统统,保障系系统安全性性。(1) 统计主要是实现现统计某一一年龄客户户群体对某某类汽车的的租赁喜好好,可以通通过客户的的年龄算出出所租车辆辆的种类一一共有多少少辆,可以以按类别统统计汽车的的租赁金额额和剩余的的库存数,以以便管理员员更好地了了解市场行行情,从而而尽可能获获得更大收收益。三、数据库库环境说明明3.
12、1 数数据库环境境数据库实例例数据库系统统数据库部署署环境数据库设计计工具数据库存放放位置说明汽车租赁MySQLL,版本44.0Windoows7Naviccat ffor MMySQLLD:PrrograamFillesMySQLL实例用途说说明四、数据库库的命名规规则4.1 数数据库对象象命名规则则数据库对象象命名规则备注表tablee功能描述述字符串例如:Caar表视图View功功能描述字字符串例如:V11视图存储过程Proc功功能描述字字符串例如:P11存储过程程触发器Triggger功能能描述字符符串例如:T11触发器4.2 数数据项编码码规则数据项命名规则数据类型长度备注租赁状态
13、两位二进进制码bit2例如:000车牌号湘L+(三三位整数)+SBvarchhar10例如:湘LL520SSB客户账号4310223+三位位整数varchhar10例如:43310233001订单号四位整数varchhar10例如:14401租赁日期年-月-日日 时间datettime10例如:20016-005-200 04五、逻辑设设计5.1 系系统E-RR图设计 图11 E-R图 图图2 MMySQLL中E-RR图5.2创建建关系模式式1.工作人人员(工号号、密码、姓名名、性别、联联系电话)2.客户信信息(身份份证号、密码、姓名名、性别、所所在单位、联联系电话)3.车辆信信息(车牌牌号、
14、品牌牌、座位数数、颜色、租租赁状态、购购入日期、分类号)4.车辆类类别(分类类号、库存存数、日租租价格、日日租超公里里价格、月月租价格、月月租超公里里价格、品品牌)5.管理(工号号、车牌号号)备注:(工工号和车牌牌号共同作作为管理表表的主键,同同时也是外外键)6.租赁(订单单号、身份证号号、车牌号、租租赁日期、归归还日期、租租赁总金额额)备注:(主主键是加下下划线,外外键是加波波浪线)完全依赖:工号姓名 ,工工号密码,工号号性别,工工号联系电话话客户身份证证号客户姓名,客户户身份证号号密码,客户户身份证号号客户性别,客户户身份证号号客户所在单单位,客户户身份证号号客户联系电电话 车牌号品牌,车
15、车牌号座位数,车车牌号颜色,车车牌号购入日期期,车牌号号分类号 分类号库存数,分分类号日租价格格,分类号号日租超公公里价格,分类号月租价格,分类号月租超公公里价格,分类号品牌 订单号号客户身份份证号,订订单号车牌号,订订单号租赁日期期,订单号号归还日期,订单单号租赁金额额部分依赖:(工号,车车牌号)(分别决定定)姓名、密码码、性别、联联系电话,品品牌、座位位数、颜色色、租赁状状态、购入入日期、分分类号传递依赖:订单号(分别决决定)客户户的姓名、密码码、性别、所所在单位、联联系电话、品品牌、分类类号、座位位数、颜色色、租赁状状态、购入入日期六、物理设设计6.1表汇汇总表名功能说明car存储车辆的
16、的信息carcllass存储车辆类类别的信息息workeer1存储工作人人员的信息息rent存储租赁的的信息custoomer存储客户的的信息managge存储工作人人员与车辆辆的联系6.1.11表caar:车辆信息息表表名car数据库用户户Test主键CarNoo索引字段CarCllassNNo序号字段名称数据类型允许为空YY/N唯一Y/N区别度默认值约束条件/说明1CarNoovarchhar(110)NY高无主键2CarCllassNNovarchhar(110)NN高无外键3CarSttatebit(22)NN低00租赁状态4CardaatedateNN低无购入日期5CarCoolor
17、varchhar(110)NN低无汽车颜色sql脚本本DROP TABLLE IFF EXIISTS carr;CREATTE TAABLE carr ( CaarNo varrcharr(10) NOTT NULLL, CaarCollor varcchar(10) NOT NULLL, CaarDatte ddate NOT NNULL, CaarStaa biit(100) NOOT NUULL, CaarClaassNoo vaarchaar(100) NOOT NUULL, PRIIMARYY KEYY (CCarNoo), KEYY CaarClaassNoo (CarCClass
18、sNo), CONNSTRAAINT CarrClasssNo FORREIGNN KEYY (CCarCllassNNo) REFEERENCCES carcclasss (CarCClasssNo)6.1.22表caarclaass:车辆类类别表表名carcllass数据库用户户Test主键CarCllassNNo序号字段名称数据类型允许为空YY/N唯一Y/N区别度默认值约束条件/说明1CarCllassNNovarchhar(110)NY高无主键2CarCllassCCntvarchhar(110)NN低无库存数3CarCllassSSeatbit(22)NN低无座位数4CarCllas
19、sDDayPrrice22dateNN低无日租价格5CarCllassDDayPrrice11varchhar(110)NN低无日租超公里里价格6CarCllassMMonthhPriccevarchhar(110)NN低无月租价格7CarCllassBBranddvarchhar(110)NN低无车辆品牌sql脚本本DROP TABLLE IFF EXIISTS carrclasss;CREATTE TAABLE carrclasss ( CaarClaassNoo vaarchaar(100) NOOT NUULL, CaarClaassCnnt vvarchhar(110) NNOT N
20、NULL, CaarClaassDaayPriice1 varrcharr(10) NOTT NULLL, CaarClaassDaayPriice2 varrcharr(10) NOTT NULLL, CaarClaassMoonthPPricee vaarchaar(100) NOOT NUULL, CaarClaassBrrand varrcharr(10) NOTT NULLL, CaarClaassseeat varcchar(10) NOT NULLL, PRIIMARYY KEYY (CCarCllassNNo)6.1.33表cuustommer:客户信信息表表名custoome
21、r数据库用户户Test主键CusNoo序号字段名称数据类型允许为空YY/N唯一Y/N区别度默认值约束条件/说明1CusNoovarchhar(110)NY高无主键2CusPaasswoordvarchhar(110)NN高无登录密码3CusNaamevarchhar(110)NN低无客户姓名4CusSeexvarchhar(110)NN低无客户性别5CusAggevarchhar(110)NN低无客户年龄6CusPhhonevarchhar(110)NN低无客户电话7CusCoompannyvarchhar(110)NN低无公司sql脚本本DROP TABLLE IFF EXIISTS cus
22、stomeer;CREATTE TAABLE cusstomeer ( CuusNo varrcharr(10) NOTT NULLL, CuusNamme vvarchhar(110) NNOT NNULL, CuusSexx vaarchaar(2) NOTT NULLL, CuusAgee vaarchaar(4) NOTT NULLL, CuusPhoone varcchar(20) NOT NULLL, CuusCommpanyy vaarchaar(200) NOOT NUULL, CuusPasssworrd vvarchhar(110) NNOT NNULL, PRIIMARY
23、Y KEYY (CCusNoo)6.1.44表woorkerr1:工作人员员信息表表名workeer1数据库用户户Test主键WorkNNo序号字段名称数据类型允许为空YY/N唯一Y/N区别度默认值约束条件/说明1WorkNNovarchhar(110)NY高无主键2WorkPPasswwordvarchhar(110)NN低无密码3WorkNNamevarchhar(110)NN低无姓名4WorkSSexvarchhar(110)NN低无性别5WorkPPhoneevarchhar(110)NN低无电话sql脚本本DROP TABLLE IFF EXIISTS worrker11;CREAT
24、TE TAABLE worrker11 ( WoorkNoo vaarchaar(100) NOOT NUULL DDEFAUULT , WoorkPaasswoord varcchar(10) DEFAAULT NULLL, WoorkNaame varcchar(10) DEFAAULT NULLL, WoorkSeex vvarchhar(110) DDEFAUULT NNULL, WoorkPhhone varrcharr(10) DEFFAULTT NULLL, PRIIMARYY KEYY (WWorkNNo)6.1.55表reent:租赁表表表名rent数据库用户户Test主键R
25、ecorrdNo索引CarNoo、CussNo序号字段名称数据类型允许为空YY/N唯一Y/N区别度默认值约束条件/说明1RecorrdNovarchhar(110)NY高无主键2CarNoovarchhar(110)NN高无外键3CusNoovarchhar(110)NN低无外键4RecorrdCosstvarchhar(110)NN低无总金额5RecorrdRenntDattevarchhar(110)NN低无租赁时间6RecorrdRetturnDDatevarchhar(110)NN低无归还时间sql脚本本DROP TABLLE IFF EXIISTS rennt;CREATTE TAA
26、BLE rennt ( ReecorddNo varcchar(10) NOT NULLL, ReecorddRenttDatee daatetiime NNOT NNULL, ReecorddRetuurnDaate dateetimee NOTT NULLL, CuusNo varrcharr(10) NOTT NULLL, CaarNo varrcharr(10) NOTT NULLL, ReecorddCostt vaarchaar(100) DEEFAULLT NUULL, PRIIMARYY KEYY (RRecorrdNo), KEYY CuusNo (CCusNoo), KEY
27、Y CaarNo (CCarNoo), CONNSTRAAINT CarrNo FOREEIGN KEY (CaarNo) REEFEREENCESS caar (CarrNo), CONNSTRAAINT CussNo FOREEIGN KEY (CuusNo) REEFEREENCESS cuustommer (CuusNo)6.1.66表maanagee:管管理表表名Wmanaage数据库用户户Test主键CarNoo、WorrkNo索引CarNoo序号字段名称数据类型允许为空YY/N唯一Y/N区别度默认值约束条件/说明1WorkNNovarchhar(110)NY高无主键2CarNoo
28、varchhar(110)NN高无主键sql脚本本DROP TABLLE IFF EXIISTS mannege;CREATTE TAABLE mannege ( WoorkNoo vaarchaar(100) NOOT NUULL DDEFAUULT , CaarNo varrcharr(10) NOTT NULLL DEEFAULLT , PRIIMARYY KEYY (WWorkNNo,CarNNo), KEYY CaarNo (CCarNoo), CONNSTRAAINT mannege_ibfkk_1 FOREEIGN KEY (CaarNo) REEFEREENCESS caar
29、(CarrNo), CONNSTRAAINT WorrkNo FORREIGNN KEYY (WWorkNNo) REFEERENCCES workker1 (WWorkNNo)6.2视图图的设计6.2.11 视图V1:按车辆的的类别统计计汽车的租租赁金额和和数库存数数关键代码:DROP VIEWW IF EXISSTS v1;CREATTE ALLGORIITHM=UNDEEFINEED DEEFINEER=rrootloocalhhost SQLL SECCURITTY DEEFINEER VIIEW v1 AS sselecct ccarcllass.CaarClaassNoo ASS
30、CaarClaassNoo,ccarcllass.CaarClaassCnnt AAS CCarCllassCCnt fromm caarclaass grouup byy caarclaass.CarrClasssNo ;图图3 按类类别统计汽汽车的租赁赁金额和剩剩余的库存存6.2.22视图VV2:通通过订单号号了解到所所租车辆的的类别号及及类别名关键代码:DROP VIEWW IF EXISSTS v2;CREATTE ALLGORIITHM=UNDEEFINEED DEEFINEER=rrootloocalhhost SQLL SECCURITTY DEEFINEER VIIEW v2
31、AS sselecct rrent.ReecorddNo AS RecoordNoo,ccar.CarrClasssNo AS CarrClasssNo,caarclaass.CarrClasssBraand AS CarCClasssBrannd ffrom (rrent joiin ccar) joiin ccarcllass) whhere (rrent.CaarNo = car.CaarNo) annd (car.CaarClaassNoo = carrclasss.CarCClasssNo) grroup by car.CaarClaassNoo ;图4 订单单号求所租租车辆的类类别
32、号及类类别名6.2.33 视图V3: 统计某某一年龄阶阶段对汽车车类别的喜喜好,并统统计相应人人数关键代码:DROP VIEWW IF EXISSTS v3;CREATTE ALLGORIITHM=UNDEEFINEED DEEFINEER=rrootloocalhhost SQLL SECCURITTY DEEFINEER VIIEW v3 AS sselecct ccustoomer.CuusAgee ASS CuusAgee,ccarcllass.CaarClaassBrrand AS CarrClasssBraand,counnt(ccustoomer.CuusAgee) AAS CC
33、ountt(cusstomeer.CuusAgee) ffrom (carcclasss jooin custtomerr) jjoin rennt) joinn caar) wherre (cusstomeer.CusNNo = reent.CussNo) andd (rrent.CaarNo = car.CaarNo) annd (car.CaarClaassNoo = carrclasss.CarCClasssNo) grroup by carcclasss.CCarCllassBBrandd ;图4统计某某一年龄阶阶段对汽车车类别的喜喜好及相应应人数6.2.33 视图V4: 查询所所输
34、入的车车牌号的车车现在所处处 状态关键代码:DROP VIEWW IF EXISSTS v4;CREATTE ALLGORIITHM=UNDEEFINEED DEEFINEER=rrootloocalhhost SQLL SECCURITTY DEEFINEER VIIEW v4 AS sselecct ccar.CarrStatte AAS CCarSttate,caar.CarNNo AAS CCarNoo,ccarcllass.CaarClaassBrrand AS CarrClasssBraand fromm (ccar joinn caarclaass) wheere (carr.C
35、CarCllassNNo = caarclaass.CarrClasssNo) ;图5 查询询所输入车车牌号的现现在状态6.3存储储过程 6.3.11存储过程程P1 功能:查询询每辆车的的状态和库库存数,执执行存储过过程关键代码:DROPP PROOCEDUURE IIF EXXISTSS P11;CREATTE DEEFINEER=rrootloocalhhost PROOCEDUURE P1()beginn sellect CarNNo,CaarStaate,CCarCllassBBrandd,CarrClasssCntt froom caar,caarclaasswheree carr.
36、CarrClasssNo=carcclasss.CarrClasssNo;end;图6 执行行结果6.3.22存储过程程P2 功能: 查查询所输入入客户账号号的租赁历历史记录,执执行存储过过程关键代码:参数:CCusNoo varrcharr(10)DROP PROCCEDURRE IFF EXIISTS P2;CREATTE PRROCEDDURE P2(CussNo vvarchhar(110)Beginn selecct rentt.ReccordNNo,reent.RRecorrdRenntDatte,reent.RRecorrdRetturnDDate,rentt.ReccordCC
37、ost,car.CarNNo,caarclaass.CCarCllassBBranddfrom rentt,carr,carrclasss wherre CusNNo=CuusNo and rentt.CarrNo=ccar.CCarNoo andd carr.CarrClasssNo=carcclasss.CarrClasssNo; end图7 输入入客户账号号执行结果果6.3.33存储过程程P3 功能: 查查询所输入入车牌号的的被租赁历历史记录,执执行存储过过程关键代码:参数CaarNo varcchar(10)DROP PROCCEDURRE IFF EXIISTS P3;CREATTE
38、 PRROCEDDURE P3(IN CCarNoo varrcharr(10)beginnselecct ReecorddNo,RRecorrdRenntDatte,ReecorddRetuurnDaate,RRecorrdCosst,CuusNofrom rentt wherre CaarNo=newCCarNoo; end图8 输入入车牌号执执行结果 6.3.4存储过过程P44 功能:通过过输入订单单号查询订订单信息,执执行存储过过程。关键代码:参数neewReccordNNo vaarchaar(100)DROP PROCCEDURRE IFF EXIISTS P5;beginnsel
39、ecct ReecorddRenttDatee,ReccordRReturrnDatte,CuusNo,CarNNo,ReecorddCosttfrom renttwheree ReccordNNo=neewReccordNNo;end图9 执行行结果6.4触发发器6.4.11触发器T1 功能:当租租赁公司新新购入一辆辆汽车时,输输入新的车车牌号及信信息,此车车辆所对应应车辆类别别的库存数数自动增加加,购入多多辆时增加加相应数量量的库存。关键代码:DROPP TRIIGGERR IF EXISSTS T1;CREATTE TRRIGGEER TT1 AAFTERR INSSERT ON car FORR EACCH ROOW beginndeclaare cc intt;set cc=(seelectt CarrClasssCntt froom caarclaass wheere CCarCllassNNo=neew.CaarClaassNoo); upddate carcclasss sett CarrClasssCntt=c+11 wheere CCarCllassNNo=neew.CaarClaassNoo;end ;DEELIMII
限制150内