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

上传人:b****6 文档编号:6052017 上传时间:2023-01-03 格式:DOCX 页数:35 大小:30.48KB
下载 相关 举报
精编汽车租赁管理系统原理课程设计最终版.docx_第1页
第1页 / 共35页
精编汽车租赁管理系统原理课程设计最终版.docx_第2页
第2页 / 共35页
精编汽车租赁管理系统原理课程设计最终版.docx_第3页
第3页 / 共35页
精编汽车租赁管理系统原理课程设计最终版.docx_第4页
第4页 / 共35页
精编汽车租赁管理系统原理课程设计最终版.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

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

《精编汽车租赁管理系统原理课程设计最终版.docx》由会员分享,可在线阅读,更多相关《精编汽车租赁管理系统原理课程设计最终版.docx(35页珍藏版)》请在冰豆网上搜索。

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

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

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

长沙学院

课程设计说明书

 

题目

汽车租赁管理系统

系(部)

数学与计算机科学

专业(班级)

软件03班

姓名

学号

指导教师

黄彩霞、刘欣

起止日期

2016.5.15-2016.5.27

课程设计任务书

课程名称:

数据库系统原理课程设计

设计题目:

汽车租赁管理系统。

已知技术参数和设计要求:

题目:

汽车租赁管理系统

1、某汽车租赁公司汽车租赁管理系统需要如下信息:

工作人员信息包括:

工号、姓名、性别、联系电话等。

客户信息包括:

身份证号、姓名、性别、所在单位、联系电话等。

车辆信息包括:

车牌号、品牌、颜色、座位数、日租价格、日租超公里价格、月租价格、租赁状态、购入日期等。

车辆类别信息包括:

分类号,库存数。

其业务规则描述如下:

一个工作人员可以对很多辆车辆进行管理,一辆车也可以被多个工作人员管理;一辆车只能属于一种车辆类别,而一种车辆类别可以包含多辆车;一个客户可以租多辆不同的车。

2、系统功能的基本要求:

可以实现对车辆、租赁客户的查询,可以查询汽车、客户租赁历史记录。

可以按类别统计汽车的租赁金额和剩余的库存数,可以统计某一年龄客户群体对某类汽车的租赁喜好,能模拟客户对汽车的租借、归还业务。

各阶段具体要求:

1、需求分析阶段

●定义数据项的含义和取值

●定义目标系统的数据流

2、概念结构设计阶段

●画出实体模型E-R图

3、逻辑结构设计阶段

●将实体模型转化为关系模型

●给出每个关系的主关键字和函数依赖集

●分析你所设计的关系数据库模式是否属于3NF

4、物理设计阶段

●确定所有字段的名称、类型、宽度、小数位数及完整性约束

●确定数据库及表的名称及其组成

●确定索引文件和索引关键字

5、数据库安全及维护设计阶段

●设计一个适合的数据库安全策略(用户身份认证、访问权限、视图)

●为了实现复杂的数据完整性约束,设计适当的触发器

●设计一个适合的数据库备份策略

6、实施阶段

●要求所有操作必须在查询分析器中用SQL语句或系统存储过程完成。

设计工作量:

(1)软件设计:

完成问题陈述中所提到的所有需求功能。

(2)论文:

要求撰写不少于3000个文字的电子文档,详细说明各阶段具体要求。

工作计划:

安排两周时间进行课程设计,软件开发步骤如下,第一周完成1~4,第二周完成5~8,论文同步进行;

1)选定题目

2)需求分析

3)概念结构设计

4)逻辑结构设计

5)物理设计

6)数据库安全及维护设计

7)数据库上机实现

8)答辩

注意事项

⏹提交电子文档

Ø长沙学院课程设计任务书(每学生1份)

Ø长沙学院课程设计论文(每学生1份)

Ø长沙学院课程设计鉴定表(每学生1份)

指导教师签名:

     日期:

    

教研室主任签名:

       日期:

        

系主任签名:

         日期:

        

长沙学院课程设计鉴定表

姓名

学号

专业

软件工程

班级

03

设计题目

汽车租赁管理系统

指导教师

刘欣、黄彩霞

指导教师意见:

评定等级:

教师签名:

日期:

答辩小组意见:

评定等级:

     答辩小组长签名:

     日期:

    

教研室意见:

教研室主任签名:

日期:

 

系(部)意见:

系主任签名:

       日期:

     

说明

课程设计成绩分“优秀”、“良好”、“及格”、“不及格”四类;

一、引言6

1.1编写目的6

1.2参考资料6

二、需求规约7

2.1业务描述7

2.2需求分析7

三、数据库环境说明8

四、数据库的命名规则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.4JAVA设计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编写目的

本文档是汽车租赁管理系统的组成部分,编写数据库设计文档的目的是:

明确数据库的表名、字段名等数据信息,用来指导后期的数据库脚本的开发。

本文档的读者对象是需求人员、系统设计人员、开发人员和测试人员。

为了加快汽车租赁管理自动化的步伐,提高汽车租赁的管理业务处理效率,建立汽车租赁管理系统,并且尽可能地减少汽车租赁管理的重复性和低效性,已变得十分必要。

该课程设计以某汽车租赁应用背景,通过研究当前汽车租赁系统的管理现状、存在问题以及现实需求,设计一个针对汽车租赁管理工作的管理信息系统。

该系统能够提供较为完备的功能,对于提高工作效率、加快汽车租赁管理的自动化具有较为重要的意义。

汽车租赁管理系统是汽车租赁公司提供的一个简单易用的系统,随着科技的发展,设备和管理的现代化,在实际生活中如何提高工作效率成为一个很重要的问题,所以建立这种管理系统是非常好的解决方法。

1.2参考资料

 

资料名称

作者

文件编号、版本

《数据库系统概论》

王珊、萨师煊

2006年5月第4版

《MySQL入门经典》

王雨竹、高飞

2013年4月

《Java基础教程》

吴仁群

2009年4月

二、需求规约

2.1业务描述

2.1.1创建背景

该数据库建立于MySQL,环境为windows7

系统名称:

汽车租赁管理系统。

系统的开发者:

小组成员

系统的用户:

租车客户以及租赁公司的工作人员。

2.1.2业务流程及工作内容

了解到题目需求后,画好ER图,写出其关系模式,并用MySQL建立数据库,新建表,定义好表名,建立视图、存储过程以及触发器。

系统功能的基本要求是可以实现对车辆、租赁客户的查询,可以查询汽车、客户租赁历史记录。

可以按类别统计汽车的租赁金额和剩余的库存数,可以统计某一年龄客户群体对某类汽车的租赁喜好,能模拟客户对汽车的租借、归还业务。

2.2需求分析

2.2.1功能需求

(1)车辆管理

主要是表示管理员可以对租赁公司现有的汽车的具体信息进行管理,修改汽车基本信息,包括车牌号、汽车颜色、购入日期、类别及租赁状态等,也可以添加新购进来的汽车基本信息,以便更快的投入租赁市场,方便客户了解最新车辆信息以及做出更好的租赁选择。

(2)业务管理

主要提供对汽车的日常业务进行管理,如查询指定汽车的租赁状态,被租赁的车的车牌号,所生成的订单号,所租车的种类,租车时间、归还时间及租赁金额,查询租车客户的基本信息,以便于管理员更好的管理车辆系统,保障系统安全性。

(1)统计

主要是实现统计某一年龄客户群体对某类汽车的租赁喜好,可以通过客户的年龄算出所租车辆的种类一共有多少辆,可以按类别统计汽车的租赁金额和剩余的库存数,以便管理员更好地了解市场行情,从而尽可能获得更大收益。

三、数据库环境说明

3.1数据库环境

数据库实例

数据库系统

数据库部署环境

数据库设计工具

数据库存放位置

说明

汽车租赁

MySQL,版本4.0

Windows7

NavicatforMySQL

D:

\ProgramFiles\

MySQL

实例用途说明

四、数据库的命名规则

4.1数据库对象命名规则

数据库对象

命名规则

备注

table功能描述字符串

例如:

Car表

视图

View功能描述字符串

例如:

V1视图

存储过程

Proc功能描述字符串

例如:

P1存储过程

触发器

Trigger功能描述字符串

例如:

T1触发器

4.2数据项编码规则

数据项

命名规则

数据类型

长度

备注

租赁状态

两位二进制码

bit

2

例如:

00

车牌号

湘L+(三位整数)+SB

varchar

10

例如:

湘L520SB

客户账号

431023+三位整数

varchar

10

例如:

431023001

订单号

四位整数

varchar

10

例如:

1401

租赁日期

年-月-日时间

datetime

10

例如:

2016-05-2004

五、逻辑设计

5.1系统E-R图设计

图1E-R图

图2MySQL中E-R图

5.2创建关系模式

1.工作人员(工号、密码、姓名、性别、联系电话)

2.客户信息(身份证号、密码、姓名、性别、所在单位、联系电话)

3.车辆信息(车牌号、品牌、座位数、颜色、租赁状态、购入日期、分类号)

4.车辆类别(分类号、库存数、日租价格、日租超公里价格、月租价格、月租超公里价格、品牌)

5.管理(工号、车牌号)备注:

(工号和车牌号共同作为管理表的主键,同时也是外键)

6.租赁(订单号、身份证号、车牌号、租赁日期、归还日期、租赁总金额)

备注:

(主键是加下划线,外键是加波浪线)

完全依赖:

工号→姓名,工号→密码,工号→性别,工号→联系电话

客户身份证号→客户姓名,客户身份证号→密码,客户身份证号→客户性别,客户身份证号→客户所在单位,客户身份证号→客户联系电话

车牌号→品牌,车牌号→座位数,车牌号→颜色,车牌号→购入日期,车牌号→分类号

分类号→库存数,分类号→日租价格,分类号→日租超公里价格,分类号→

月租价格,分类号→月租超公里价格,分类号→品牌

订单号→客户身份证号,订单号→车牌号,订单号→租赁日期,订单号→归还

日期,订单号→租赁金额

部分依赖:

(工号,车牌号)→(分别决定)姓名、密码、性别、联系电话,品牌、座位数、颜色、租赁状态、购入日期、分类号

传递依赖:

订单号→(分别决定)客户的姓名、密码、性别、所在单位、联系电话、品牌、分类号、座位数、颜色、租赁状态、购入日期

六、物理设计

6.1表汇总

表名

功能说明

car

存储车辆的信息

carclass

存储车辆类别的信息

worker1

存储工作人员的信息

rent

存储租赁的信息

customer

存储客户的信息

manage

存储工作人员与车辆的联系

6.1.1表[car]:

[车辆信息表]

表名

car

数据库用户

Test

主键

CarNo

索引字段

CarClassNo

序号

字段名称

数据类型

允许为空Y/N

唯一

Y/N

区别度

默认值

约束条件/说明

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脚本

DROPTABLEIFEXISTS`car`;

CREATETABLE`car`(

`CarNo`varchar(10)NOTNULL,

`CarColor`varchar(10)NOTNULL,

`CarDate`dateNOTNULL,

`CarSta`bit(10)NOTNULL,

`CarClassNo`varchar(10)NOTNULL,

PRIMARYKEY(`CarNo`),

KEY`CarClassNo`(`CarClassNo`),

CONSTRAINT`CarClassNo`FOREIGNKEY(`CarClassNo`)REFERENCES`carclass`(`CarClassNo`))

6.1.2表[carclass]:

[车辆类别表]

表名

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

CarClassDayPrice1

varchar(10)

N

N

日租超公里价格

6

CarClassMonthPrice

varchar(10)

N

N

月租价格

7

CarClassBrand

varchar(10)

N

N

车辆品牌

sql脚本

DROPTABLEIFEXISTS`carclass`;

CREATETABLE`carclass`(

`CarClassNo`varchar(10)NOTNULL,

`CarClassCnt`varchar(10)NOTNULL,

`CarClassDayPrice1`varchar(10)NOTNULL,

`CarClassDayPrice2`varchar(10)NOTNULL,

`CarClassMonthPrice`varchar(10)NOTNULL,

`CarClassBrand`varchar(10)NOTNULL,

`CarClassseat`varchar(10)NOTNULL,

PRIMARYKEY(`CarClassNo`))

6.1.3表[customer]:

[客户信息表]

表名

customer

数据库用户

Test

主键

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)

N

N

客户电话

7

CusCompany

varchar(10)

N

N

公司

sql脚本

DROPTABLEIFEXISTS`customer`;

CREATETABLE`customer`(

`CusNo`varchar(10)NOTNULL,

`CusName`varchar(10)NOTNULL,

`CusSex`varchar

(2)NOTNULL,

`CusAge`varchar(4)NOTNULL,

`CusPhone`varchar(20)NOTNULL,

`CusCompany`varchar(20)NOTNULL,

`CusPassword`varchar(10)NOTNULL,

PRIMARYKEY(`CusNo`)

6.1.4表[worker1]:

[工作人员信息表]

表名

worker1

数据库用户

Test

主键

WorkNo

序号

字段名称

数据类型

允许为空Y/N

唯一

Y/N

区别度

默认值

约束条件/说明

1

WorkNo

varchar(10)

N

Y

主键

2

WorkPassword

varchar(10)

N

N

密码

3

WorkName

varchar(10)

N

N

姓名

4

WorkSex

varchar(10)

N

N

性别

5

WorkPhone

varchar(10)

N

N

电话

sql脚本

DROPTABLEIFEXISTS`worker1`;

CREATETABLE`worker1`(

`WorkNo`varchar(10)NOTNULLDEFAULT'',

`WorkPassword`varchar(10)DEFAULTNULL,

`WorkName`varchar(10)DEFAULTNULL,

`WorkSex`varchar(10)DEFAULTNULL,

`WorkPhone`varchar(10)DEFAULTNULL,

PRIMARYKEY(`WorkNo`)

6.1.5表[rent]:

[租赁表]

表名

rent

数据库用户

Test

主键

RecordNo

索引

CarNo、CusNo

序号

字段名称

数据类型

允许为空Y/N

唯一

Y/N

区别度

默认值

约束条件/说明

1

RecordNo

varchar(10)

N

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脚本

DROPTABLEIFEXISTS`rent`;

CREATETABLE`rent`(

`RecordNo`varchar(10)NOTNULL,

`RecordRentDate`datetimeNOTNULL,

`RecordReturnDate`datetimeNOTNULL,

`CusNo`varchar(10)NOTNULL,

`CarNo`varchar(10)NOTNULL,

`RecordCost`varchar(10)DEFAULTNULL,

PRIMARYKEY(`RecordNo`),

KEY`CusNo`(`CusNo`),

KEY`CarNo`(`CarNo`),

CONSTRAINT`CarNo`FOREIGNKEY(`CarNo`)REFERENCES`car`(`CarNo`),

CONSTRAINT`CusNo`FOREIGNKEY(`CusNo`)REFERENCES`customer`(`CusNo`)

6.1.6表[manage]:

[管理表]

表名

Wmanage

数据库用户

Test

主键

CarNo、WorkNo

索引

CarNo

序号

字段名称

数据类型

允许为空Y/N

唯一

Y/N

区别度

默认值

约束条件/说明

1

WorkNo

varchar(10)

N

Y

主键

2

CarNo

varchar(10)

N

N

主键

sql脚本

DROPTABLEIFEXISTS`manege`;

CREATETABLE`manege`(

`WorkNo`varchar(10)NOTNULLDEFAULT'',

`CarNo`varchar(10)NOTNULLDEFAULT'',

PRIMARYKEY(`WorkNo`,`CarNo`),

KEY`CarNo`(`CarNo`),

CONSTRAINT`manege_ibfk_1`FOREIGNKEY(`CarNo`)REFERENCES`car`(`CarNo`),

CONSTRAINT`WorkNo`FOREIGNKEY(`WorkNo`)REFERENCES`worker1`(`WorkNo`)

6.2视图的设计

6.2.1视图[V1]:

按车辆的类别统计汽车的租赁金额和数库存数

关键代码:

DROPVIEWIFEXISTS`v1`;

CREATEALGORITHM=UNDEFINEDDEFINER=`root`@`localhost`SQLSECURITYDEFINERVIEW`v1`ASselect`carclass`.`CarClassNo`AS`CarClassNo`,`carclass`.`CarClassCnt`AS`CarClassCnt`from`carclass`groupby`carclass`.`CarClassNo`;

图3按类别统计汽车的租赁金额和剩余的库存

6.2.2视图[V2]:

通过订单号了解到所租车辆的类别号及类别名

关键代码:

DROPVIEWIFEXISTS`v2`;

CREATEALGORITHM=UNDEFINEDDEFINER=`root`@`localhost`SQLSECURITYDEFINERVIEW`v2`ASselect`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`.`CarClassNo`))groupby`car`.`CarClassNo`;

图4订单号求所租车辆的类别号及类别名

6.2.3视图[V3]:

统计某一年龄阶段对汽车类别的喜好,并统计相应人数

关键代码:

DROPVIEWIFEXISTS`v3`;

CREATEALGORITHM=UNDEFINEDDEFINER=`root`@`localhost`SQLSECURITYDEFINERVIEW`v3`ASselect`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`

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

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

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