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

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(汽车租赁管理系统原理课程设计最终版.doc)为本站上传会员【精****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

汽车租赁管理系统原理课程设计最终版.doc

1、 长 沙 学 院 课程设计说明书 题目 汽车租赁管理系统 系(部) 数学与计算机科学 专业(班级) 软件03班 姓名 学号 指导教师 黄彩霞、刘欣 起止日期 2016.5.15-2016.5.27 课程设计任务书 课程名称:数据库系统原理课程设计 设计题目: 汽车租赁管理系统。 已知技术参数和设计要求: 题目:汽车租赁管理系统 1、 某汽车租赁公司汽车租赁管理系统需要如下信息: 工作人员信息包括:工号、姓名、性别、联系电话等。 客户信息包括:身份证号、姓名、性别、所

2、在单位、联系电话等。 车辆信息包括:车牌号、品牌、颜色、座位数、日租价格、日租超公里价格、月租价格、租赁状态、购入日期等。 车辆类别信息包括:分类号,库存数。 其业务规则描述如下: 一个工作人员可以对很多辆车辆进行管理,一辆车也可以被多个工作人员管理;一辆车只能属于一种车辆类别,而一种车辆类别可以包含多辆车;一个客户可以租多辆不同的车。 2、系统功能的基本要求: 可以实现对车辆、租赁客户的查询,可以查询汽车、客户租赁历史记录。可以按类别统计汽车的租赁金额和剩余的库存数,可以统计某一年龄客户群体对某类汽车的租赁喜好,能模拟客户对汽车的租借、归还业务。 各阶段具体要求: 1、需求

3、分析阶段 l 定义数据项的含义和取值 l 定义目标系统的数据流 2、概念结构设计阶段 l 画出实体模型E-R图 3、逻辑结构设计阶段 l 将实体模型转化为关系模型 l 给出每个关系的主关键字和函数依赖集 l 分析你所设计的关系数据库模式是否属于3NF 4、物理设计阶段 l 确定所有字段的名称、类型、宽度、小数位数及完整性约束 l 确定数据库及表的名称及其组成 l 确定索引文件和索引关键字 5、数据库安全及维护设计阶段 l 设计一个适合的数据库安全策略(用户身份认证、访问权限、视图) l 为了实现复杂的数据完整性约束,设计适当的触发器 l 设计一个适合的数据

4、库备份策略 6、实施阶段 l 要求所有操作必须在查询分析器中用SQL语句或系统存储过程完成。 设计工作量: (1)软件设计:完成问题陈述中所提到的所有需求功能。 (2)论文:要求撰写不少于3000个文字的电子文档,详细说明各阶段具体要求。 工作计划: 安排两周时间进行课程设计,软件开发步骤如下,第一周完成1~4,第二周完成5~8,论文同步进行; 1) 选定题目 2) 需求分析 3) 概念结构设计 4) 逻辑结构设计 5) 物理设计 6) 数据库安全及维护设计 7) 数据库上机实现 8) 答辩 注意事项

5、n 提交电子文档 Ø 长沙学院课程设计任务书 (每学生1份) Ø 长沙学院课程设计论文 (每学生1份) Ø 长沙学院课程设计鉴定表 (每学生1份) 指导教师签名:       日期:      教研室主任签名:        日期:         系主任签名:          日期:         长沙学院课程设计鉴定表 姓名 学号 专业 软件工程 班级 03 设计题目 汽车租赁管理系统 指导教师 刘欣、黄彩霞 指导教师意见: 评定等级: 教

6、师签名: 日期: 答辩小组意见: 评定等级:     答辩小组长签名:     日期:     教研室意见: 教研室主任签名: 日期:   系(部)意见: 系主任签名:        日期:      说明 课程设计成绩分“优秀”、“良好”、“及格”、“不及格”四类; 目 录 一、引言 6 1.1 编写目的 6 1.2 参考资料 6 二、 需求规约 7 2.1 业务描述 7 2.2 需求分析 7 三、 数据库环境说明 8

7、 四、 数据库的命名规则 8 4.1 数据库对象命名规则 6 4.2 数据项编码规则 6 五、 逻辑设计 9 六、 物理设计 11 6.1 表汇总 11 6.1.1 表[car]:[车辆信息表] 12 6.1.2 表[carclass]:[汽车分类表表] 12 6.1.3 表[customer]:[客户信息表] 13 6.1.4 表[worker1]:[工作人员表] 13 6.1.5 表[rent]:[租赁表] 14 6.1.6 表[manage]:[管理表] 15 6.2 视图的设计 15 6.3 存储过程的设计 17 6.4 触发器的设计 20 6.4 JA

8、VA设计 24 七、 安全性设计 26 7.1 防止用户直接操作数据库的方法 26 7.2 用户帐号密码的加密方法 26 7.3 角色与权限 26 八、 数据库管理与维护说明 27 8.1 说明 27 8.2 课程设计总结 28 九、 附录 源代码...........................................................29 9.1 数据库源代码 29 9.2 连接数据库代码 40 一、引言 1.1 编写目的 本文档是汽车租赁管理系统的组成部分,编写数据库设计文档的目的是:明确数据库的表名、字段名等数据信息,用来指导

9、后期的数据库脚本的开发。本文档的读者对象是需求人员、系统设计人员、开发人员和测试人员。 为了加快汽车租赁管理自动化的步伐,提高汽车租赁的管理业务处理效率,建立汽车租赁管理系统,并且尽可能地减少汽车租赁管理的重复性和低效性,已变得十分必要。该课程设计以某汽车租赁应用背景,通过研究当前汽车租赁系统的管理现状、存在问题以及现实需求,设计一个针对汽车租赁管理工作的管理信息系统。该系统能够提供较为完备的功能,对于提高工作效率、加快汽车租赁管理的自动化具有较为重要的意义。汽车租赁管理系统是汽车租赁公司提供的一个简单易用的系统,随着科技的发展,设备和管理的现代化,在实际生活中如何提高工作效率成为一个很重要

10、的问题,所以建立这种管理系统是非常好的解决方法。 1.2 参考资料 资料名称 作者 文件编号、版本 《数据库系统概论》 王珊、萨师煊 2006年5月第4版 《MySQL入门经典》 王雨竹、高飞 2013年4月 《Java基础教程》 吴仁群 2009年4月 二、 需求规约 2.1 业务描述 2.1.1创建背景 该数据库建立于MySQL,环境为windows7 系统名称:汽车租赁管理系统。 系统的开发者:小组成员 系统的用户:租车客户以及租赁公司的工作人员。 2.1.2业务流程及工作内容 了解到题目需求后,画好ER图,写出其关系模式,

11、并用MySQL建立数据库,新建表,定义好表名,建立视图、存储过程以及触发器。系统功能的基本要求是可以实现对车辆、租赁客户的查询,可以查询汽车、客户租赁历史记录。可以按类别统计汽车的租赁金额和剩余的库存数,可以统计某一年龄客户群体对某类汽车的租赁喜好,能模拟客户对汽车的租借、归还业务。 2.2 需求分析 2.2.1功能需求 (1)车辆管理 主要是表示管理员可以对租赁公司现有的汽车的具体信息进行管理,修改汽车基本信息,包括车牌号、汽车颜色、购入日期、类别及租赁状态等,也可以添加新购进来的汽车基本信息,以便更快的投入租赁市场,方便客户了解最新车辆信息以及做出更好的租赁选择。 (2

12、)业务管理 主要提供对汽车的日常业务进行管理,如查询指定汽车的租赁状态,被租赁的车的车牌号,所生成的订单号,所租车的种类,租车时间、归还时间及租赁金额,查询租车客户的基本信息,以便于管理员更好的管理车辆系统,保障系统安全性。 (1) 统计 主要是实现统计某一年龄客户群体对某类汽车的租赁喜好,可以通过客户的年龄算出所租车辆的种类一共有多少辆,可以按类别统计汽车的租赁金额和剩余的库存数,以便管理员更好地了解市场行情,从而尽可能获得更大收益。 三、数据库环境说明 3.1 数据库环境 数据库实例 数据库系统 数据库部署环境 数据库设计工具 数据库存放位置 说明 汽车租赁 My

13、SQL,版本4.0 Windows7 Navicat for MySQL D:\ProgramFiles\ MySQL 实例用途说明 四、数据库的命名规则 4.1 数据库对象命名规则 数据库对象 命名规则 备注 表 table功能描述字符串 例如:Car表 视图 View功能描述字符串 例如:V1视图 存储过程 Proc功能描述字符串 例如:P1存储过程 触发器 Trigger功能描述字符串 例如:T1触发器 4.2 数据项编码规则 数据项 命名规则 数据类型 长度 备注 租赁状态 两位二进制码 bit 2 例如:00

14、车牌号 湘L+(三位整数)+SB varchar 10 例如:湘L520SB 客户账号 431023+三位整数 varchar 10 例如:431023001 订单号 四位整数 varchar 10 例如:1401 租赁日期 年-月-日 时间 datetime 10 例如:2016-05-20 04 五、逻辑设计 5.1 系统E-R图设计 图1 E-R图 图2 MySQL中E-R图 5.2创

15、建关系模式 1.工作人员(工号、密码、姓名、性别、联系电话) 2.客户信息(身份证号、密码、姓名、性别、所在单位、联系电话) 3.车辆信息(车牌号、品牌、座位数、颜色、租赁状态、购入日期、分类号) 4.车辆类别(分类号、库存数、日租价格、日租超公里价格、月租价格、月租超公里价格、品牌) 5.管理(工号、车牌号)备注:(工号和车牌号共同作为管理表的主键,同时也是外键) 6.租赁(订单号、身份证号、车牌号、租赁日期、归还日期、租赁总金额) 备注:(主键是加下划线,外键是加波浪线) 完全依赖:工号→姓名 ,工号→密码,工号→性别,工号→联系电话 客户身份证号→客户姓名,客户身份证号

16、→密码,客户身份证号→客户性别,客户身份证号→客户所在单位,客户身份证号→客户联系电话 车牌号→品牌,车牌号→座位数,车牌号→颜色,车牌号→购入日期,车牌号→分类号 分类号→库存数,分类号→日租价格,分类号→日租超公里价格,分类号→ 月租价格,分类号→月租超公里价格,分类号→品牌 订单号→客户身份证号,订单号→车牌号,订单号→租赁日期,订单号→归还 日期,订单号→租赁金额 部分依赖:(工号,车牌号)→(分别决定)姓名、密码、性别、联系电话,品牌、座位数、颜色、租赁状态、购入日期、分类号 传递依赖:订单号→(分别决定)客户

17、的姓名、密码、性别、所在单位、联系电话、品牌、分类号、座位数、颜色、租赁状态、购入日期 六、物理设计 6.1表汇总 表名 功能说明 car 存储车辆的信息 carclass 存储车辆类别的信息 worker1 存储工作人员的信息 rent 存储租赁的信息 customer 存储客户的信息 manage 存储工作人员与车辆的联系 6.1.1表[car]:[车辆信息表] 表名 car 数据库用户 Test 主键 CarNo 索引字段 CarClassNo 序号 字段名称 数据类型 允许为空Y/N 唯一 Y/N 区别度 默认值

18、约束条件/说明 1 CarNo varchar(10) N Y 高 无 主键 2 CarClassNo varchar(10) N N 高 无 外键 3 CarState bit(2) N N 低 00 租赁状态 4 Cardate date N N 低 无 购入日期 5 CarColor varchar(10) N N 低 无 汽车颜色 sql脚本 DROP TABLE IF EXISTS `car`; CREATE TABLE `car` ( `CarNo` varchar(10) NOT NULL

19、 `CarColor` varchar(10) NOT NULL, `CarDate` date NOT NULL, `CarSta` bit(10) NOT NULL, `CarClassNo` varchar(10) NOT NULL, PRIMARY KEY (`CarNo`), KEY `CarClassNo` (`CarClassNo`), CONSTRAINT `CarClassNo` FOREIGN KEY (`CarClassNo`) REFERENCES `carclass` (`CarClassNo`)) 6.1.2表[ca

20、rclass]:[车辆类别表] 表名 carclass 数据库用户 Test 主键 CarClassNo 序号 字段名称 数据类型 允许为空Y/N 唯一 Y/N 区别度 默认值 约束条件/说明 1 CarClassNo varchar(10) N Y 高 无 主键 2 CarClassCnt varchar(10) N N 低 无 库存数 3 CarClassSeat bit(2) N N 低 无 座位数 4 CarClassDayPrice2 date N N 低 无 日租价格 5 CarCla

21、ssDayPrice1 varchar(10) N N 低 无 日租超公里价格 6 CarClassMonthPrice varchar(10) N N 低 无 月租价格 7 CarClassBrand varchar(10) N N 低 无 车辆品牌 sql脚本 DROP TABLE IF EXISTS `carclass`; CREATE TABLE `carclass` ( `CarClassNo` varchar(10) NOT NULL, `CarClassCnt` varchar(10) NOT NULL, `Ca

22、rClassDayPrice1` varchar(10) NOT NULL, `CarClassDayPrice2` varchar(10) NOT NULL, `CarClassMonthPrice` varchar(10) NOT NULL, `CarClassBrand` varchar(10) NOT NULL, `CarClassseat` varchar(10) NOT NULL, PRIMARY KEY (`CarClassNo`)) 6.1.3表[customer]:[客户信息表] 表名 customer 数据库用户 Test 主键

23、 CusNo 序号 字段名称 数据类型 允许为空Y/N 唯一 Y/N 区别度 默认值 约束条件/说明 1 CusNo varchar(10) N Y 高 无 主键 2 CusPassword varchar(10) N N 高 无 登录密码 3 CusName varchar(10) N N 低 无 客户姓名 4 CusSex varchar(10) N N 低 无 客户性别 5 CusAge varchar(10) N N 低 无 客户年龄 6 CusPhone varchar(10)

24、 N N 低 无 客户电话 7 CusCompany varchar(10) N N 低 无 公司 sql脚本 DROP TABLE IF EXISTS `customer`; CREATE TABLE `customer` ( `CusNo` varchar(10) NOT NULL, `CusName` varchar(10) NOT NULL, `CusSex` varchar(2) NOT NULL, `CusAge` varchar(4) NOT NULL, `CusPhone` varchar(20) NOT NULL,

25、 `CusCompany` varchar(20) NOT NULL, `CusPassword` varchar(10) NOT NULL, PRIMARY KEY (`CusNo`) ) 6.1.4表[worker1]:[工作人员信息表] 表名 worker1 数据库用户 Test 主键 WorkNo 序号 字段名称 数据类型 允许为空Y/N 唯一 Y/N 区别度 默认值 约束条件/说明 1 WorkNo varchar(10) N Y 高 无 主键 2 WorkPassword varchar(10) N N

26、 低 无 密码 3 WorkName varchar(10) N N 低 无 姓名 4 WorkSex varchar(10) N N 低 无 性别 5 WorkPhone varchar(10) N N 低 无 电话 sql脚本 DROP TABLE IF EXISTS `worker1`; CREATE TABLE `worker1` ( `WorkNo` varchar(10) NOT NULL DEFAULT '', `WorkPassword` varchar(10) DEFAULT NULL, `Work

27、Name` varchar(10) DEFAULT NULL, `WorkSex` varchar(10) DEFAULT NULL, `WorkPhone` varchar(10) DEFAULT NULL, PRIMARY KEY (`WorkNo`) ) 6.1.5表[rent]:[租赁表] 表名 rent 数据库用户 Test 主键 RecordNo 索引 CarNo、CusNo 序号 字段名称 数据类型 允许为空Y/N 唯一 Y/N 区别度 默认值 约束条件/说明 1 RecordNo varchar(10) N

28、 Y 高 无 主键 2 CarNo varchar(10) N N 高 无 外键 3 CusNo varchar(10) N N 低 无 外键 4 RecordCost varchar(10) N N 低 无 总金额 5 RecordRentDate varchar(10) N N 低 无 租赁时间 6 RecordReturnDate varchar(10) N N 低 无 归还时间 sql脚本 DROP TABLE IF EXISTS `rent`; CREATE TABLE `rent` (

29、 `RecordNo` varchar(10) NOT NULL, `RecordRentDate` datetime NOT NULL, `RecordReturnDate` datetime NOT NULL, `CusNo` varchar(10) NOT NULL, `CarNo` varchar(10) NOT NULL, `RecordCost` varchar(10) DEFAULT NULL, PRIMARY KEY (`RecordNo`), KEY `CusNo` (`CusNo`), KEY `CarNo` (`CarNo

30、`), CONSTRAINT `CarNo` FOREIGN KEY (`CarNo`) REFERENCES `car` (`CarNo`), CONSTRAINT `CusNo` FOREIGN KEY (`CusNo`) REFERENCES `customer` (`CusNo`) ) 6.1.6表[manage]:[管理表] 表名 Wmanage 数据库用户 Test 主键 CarNo、WorkNo 索引 CarNo 序号 字段名称 数据类型 允许为空Y/N 唯一 Y/N 区别度 默认值 约束条件/说明

31、1 WorkNo varchar(10) N Y 高 无 主键 2 CarNo varchar(10) N N 高 无 主键 sql脚本 DROP TABLE IF EXISTS `manege`; CREATE TABLE `manege` ( `WorkNo` varchar(10) NOT NULL DEFAULT '', `CarNo` varchar(10) NOT NULL DEFAULT '', PRIMARY KEY (`WorkNo`,`CarNo`), KEY `CarNo` (`CarNo`), CONST

32、RAINT `manege_ibfk_1` FOREIGN KEY (`CarNo`) REFERENCES `car` (`CarNo`), CONSTRAINT `WorkNo` FOREIGN KEY (`WorkNo`) REFERENCES `worker1` (`WorkNo`) ) 6.2视图的设计 6.2.1 视图[V1]:按车辆的类别统计汽车的租赁金额和数库存数 关键代码: DROP VIEW IF EXISTS `v1`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURIT

33、Y DEFINER VIEW `v1` AS select `carclass`.`CarClassNo` AS `CarClassNo`,`carclass`.`CarClassCnt` AS `CarClassCnt` from `carclass` group by `carclass`.`CarClassNo` ;             图3 按类别统计汽车的租赁金额和剩余的库存 6.2.2视图[V2]:通过订单号了解到所租车辆的类别号及类别名 关键代码: DROP VIEW IF EXISTS `v2`; CREATE ALGORITHM=UNDEFINED DEFIN

34、ER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select `rent`.`RecordNo` AS `RecordNo`,`car`.`CarClassNo` AS `CarClassNo`,`carclass`.`CarClassBrand` AS `CarClassBrand` from ((`rent` join `car`) join `carclass`) where ((`rent`.`CarNo` = `car`.`CarNo`) and (`car`.`CarClassNo` = `carclass`.`Car

35、ClassNo`)) group by `car`.`CarClassNo` ; 图4 订单号求所租车辆的类别号及类别名 6.2.3 视图[V3]: 统计某一年龄阶段对汽车类别的喜好,并统计相应人数 关键代码: DROP VIEW IF EXISTS `v3`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `customer`.`CusAge` AS `CusAge`,`carclass`.`CarClassBrand` AS

36、`CarClassBrand`,count(`customer`.`CusAge`) AS `Count(customer.CusAge)` from (((`carclass` join `customer`) join `rent`) join `car`) where ((`customer`.`CusNo` = `rent`.`CusNo`) and (`rent`.`CarNo` = `car`.`CarNo`) and (`car`.`CarClassNo` = `carclass`.`CarClassNo`)) group by `carclass`.`CarClassBrand

37、` ; 图4统计某一年龄阶段对汽车类别的喜好及相应人数 6.2.3 视图[V4]: 查询所输入的车牌号的车现在所处 状态 关键代码: DROP VIEW IF EXISTS `v4`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v4` AS select `car`.`CarState` AS `CarState`,`car`.`CarNo` AS `CarNo`,`carclass`.`CarClassBrand` AS `CarClassBrand` f

38、rom (`car` join `carclass`) where (`car`.`CarClassNo` = `carclass`.`CarClassNo`) ; 图5 查询所输入车牌号的现在状态 6.3存储过程 6.3.1存储过程[P1] 功能:查询每辆车的状态和库存数,执行存储过程 关键代码:DROP PROCEDURE IF EXISTS `P1`; CREATE DEFINER=`root`@`localhost` PROCEDURE `P1`() begin select CarNo,CarState,CarClassBrand,CarClassCnt

39、from car,carclass where car.CarClassNo=carclass.CarClassNo; end; 图6 执行结果 6.3.2存储过程[P2] 功能: 查询所输入客户账号的租赁历史记录,执行存储过程 关键代码:参数:CusNo varchar(10) DROP PROCEDURE IF EXISTS `P2`; CREATE PROCEDURE `P2`(CusNo varchar(10)) Begin select rent.RecordNo,rent.RecordRentDate,rent.RecordReturnDate,r

40、ent.RecordCost,car.CarNo,carclass.CarClassBrand from rent,car,carclass where CusNo=CusNo and rent.CarNo=car.CarNo and car.CarClassNo=carclass.CarClassNo; end 图7 输入客户账号执行结果 6.3.3存储过程[P3] 功能: 查询所输入车牌号的被租赁历史记录,执行存储过程 关键代码:参数CarNo varchar(10) DROP PROCEDURE IF EXISTS `P3`; CREATE PROCEDUR

41、E P3(IN CarNo varchar(10)) begin select RecordNo,RecordRentDate,RecordReturnDate,RecordCost,CusNo from rent where CarNo=newCarNo; end 图8 输入车牌号执行结果 6.3.4存储过程[P4] 功能:通过输入订单号查询订单信息,执行存储过程。 关键代码:参数newRecordNo varchar(10) DROP PROCEDURE IF EXISTS `P5`; begin select RecordRentDate,Record

42、ReturnDate,CusNo,CarNo,RecordCost from rent where RecordNo=newRecordNo; end 图9 执行结果 6.4触发器 6.4.1触发器[T1] 功能:当租赁公司新购入一辆汽车时,输入新的车牌号及信息,此车辆所对应车辆类别的库存数自动增加,购入多辆时增加相应数量的库存。 关键代码:DROP TRIGGER IF EXISTS `T1`; CREATE TRIGGER `T1` AFTER INSERT ON `car` FOR EACH ROW begin declare c int; set c=

43、select CarClassCnt from carclass where CarClassNo=new.CarClassNo); update carclass set CarClassCnt=c+1 where CarClassNo=new.CarClassNo; end ;;DELIMITER ; 图10 新增一辆车库存数加一 6.4.2触发器[T2] 功能:当租赁公司报废一辆汽车时,删除车牌号及信息,此车辆所对应车辆类别的库存数自动减少,删除多辆时减少相应数量的库存。 关键代码:

44、 DROP TRIGGER IF EXISTS `T2`; CREATE TRIGGER `T2` AFTER DELETE ON `car` FOR EACH ROW begin declare c int; set c=( select CarClassCnt from carclass where CarClassNo=old.CarClassNo); update carclass set CarClassCnt=c-1 where CarClassNo=old.CarClassNo; end 图11

45、 删除一个车辆记录,库存数自动减一 6.4.3触发器[T3] 功能:当产生一个新的订单时,订单中所预订车辆所对应车辆类别的库存数自动减少,产生多个订单号时也减少相应数量的库存。 关键代码: DROP TRIGGER IF EXISTS `T3`; DELIMITER ;; CREATE TRIGGER `T3` AFTER INSERT ON `rent` FOR EACH ROW update carclass set CarClassCnt=CarClassCnt-1 where CarClassNo in( select CarClassNo from car

46、 where CarNo in (select CarNo from rent where CarNo =new.CarNo)) ;;DELIMITER ; 图11 增加订单对应类别库存数减少 6.4.4触发器[T4] 功能:当产取消一个订单时,订单中所预订车辆所对应车辆类别的库存数自动增加,取消多个订单号时也增加相应数量的库存。 关键代码: DROP TRIGGER IF EXISTS `T4`; DELIMITER ;; CREATE TRIGGER `T4` AFTER INSERT ON `rent` FOR EACH ROW update

47、carclass set CarClassCnt=CarClassCnt+1 where CarClassNo in( select CarClassNo from car where CarNo in (select CarNo from rent where CarNo =old.CarNo)) ;;DELIMITER ; 图12 取消一个订单对应类别库存数增加 6.4.5触发器[T5] 功能:当产生一个新的订单时,订单中所预订车辆的租赁状态由空闲状态(00)变为预订状态(01)。 关键代码:DELIMITER ; DROP TRIGGER IF EX

48、ISTS `T5`; DELIMITER ;; CREATE TRIGGER `T5` AFTER UPDATE ON `rent` FOR EACH ROW update car set CarState=CarState+1 where CarNo in( select CarNo from rent where CarNo =new.CarNo) ;;DELIMITER ; 图13 新增订单对应车辆的租赁状态改变 6.5 Java模块设计 6.5.1 连接数据库 图14 连接car表执行结果 6.5.2 Java界面设计

49、图15 主界面 图16 管理员登录界面 图17 管理员登录成功界面 图18 客户登录界面 图19 客户登录成功界面 七、 安全性设计 数据库只被少数授权用户访问,必须提供用户名和正确的密码。存储数据库的服务器也只能让系统管理员或少数高级管理人员登录。数据库的安全策略,遵从MYSQL的安全策略事 7.1防止用户直接操作数据库 7.2定义视图,授予不同角色不同的权限。 7.3角色与权限 角色 可以访问的表与列 操作权z限 例如:管理员 可访问所有表 完全控制权限 可访问所有表 完全控制权限 可访问所有表 完全控制权

50、限 角色B 只可访问Car表 完全控制权限 只可访问Carclass表 完全控制权限 只可访问Rent表 完全控制权限 八、数据库管理与维护说明 (一)完善管理制度,强化监管力度。数据库系统的安全与企业自身内部的安全机制、内外网络环境、从业人员素质等密切相关。因此,企业应该完善网络系统安全规章制度,防范因制度缺陷带来的风险;企业应该规范操作流程和故障处理流程,减少人为失误与故障,提高故障处理速度,缩短故障处理时间;企业应该通过建立科学合理的责任追究机制,防止出现由于工作态度、工作作风等各种人为因素导致的数据库安全事故。   (二)采取措施,确保数据库数据的安全。保证

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服