




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、长 沙 学 院课程设计说明书题目汽车租赁管理系统系(部)数学与计算机科学专业(班级)软件 03 班姓名学号指导教师黄彩霞、刘欣起止日期2016.5.15-2016.5.27课程设计任务书课程名称:课程名称:数据库系统原理课程设计设计题目:设计题目: 汽车租赁管理系统。已知技术参数和设计要求:已知技术参数和设计要求:题目:汽车租赁管理系统1、某汽车租赁公司汽车租赁管理系统需要如下信息:工作人员信息包括:工号、姓名、性别、联系电话等。客户信息包括:身份证号、姓名、性别、所在单位、联系电话等。车辆信息包括:车牌号、品牌、颜色、座位数、日租价格、日租超公里价格、月租价格、租赁状态、购入日期等。车辆类别
2、信息包括:分类号,库存数。其业务规则描述如下:一个工作人员可以对很多辆车辆进行管理,一辆车也可以被多个工作人员管理;一辆车只能属于一种车辆类别,而一种车辆类别可以包含多辆车;一个客户可以租多辆不同的车。2、系统功能的基本要求:可以实现对车辆、租赁客户的查询,可以查询汽车、客户租赁历史记录。可以按类别统计汽车的租赁金额和剩余的库存数,可以统计某一年龄客户群体对某类汽车的租赁喜好,能模拟客户对汽车的租借、归还业务。 各阶段具体要求:各阶段具体要求:1、需求分析阶段定义数据项的含义和取值定义目标系统的数据流2、概念结构设计阶段画出实体模型 E-R 图3、逻辑结构设计阶段将实体模型转化为关系模型给出每
3、个关系的主关键字和函数依赖集分析你所设计的关系数据库模式是否属于 3NF4、物理设计阶段确定所有字段的名称、类型、宽度、小数位数及完整性约束 确定数据库及表的名称及其组成 确定索引文件和索引关键字5、数据库安全及维护设计阶段设计一个适合的数据库安全策略(用户身份认证、访问权限、视图)为了实现复杂的数据完整性约束,设计适当的触发器设计一个适合的数据库备份策略6、实施阶段要求所有操作必须在查询分析器中用 SQL 语句或系统存储过程完成。设计工作量:设计工作量:(1)软件设计:完成问题陈述中所提到的所有需求功能。(2)论文:要求撰写不少于 3000 个文字的电子文档,详细说明各阶段具体要求。工作计划
4、:工作计划:安排两周时间进行课程设计,软件开发步骤如下,第一周完成 14,第二周完成 58,论文同步进行;1)选定题目2)需求分析3)概念结构设计4)逻辑结构设计5)物理设计6)数据库安全及维护设计7)数据库上机实现8)答辩注意事项注意事项提交电子文档提交电子文档长沙学院课程设计任务书(每学生 1 份)长沙学院课程设计论文(每学生 1 份)长沙学院课程设计鉴定表(每学生 1 份)指导教师签名: 日期: 教研室主任签名: 日期:系主任签名: 日期:长沙学院课程设计鉴定表姓名学号专业软件工程班级03设计题目汽车租赁管理系统指导教师刘欣、黄彩霞指导教师意见:评定等级: 教师签名: 日期: 答辩小组意
5、见:评定等级:答辩小组长签名:日期:教研室意见:教研室主任签名: 日期: 系(部)意见:系主任签名:日期:说明课程设计成绩分“优秀”、“良好”、“及格”、“不及格”四类;目 录一、引言一、引言 .6 61.1编写目的 .61.2参考资料 .6二、二、 需求规约需求规约 .7 72.1 业务描述.72.2 需求分析.7三、三、 数据库环境说明数据库环境说明 .8 8四、四、 数据库的命名规则数据库的命名规则 .8 84.1 数据库对象命名规则.64.2 数据项编码规则.6五、五、 逻辑设计逻辑设计 .9 9六、六、 物理设计物理设计 .1 11 16.1表汇总 .116.1.1表CAR:车辆信息
6、表.126.1.2表CARCLASS:汽车分类表表.126.1.3表CUSTOMER:客户信息表.136.1.4表WORKER1:工作人员表.136.1.5表RENT:租赁表.146.1.6表MANAGE:管理表.156.2视图的设计 .156.3存储过程的设计 .176.4触发器的设计 .206.4JAVA 设计.24七、七、 安全性设计安全性设计 .26267.1防止用户直接操作数据库的方法 .267.2用户帐号密码的加密方法 .267.3角色与权限 .26八、八、 数据库管理与维护说明数据库管理与维护说明 .27278.1说明 .278.2课程设计总结 .28九、九、 附录附录 源代码源
7、代码.29.299.1数据库源代码 .299.2连接数据库代码 .40一、引言一、引言1.11.1编写目的编写目的本文档是汽车租赁管理系统的组成部分,编写数据库设计文档的目的是:明确数据库的表名、字段名等数据信息,用来指导后期的数据库脚本的开发。本文档的读者对象是需求人员、系统设计人员、开发人员和测试人员。为了加快汽车租赁管理自动化的步伐,提高汽车租赁的管理业务处理效率,建立汽车租赁管理系统,并且尽可能地减少汽车租赁管理的重复性和低效性,已变得十分必要。该课程设计以某汽车租赁应用背景,通过研究当前汽车租赁系统的管理现状、存在问题以及 现实需求,设计一个针对汽车租赁管理工作的管理信息系统。该系统
8、能够提供较为完备的 功能,对于提高工作效率、加快汽车租赁管理的自动化具有较为重要的意义。汽车租赁管理系统是汽车租赁公司提供的一个简单易用的系统,随着科技的发展,设备和管理的现代化,在实际生活中如何提高工作效率成为一个很重要的问题,所以建立这种管理系统是非常好的解决方法。1.21.2参考资料参考资料资料名称作者文件编号、版本数据库系统概论王珊、萨师煊2006 年 5 月第 4版MySQL 入门经典王雨竹、高飞2013 年 4 月Java 基础教程吴仁群2009 年 4 月二、二、需求规约需求规约2.12.1 业务描述业务描述2.1.12.1.1 创建背景创建背景该数据库建立于 MySQL,环境为
9、 windows7系统名称:汽车租赁管理系统。 系统的开发者:小组成员系统的用户:租车客户以及租赁公司的工作人员。 2.1.22.1.2 业务流程及工作内容业务流程及工作内容了解到题目需求后,画好 ER 图,写出其关系模式,并用 MySQL 建立数据库,新建表,定义好表名,建立视图、存储过程以及触发器。系统功能的基本要求是可以实现对车辆、租赁客户的查询,可以查询汽车、客户租赁历史记录。可以按类别统计汽车的租赁金额和剩余的库存数,可以统计某一年龄客户群体对某类汽车的租赁喜好,能模拟客户对汽车的租借、归还业务。2.22.2 需求分析需求分析2.2.12.2.1 功能需求功能需求(1 1)车辆管理)
10、车辆管理 主要是表示管理员可以对租赁公司现有的汽车的具体信息进行管理,修改汽车基本信息,包括车牌号、汽车颜色、购入日期、类别及租赁状态等,也可以添加新购进来的汽车基本信息,以便更快的投入租赁市场,方便客户了解最新车辆信息以及做出更好的租赁选择。(2)(2)业务管理业务管理主要提供对汽车的日常业务进行管理,如查询指定汽车的租赁状态,被租赁的车的车牌号,所生成的订单号,所租车的种类,租车时间、归还时间及租赁金额,查询租车客户的基本信息,以便于管理员更好的管理车辆系统,保障系统安全性。(1 1) 统计统计主要是实现统计某一年龄客户群体对某类汽车的租赁喜好,可以通过客户的年龄算出所租车辆的种类一共有多
11、少辆,可以按类别统计汽车的租赁金额和剩余的库存数,以便管理员更好地了解市场行情,从而尽可能获得更大收益。三、数据库环境说明三、数据库环境说明3.13.1 数据库环境数据库环境数据库实例数据库系统数据库部署环境数据库设计工具数据库存放位置说明汽车租赁MySQL,版本 4.0Windows7Navicat for MySQLD:ProgramFilesMySQL实例用途说明四、数据库的命名规则四、数据库的命名规则4.14.1 数据库对象命名规则数据库对象命名规则数据库对象命名规则备注表table 功能描述字符串例如:Car 表视图View 功能描述字符串例如:V1 视图存储过程Proc 功能描述字
12、符串例如:P1 存储过程触发器Trigger 功能描述字符串例如:T1 触发器4.24.2 数据项编码规则数据项编码规则数据项命名规则数据类型长度备注租赁状态 两位二进制码bit2例如:00车牌号湘 L+(三位整数)+SBvarchar10例如:湘 L520SB客户账号431023+三位整数varchar10例如:431023001订单号四位整数varchar10例如:1401租赁日期年-月-日 时间datetime10例如:2016-05-20 04五、逻辑设计五、逻辑设计5.15.1 系统系统 E-RE-R 图设计图设计 图 1 E-R 图 图 2 MySQL 中 E-R 图5.25.2
13、创建关系模式创建关系模式1.工作人员(工号、密码、姓名、性别、联系电话)2.客户信息(身份证号、密码、姓名、性别、所在单位、联系电话)3.车辆信息(车牌号、品牌、座位数、颜色、租赁状态、购入日期、分类号)4.车辆类别(分类号、库存数、日租价格、日租超公里价格、月租价格、月租超公里价格、品牌)5.管理(工号、车牌号)备注:(工号和车牌号共同作为管理表的主键,同时也是外键)6.租赁(订单号、身份证号、车牌号、租赁日期、归还日期、租赁总金额)备注:(主键是加下划线,外键是加波浪线)完全依赖完全依赖:工号姓名 ,工号密码,工号性别,工号联系电话客户身份证号客户姓名,客户身份证号密码,客户身份证号客户性
14、别,客户身份证号客户所在单位,客户身份证号客户联系电话 车牌号品牌,车牌号座位数,车牌号颜色,车牌号购入日期,车牌号分类号 分类号库存数,分类号日租价格,分类号日租超公里价格,分类号月租价格,分类号月租超公里价格,分类号品牌 订单号客户身份证号,订单号车牌号,订单号租赁日期,订单号归还日期,订单号租赁金额部分依赖:部分依赖:(工号,车牌号)(分别决定)姓名、密码、性别、联系电话,品牌、座位数、颜色、租赁状态、购入日期、分类号传递依赖:传递依赖:订单号(分别决定)客户的姓名、密码、性别、所在单位、联系电话、品牌、分类号、座位数、颜色、租赁状态、购入日期六、物理设计六、物理设计6.16.1 表汇总
15、表汇总表名功能说明car存储车辆的信息carclass存储车辆类别的信息worker1存储工作人员的信息rent存储租赁的信息customer存储客户的信息manage存储工作人员与车辆的联系6.1.16.1.1 表表carcar: 车辆信息表车辆信息表 表名car数据库用户Test主键CarNo索引字段CarClassNo序号字段名称数据类型允许为空 Y/N唯一Y/N区别度默认值约束条件/说明1CarNovarchar(10)NY高无主键2CarClassNovarchar(10)NN高无外键3CarStatebit(2)NN低00租赁状态4CardatedateNN低无购入日期5CarCo
16、lorvarchar(10)NN低无汽车颜色sql 脚本DROP TABLE IF EXISTS car;CREATE TABLE car ( CarNo varchar(10) NOT NULL, 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 (Car
17、ClassNo) REFERENCES carclass (CarClassNo)6.1.26.1.2 表表carclasscarclass: 车辆类别表车辆类别表 表名carclass数据库用户Test主键CarClassNo序号字段名称数据类型允许为空 Y/N唯一Y/N区别度默认值约束条件/说明1CarClassNovarchar(10)NY高无主键2CarClassCntvarchar(10)NN低无库存数3CarClassSeatbit(2)NN低无座位数4CarClassDayPrice2dateNN低无日租价格5CarClassDayPrice1varchar(10)NN低无日租超
18、公里价格6CarClassMonthPricevarchar(10)NN低无月租价格7CarClassBrandvarchar(10)NN低无车辆品牌sql 脚本DROP TABLE IF EXISTS carclass;CREATE TABLE carclass ( CarClassNo varchar(10) NOT NULL, CarClassCnt varchar(10) NOT NULL, CarClassDayPrice1 varchar(10) NOT NULL, CarClassDayPrice2 varchar(10) NOT NULL, CarClassMonthPrice
19、 varchar(10) NOT NULL, CarClassBrand varchar(10) NOT NULL, CarClassseat varchar(10) NOT NULL, PRIMARY KEY (CarClassNo)6.1.36.1.3 表表customercustomer: 客户信息表客户信息表 表名customer数据库用户Test主键CusNo序号字段名称数据类型允许为空 Y/N唯一Y/N区别度默认值约束条件/说明1CusNovarchar(10)NY高无主键2CusPasswordvarchar(10)NN高无登录密码3CusNamevarchar(10)NN低无客
20、户姓名4CusSexvarchar(10)NN低无客户性别5CusAgevarchar(10)NN低无客户年龄6CusPhonevarchar(10)NN低无客户电话7CusCompanyvarchar(10)NN低无公司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 varcha
21、r(20) NOT NULL, CusCompany varchar(20) NOT NULL, CusPassword varchar(10) NOT NULL, PRIMARY KEY (CusNo)6.1.46.1.4 表表worker1worker1: 工作人员信息表工作人员信息表 表名worker1数据库用户Test主键WorkNo序号字段名称数据类型允许为空 Y/N唯一Y/N区别度默认值约束条件/说明1WorkNovarchar(10)NY高无主键2WorkPasswordvarchar(10)NN低无密码3WorkNamevarchar(10)NN低无姓名4WorkSexvarc
22、har(10)NN低无性别5WorkPhonevarchar(10)NN低无电话sql 脚本DROP TABLE IF EXISTS worker1;CREATE TABLE worker1 ( WorkNo varchar(10) NOT NULL DEFAULT , WorkPassword varchar(10) DEFAULT NULL, WorkName varchar(10) DEFAULT NULL, WorkSex varchar(10) DEFAULT NULL, WorkPhone varchar(10) DEFAULT NULL, PRIMARY KEY (WorkNo)
23、6.1.56.1.5 表表rentrent: 租赁表租赁表 表名rent数据库用户Test主键RecordNo索引CarNo、CusNo序号字段名称数据类型允许为空 Y/N唯一Y/N区别度默认值约束条件/说明1RecordNovarchar(10)NY高无主键2CarNovarchar(10)NN高无外键3CusNovarchar(10)NN低无外键4RecordCostvarchar(10)NN低无总金额5RecordRentDatevarchar(10)NN低无租赁时间6RecordReturnDatevarchar(10)NN低无归还时间sql 脚本DROP TABLE IF EXIST
24、S rent;CREATE TABLE rent ( 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), CONSTRAINT CarNo
25、FOREIGN KEY (CarNo) REFERENCES car (CarNo), CONSTRAINT CusNo FOREIGN KEY (CusNo) REFERENCES customer (CusNo)6.1.66.1.6 表表managemanage: 管理表管理表 表名Wmanage数据库用户Test主键CarNo、WorkNo索引CarNo序号字段名称数据类型允许为空 Y/N唯一Y/N区别度默认值约束条件/说明1WorkNovarchar(10)NY高无主键2CarNovarchar(10)NN高无主键sql 脚本DROP TABLE IF EXISTS manege;CR
26、EATE TABLE manege ( WorkNo varchar(10) NOT NULL DEFAULT , CarNo varchar(10) NOT NULL DEFAULT , PRIMARY KEY (WorkNo,CarNo), KEY CarNo (CarNo), CONSTRAINT manege_ibfk_1 FOREIGN KEY (CarNo) REFERENCES car (CarNo), CONSTRAINT WorkNo FOREIGN KEY (WorkNo) REFERENCES worker1 (WorkNo)6.26.2 视图的设计视图的设计6.2.16
27、.2.1 视图视图V1:V1:按车辆的类别统计汽车的租赁金额和数库存数按车辆的类别统计汽车的租赁金额和数库存数关键代码:DROP VIEW IF EXISTS v1;CREATE ALGORITHM=UNDEFINED DEFINER=rootlocalhost SQL SECURITY DEFINER VIEW v1 AS select carclass.CarClassNo AS CarClassNo,carclass.CarClassCnt AS CarClassCnt from carclass group by carclass.CarClassNo ;图 3 按类别统计汽车的租赁金
28、额和剩余的库存6.2.26.2.2 视图视图V2:V2:通过订单号了解到所租车辆的类别号及类别名通过订单号了解到所租车辆的类别号及类别名关键代码:DROP VIEW IF EXISTS v2;CREATE ALGORITHM=UNDEFINED DEFINER=rootlocalhost SQL SECURITY DEFINER VIEW v2 AS select rent.RecordNo AS RecordNo,car.CarClassNo AS CarClassNo,carclass.CarClassBrand AS CarClassBrand from (rent join car)
29、join carclass) where (rent.CarNo = car.CarNo) and (car.CarClassNo = carclass.CarClassNo) group by car.CarClassNo ;图 4 订单号求所租车辆的类别号及类别名6.2.36.2.3 视图视图V3:V3: 统计某一年龄阶段对汽车类别的喜好,并统计相应人数统计某一年龄阶段对汽车类别的喜好,并统计相应人数关键代码:DROP VIEW IF EXISTS v3;CREATE ALGORITHM=UNDEFINED DEFINER=rootlocalhost SQL SECURITY DEFINE
30、R VIEW v3 AS select customer.CusAge AS CusAge,carclass.CarClassBrand AS 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
31、by carclass.CarClassBrand ;图 4 统计某一年龄阶段对汽车类别的喜好及相应人数6.2.36.2.3 视图视图V4:V4: 查询所输入的车牌号的车现在所处查询所输入的车牌号的车现在所处 状态状态关键代码:DROP VIEW IF EXISTS v4;CREATE ALGORITHM=UNDEFINED DEFINER=rootlocalhost SQL SECURITY DEFINER VIEW v4 AS select car.CarState AS CarState,car.CarNo AS CarNo,carclass.CarClassBrand AS CarCl
32、assBrand from (car join carclass) where (car.CarClassNo = carclass.CarClassNo) ;图 5 查询所输入车牌号的现在状态6.36.3 存储过程存储过程 6.3.16.3.1 存储过程存储过程P1P1 功能:查询每辆车的状态和库存数,执行存储过程关键代码:DROP PROCEDURE IF EXISTS P1;CREATE DEFINER=rootlocalhost PROCEDURE P1()begin select CarNo,CarState,CarClassBrand,CarClassCnt from car,ca
33、rclasswhere car.CarClassNo=carclass.CarClassNo;end;图 6 执行结果6.3.26.3.2 存储过程存储过程P2P2 功能: 查询所输入客户账号的租赁历史记录,执行存储过程关键代码:参数:CusNo varchar(10)DROP PROCEDURE IF EXISTS P2;CREATE PROCEDURE P2(CusNo varchar(10)Begin select rent.RecordNo,rent.RecordRentDate,rent.RecordReturnDate,rent.RecordCost,car.CarNo,carcl
34、ass.CarClassBrandfrom rent,car,carclass where CusNo=CusNo and rent.CarNo=car.CarNo and car.CarClassNo=carclass.CarClassNo; end图 7 输入客户账号执行结果6.3.36.3.3 存储过程存储过程P3P3 功能: 查询所输入车牌号的被租赁历史记录,执行存储过程关键代码:参数 CarNo varchar(10)DROP PROCEDURE IF EXISTS P3;CREATE PROCEDURE P3(IN CarNo varchar(10)beginselect Reco
35、rdNo,RecordRentDate,RecordReturnDate,RecordCost,CusNofrom rent where CarNo=newCarNo; end图 8 输入车牌号执行结果 6.3.46.3.4 存储过程存储过程P4P4 功能:通过输入订单号查询订单信息,执行存储过程。关键代码:参数 newRecordNo varchar(10)DROP PROCEDURE IF EXISTS P5;beginselect RecordRentDate,RecordReturnDate,CusNo,CarNo,RecordCostfrom rentwhere RecordNo=n
36、ewRecordNo;end图 9 执行结果6.46.4 触发器触发器6.4.16.4.1 触发器触发器T1T1 功能:当租赁公司新购入一辆汽车时,输入新的车牌号及信息,此车辆所对应车辆类别的库存数自动增加,购入多辆时增加相应数量的库存。关键代码:DROP TRIGGER IF EXISTS T1;CREATE TRIGGER T1 AFTER INSERT ON car FOR EACH ROW begindeclare c int;set c=(select CarClassCnt from carclass where CarClassNo=new.CarClassNo); update
37、 carclass set CarClassCnt=c+1 where CarClassNo=new.CarClassNo;end ;DELIMITER ; 图 10 新增一辆车库存数加一6.4.26.4.2 触发器触发器T2T2 功能:当租赁公司报废一辆汽车时,删除车牌号及信息,此车辆所对应车辆类别的库存数自动减少,删除多辆时减少相应数量的库存。关键代码: DROP TRIGGER IF EXISTS T2;CREATE TRIGGER T2 AFTER DELETE ON car FOR EACH ROW begindeclare c int;set c=( select CarClass
38、Cnt from carclass where CarClassNo=old.CarClassNo); update carclass set CarClassCnt=c-1 where CarClassNo=old.CarClassNo; end图 11 删除一个车辆记录,库存数自动减一6.4.36.4.3 触发器触发器T3T3 功能:当产生一个新的订单时,订单中所预订车辆所对应车辆类别的库存数自动减少,产生多个订单号时也减少相应数量的库存。关键代码:DROP TRIGGER IF EXISTS T3;DELIMITER ;CREATE TRIGGER T3 AFTER INSERT ON
39、rent FOR EACH ROW update carclassset CarClassCnt=CarClassCnt-1where CarClassNo in(select CarClassNo from carwhere CarNo in (select CarNofrom rent where CarNo =new.CarNo);DELIMITER ;图 11 增加订单对应类别库存数减少6.4.46.4.4 触发器触发器T4T4 功能:当产取消一个订单时,订单中所预订车辆所对应车辆类别的库存数自动增加,取消多个订单号时也增加相应数量的库存。关键代码:DROP TRIGGER IF EX
40、ISTS T4;DELIMITER ;CREATE TRIGGER T4 AFTER INSERT ON rent FOR EACH ROW update carclassset CarClassCnt=CarClassCnt+1where CarClassNo in(select CarClassNo from car where CarNo in (select CarNofrom rent where CarNo =old.CarNo);DELIMITER ;图 12 取消一个订单对应类别库存数增加6.4.56.4.5 触发器触发器T5T5 功能:当产生一个新的订单时,订单中所预订车辆的
41、租赁状态由空闲状态(00)变为预订状态(01)。关键代码:DELIMITER ;DROP TRIGGER IF EXISTS T5;DELIMITER ;CREATE TRIGGER T5 AFTER UPDATE ON rent FOR EACH ROW update carset CarState=CarState+1where CarNo in(select CarNofrom rent where CarNo =new.CarNo);DELIMITER ;图 13 新增订单对应车辆的租赁状态改变6.56.5 JavaJava 模块设计模块设计6.5.16.5.1 连接数据库连接数据库图
42、 14 连接 car 表执行结果6.5.26.5.2 JavaJava 界面设计界面设计图 15 主界面 图 16 管理员登录界面图 17 管理员登录成功界面图 18 客户登录界面图 19 客户登录成功界面7、安全性设计安全性设计数据库只被少数授权用户访问,必须提供用户名和正确的密码。存储数据库的服务器也只能让系统管理员 或少数高级管理人员登录。数据库的安全策略,遵从 MYSQL 的安全策略事7.17.1 防止用户直接操作数据库防止用户直接操作数据库7 7. .2 2定定义义视视图图,授授予予不不同同角角色色不不同同的的权权限限。7.37.3 角色与权限角色与权限角色可以访问的表与列操作权 z
43、 限可访问所有表完全控制权限可访问所有表完全控制权限例如:管理员可访问所有表完全控制权限只可访问 Car 表完全控制权限只可访问 Carclass 表完全控制权限角色 B只可访问 Rent 表完全控制权限八、数据库管理与维护说明八、数据库管理与维护说明(一)完善管理制度,强化监管力度。数据库系统的安全与企业自身内部的安全机制、内外网络环境、从业人员素质等密切相关。因此,企业应该完善网络系统安全规章制度,防范因制度缺陷带来的风险;企业应该规范操作流程和故障处理流程,减少人为失误与故障,提高故障处理速度,缩短故障处理时间;企业应该通过建立科学合理的责任追究机制,防止出现由于工作态度、工作作风等各种
44、人为因素导致的数据库安全事故。(二)采取措施,确保数据库数据的安全。保证数据库数据的安全是数据库日常管理与维护工作的首要任务,企业需要采取的安全措施主要有:确保网络及操作系统安全。网络系统是数据库应用的外部环境和基础,网络系统安全是数据库安全的第一道屏障。从技术角度讲,网络系统层次的安全防范技术有很多种,大致可以分为防火墙、数字签名与认证、入侵检测等。操作系统是数据库系统的运行平台,能够为数据库系统提供一定程度的安全保护。操作系统的安全控制方法主要是采用隔离控制、访问控制、信息加密和审计跟踪。主要安全技术有操作系统安全策略、安全管理策略等。加强用户身份验证。用户身份验证是数据库系统的重要防线。
45、利用窗体身份验证数据库程序的漏洞,进而获取存储在数据库中的用户身份验证密码,这是目前对网络数据库攻击最常见的方式。对此,企业信息部门通常使用带有 salt 值的单向密码哈希值,以避免用户密码在数据库中以明文形式存储,减轻字典攻击带来的威胁。对重要数据加密。数据加密交换又称密码学,是计算机系统对信息进行保护的一种最可靠的办法。它利用密码技术对信息进行交换,实现信息隐蔽,从而有效保护信息的安全不受侵犯。数据库加密要求加解密的粒度是每个记录的字段数据。采用库外口加密的方式,对密钥的管理较为简单,只需借用文件加密的密钥管理方法,将加密后的数据块纳入数据库,在算法或数据库系统中做些必要的改动就行。这样有
46、利于公共数据字典的使用和维护系统的完整性。 做好数据库备份与恢复。数据备份是备份数据库某个时刻的数据状态,当系统出现意外时用来恢复系统。依靠网络办公的企业,其信息系统很可能随时被破坏而丢失数据。因此,数据库管理系统必须具备把数据库从错误状态恢复到某一已知的正确状态的功能,这就是数据库的恢复技术。 (三)开展数据库健康检查。为及时发现数据库系统存在的问题,在日常管理与维护中,数据管理员要对数据库开展健康检查。当前,烟草行业内大部分企业使用的数据库是 IBM DB2,对该数据库进行检查时,检查内容主要包括以下七个方面: 1、系统环境:操作系统版本、文件系统容量、内存交换区使用率、系统性能。 2、数
47、据库环境:数据库和补丁版本、是否有僵尸数据库进程、数据库节点数、是否有其他数据库产品及版本。3、日志记录:db2diag.log 报错、db2inst1.nfy 报错、是否有需要处理的DUM4、数据库健康状况:表空间利用率和状态、表空间容器利用率和状态、排序溢出、是否需要收集统计信息、是否需要数据重组、活动日志和日志所在文件系统利用率、死锁发生率、锁升级发生率、锁等待的百分比、编目 Cache 命中率、包 Cache命中率、监视堆利用率、数据库堆利用率、数据库缓冲池命中率。 5、数据库维护内容:最近一次统计信息收集时间、最近一次表数据重组时间、最近一次绑定包时间、最近一次数据库备份时间。 6、
48、权限管理:public 组的权限是否取消。7、数据库基本信息记录:数据库内存使用、环境变量。数据库管理的意义重大,关系到企业信息系统的正常运作,仍至整个企业的生死存亡。要做好数据库的日常管理与维护,不仅要求数据库管理员熟练掌握专业技术,还要有足够的细心和高度的责任心。8.18.1 课程设计总结:课程设计总结:本次课程设计不仅仅是对所学知识的总结,还是一种学习思想的升华。正所谓实践出真知,然而,当我沿着步骤一步步进行下去的时候,才意识到自己知识的浅薄和视野的狭窄。通过这段时间的学习,让我及组员深切体会到了一个完整的管理系统编写的复杂程度和困难程度,对软件开发的流程也有了一个更清晰的了解,从一开始
49、的可行性分析,系统需求分析,再到数据库设计,功能模块的设计和界面的设计,到最后的系统运行与测试。这个过程中,每一个步骤都很重要,缺一不可。当然,由于自身技术能力不足,缺乏实际开发经验,再加上时间有限,本系统还有许多有待完善的部分。希望我能今后通过不断地学习和实践来提升自己的各方面能力,学会让所学理论知识与实际操作的融会贯通,为以后工作及生活中的系统软件设计打下良好的基础。九、附录九、附录 源代码源代码9.19.1 数据库源代码数据库源代码/*Navicat MySQL Data TransferSource Server : localhostSource Server Version : 5
50、0523Source Host : localhost:3306Source Database : testTarget Server Type : MYSQLTarget Server Version : 50523File Encoding : 65001Date: 2016-05-27 23:32:49*/SET FOREIGN_KEY_CHECKS=0;- - Table structure for car- -DROP TABLE IF EXISTS car;CREATE TABLE car ( CarNo varchar(10) NOT NULL DEFAULT , CarColo
51、r varchar(10) DEFAULT NULL, CarDate date DEFAULT NULL, CarClassNo varchar(10) DEFAULT NULL, CarState bit(2) DEFAULT NULL, PRIMARY KEY (CarNo), KEY CarClassNo (CarClassNo), CONSTRAINT CarClassNo FOREIGN KEY (CarClassNo) REFERENCES carclass (CarClassNo) ENGINE=InnoDB DEFAULT CHARSET=utf8;- - Records o
52、f car- -INSERT INTO car VALUES (湘 L123SB, 白色, 2016-05-05, 002, );INSERT INTO car VALUES (湘 L124SB, 红色, 2016-05-20, 003, );INSERT INTO car VALUES (湘 L125SB, 灰色, 2016-05-06, 004, );INSERT INTO car VALUES (湘 L126SB, 银色, 2016-05-13, 001, );INSERT INTO car VALUES (湘 L138SB, 玫瑰红, 2015-01-01, 001, );INSERT
53、 INTO car VALUES (湘 L250SB, 荧光绿, 2014-12-25, 003, );INSERT INTO car VALUES (湘 L520SB, 宝蓝色, 2015-01-11, 002, );INSERT INTO car VALUES (湘 L546SB, 绿, 2016-05-01, 001, );INSERT INTO car VALUES (湘 L565SB, 白, 2016-05-05, 004, );- - Table structure for carclass- -DROP TABLE IF EXISTS carclass;CREATE TABLE
54、carclass ( CarClassNo varchar(10) NOT NULL, CarClassCnt varchar(10) NOT NULL, CarClassDayPrice1 varchar(10) NOT NULL, CarClassDayPrice2 varchar(10) NOT NULL, CarClassMonthPrice varchar(10) NOT NULL, CarClassBrand varchar(10) DEFAULT NULL, CarClassseat varchar(10) DEFAULT NULL, PRIMARY KEY (CarClassN
55、o) ENGINE=InnoDB DEFAULT CHARSET=utf8;- - Records of carclass- -INSERT INTO carclass VALUES (001, 1998, 100000, 200000, 6000000, 幻影 X5, 2);INSERT INTO carclass VALUES (002, 01, 150000, 250000, 5000000, 宝马 R8, 2);INSERT INTO carclass VALUES (003, 01, 200000, 300000, 6500000, 兰博基尼, 2);INSERT INTO carc
56、lass VALUES (004, 01, 90000, 230000, 4500000, 玛莎拉蒂, 4);- - Table structure for customer- -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, CusCompany
57、varchar(20) NOT NULL, CusPassword varchar(10) NOT NULL, PRIMARY KEY (CusNo) ENGINE=InnoDB DEFAULT CHARSET=utf8;- - Records of customer- -INSERT INTO customer VALUES (431023001, 文兄, 女, 20, 183245, 长沙学院集团, 111111);INSERT INTO customer VALUES (431023002, 徐福记, 男, 40, 183255, 长沙学院集团, 222222);INSERT INTO
58、customer VALUES (431023003, 王老吉, 男, 60, 183265, 长沙学院集团, 333333);INSERT INTO customer VALUES (431023004, 刘明, 女, 20, 183653, 腾讯, 444444);INSERT INTO customer VALUES (431023005, 张益达, 男, 24, 183544, 阿里巴巴, 555555);INSERT INTO customer VALUES (431023006, 黄飞鸿, 女, 30, 183666, 百度公司, 666666);INSERT INTO custo
59、mer VALUES (431023007, 张小贱, 男, 45, 183123, 红杉集团, 777777);INSERT INTO customer VALUES (431023008, 王振, 男, 52, 183125, 方正公司, 888888);INSERT INTO customer VALUES (431023009, 王哲, 女, 62, 182153, 阿里巴巴, 999999);INSERT INTO customer VALUES (431023010, 何丽华, 女, 25, 183425, 腾讯, 101010);- - Table structure for m
60、anege- -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), CONSTRAINT manege_ibfk_1 FOREIGN KEY (CarNo) REFERENCES car (CarNo), CONSTRAINT WorkNo FOREIGN KEY (WorkNo) REFERENCES w
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园主题活动教学计划
- 传统艺术技法在现代教学中的应用计划
- 拥抱变化秘书工作的新趋势计划
- 优化供应链管理流程计划
- 教材与教具更新与选用方案计划
- 前台文员团队协作提升计划
- 幼儿园实践活动的设计与反思计划
- 2025年离婚协议债权模板
- Unit 2 What's your name?表格式(教学设计)-2024-2025学年湘少版(三起)(2024)英语三年级上册
- 激励团队成员的有效方法计划
- 道路运输企业主要负责人和安全生产管理人员安全考核试题(含答案)
- 交通运输概论--课件
- 中医治疗“淋证”医案73例
- 高中生物学(人教版)必修2遗传与进化《基因的表达》单元整体教学设计
- 2.PaleoScan详细操作流程
- 旅游安徽-PPT完整版
- TD-T 1041-2013 土地整治工程质量检验与评定规程
- 矿山司机健康安全知识岗位达标考试题
- 综采电缆修复工艺
- 汽修维修费用统计表报价单
- 研学旅行商业计划书模板
评论
0/150
提交评论