数据库设计.docx

上传人:b****5 文档编号:8378485 上传时间:2023-01-30 格式:DOCX 页数:92 大小:984.03KB
下载 相关 举报
数据库设计.docx_第1页
第1页 / 共92页
数据库设计.docx_第2页
第2页 / 共92页
数据库设计.docx_第3页
第3页 / 共92页
数据库设计.docx_第4页
第4页 / 共92页
数据库设计.docx_第5页
第5页 / 共92页
点击查看更多>>
下载资源
资源描述

数据库设计.docx

《数据库设计.docx》由会员分享,可在线阅读,更多相关《数据库设计.docx(92页珍藏版)》请在冰豆网上搜索。

数据库设计.docx

数据库设计

《工程数据库原理及应用》大作业

基于VB+Access的汽车租赁管理系统的开发实践报告

 

李虎

2010-12-28

近年来,计算机技术日趋成熟,数据库技术不断发展,管理信息系统的应用已延伸到社会的各个领域。

结合管理信息系统的开发方法及步骤,以此为理论基础,开发出一个小型的信息管理系统——汽车租赁管理系统。

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

设计实现了系统用户管理、基本信息管理、业务管理、会员管理等程序模块,分析并解决了现实中的若干技术问题。

汽车租赁管理系统

1.概述

1.1开发背景

随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。

随着经济文化水平的显著提高,人们对生活质量及工作环境的要求也越来越高。

如何通过计算机为我们完成更多的事情,进而达到办公自动化和优化日常工作的目的,也就成了一个大众化的课题。

作为计算机应用的一部分,使用计算机对信息进行管理,具有与手工管理所无法比拟的优点.例如:

检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高汽车租赁管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。

数据库技术产生于60年代,40多年来数据库技术得到了迅速发展,并已形成较为完整的理论体系和一大批实用系统。

并且,近年来,随着Internet技术的迅速发展,数据库技术成为最热门技术。

面向对象软件的开发技术,也大大保障了软件开发的速度和效果。

信息技术的日新月异,给汽车租赁管理带来巨大的影响。

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

随着计算机的普及,计算机等硬件价格也已经不再是什么天文数字。

计算机应用技术的发展,计算机硬件性能的不断改进,为汽车租赁管理系统的开发提供了技术支持和经济可行性。

管理系统的应用,可以将工作者从烦杂的劳动中解脱出来,极大提高工作效率。

因此,不管是从技术上,还是经济上,设计和开发一个汽车租赁管理系统都已经具有较好的可行性。

1.2选题意义及目标

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

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

本汽车出租管理系统主要实现4个大的功能模块:

基本信息的管理、客户会员管理、日常业务管理、系统用户管理。

每个模块又分成多详细的功能子模块。

总的来说,课题的目的主要有以下三个:

首先学会去开发一个管理信息系统;其次,通过开发数据库相关的应用程序,把理论知识运用到实践中来;再次,初步掌握一门Windows下的快速GUI(图形用户界面)编程工具MicrosoftVisualBasic6.0;最后,通过对论文的撰写过程,对语言文字组织能力、表述能力以及层次分析的能力也进行锻炼。

1.3设计方法

1.查询相关资料,了解本系统的研究意义。

可以上网搜索或者是去图书馆查阅相关资料。

2.通过查询资料了解该系统要如何做,及要做哪些东西。

3.设计出大体上的功能模块,画出模块图。

4.通过进一步的了解,对每个功能模块进行细化,将每一步都想清楚。

制定出每一步的做法和注意的地方。

5.对设计好的程序进行调试,通过调试发现存在的问题并解决,从而达到完善系统的目的。

6.最后,整理各阶段的设计记录文档,写成论文稿。

1.4开发工具

该课题的研究可以加深对工程数据库原理及应用的认识,逐步掌握开发一种系统所需要的知识,包括对开发工具的了解。

VisualBasic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。

它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C++编程基础。

在VisualBasic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。

2.需求分析

2.1系统需求

汽车租赁公司在正常开展业务之前,需要先行积累并整理大量的基础资料,包括:

汽车销售商、保险公司、客户、会员和公司现有车辆的信息,并且还必须考虑保险种类,汽车种类及会员类型的变化对业务流程的影响。

各种信息之间的关系比较复杂,很多信息的改变时互相影响的。

当发生租赁业务时,需要有客户、汽车、及该租赁行为是否是续租行为三个方面的信息支持,而当要处理一辆汽车信息时,更是要涉及到销售商、保险公司、保险种类、汽车种类及汽车自身的基本信息等多方面的信息资源。

所以开发的汽车租赁管理系统要满足上述基本要求。

2.2功能需求

经过详细的调研分析之后,可以得出汽车租赁管理系统的主要功能要求如下:

1.基本信息管理功能:

添加、修改、删除和查看汽车类型信息;添加、修改、删除和查看保险类型信息;添加、修改、删除和查看会员类型信息。

2.销售商管理功能:

添加销售商信息,包括销售商编号、名称、联系电话、传真、地址等信息;修改销售商信息;删除销售商信息;查看销售商信息;查看销售的汽车信息。

3.保险公司管理功能:

添加保险公司信息,包括保险公司编号、名称、联系电话、传真、地址等信息;修改保险公司信息;删除保险公司信息;查看保险公司信息;查看保险的汽车信息。

4.系客户信息管理功能:

添加客户基本信息,包括客户编号、姓名、年龄、工作单位等信息;修改客户基本信息;删除客户基本信息;升级客户为会员;查看客户基本信息。

5.会员信息管理功能:

修改会员信息;注销会员信息;查看会员信息。

6.汽车信息管理功能:

添加汽车基本信息,包括车牌号、车辆名称、车辆类型、车身颜色、发动机号等信息;修改汽车基本信息;删除汽车基本信息;查询汽车基本信息。

7.汽车租赁管理功能:

添加租赁信息,包括车牌号、客户号、租赁模式、租赁时间、出车公里数等信息;修改租赁信息;删除租赁信息;审核租赁信息;打印租赁信息;查看租赁信息。

8.汽车续租管理功能:

添加续租信息,包括租赁时间、租赁天数等信息;修改续租信息;审核续租信息;查看续租信息。

9.汽车归还管理功能:

添加归还信息,包括实际归还时间、回车公里数、超时费用、超公里费用等信息;修改归还信息;结算审核归还信息;查看归还信息。

10.系统用户管理功能:

添加系统用户信息,包括用户名、密码、员工编号和用户类型(系统管理员和普通用户)等信息;修改系统用户信息;删除系统用户信息;查看系统用户信息。

3.总体设计

3.1系统概述

系统开发的总体任务是实现汽车租赁公司各种信息的系统化、规范化和自动化,从而达到提高管理效率的目的。

从用户的观点来看,要求系统能够达到以下目标:

及时收集保存信息、快速传递信息、实现数据共享。

设计员从技术观点上看,要求系统达到以下目标:

方便用户使用、具有较高的可靠性、具有较好的运行效果、具有较高的可维护性和可扩充性,能够适应用户新的业务要求。

3.2系统模块

根据上一小节介绍的功能,可以设计出系统的总体功能模块,如图3.1所示:

图3.1汽车租赁管理系统功能模块示意图

可以看到,本系统划分为4个功能模块,基本信息管理模块用于管理汽车类型、保险类型及车辆的基本信息,客户会员管理模块用于对租赁车辆的客户进行统一管理,日常业务管理用于管理汽车租赁的业务信息,系统用户管理模块用于管理系统用户信息。

下面分别介绍这4个功能模块的基本功能。

基本信息管理模块的基本功能如图3.2所示:

图3.2基本信息管理模块功能图

客户会员管理模块的基本功能如图3.3所示:

图6.3客户会员管理模块功能图

日常业务管理模块是整个系统的核心,其他模块都为它提供基础数据,基本功能如图3.4所示。

图3.4日常业务管理模块功能图

在本系统中,用户管理模块的功能比较简申。

在系统创始化时,有一个默认的“系统管理员”用户Admin,有程序设计员手动地添加到数据库中。

Admin用户也可以创建用户、修改用户信息以及删除用户;普通用户则只能修改自己的用户名和密码。

用户管理功能模块的关系如图3.5所示:

图3.5用户管理功能集合模块关系图

3.3系统流程分析

本节将对实例进行系统流程分析,所谓系统流程就是用户在使用系统时的工作过程。

对于多类型用户的管理系统来说.每一类用户的工作流程部是不相同的。

多用户系统的工作流程都从用户登录模块开始,对用户的身份进行认证,确认用户是否是有效的系统用户,决定用户能否进入系统。

本系统的流程图分析如图3.6所示:

图3.6系统流程分析图

进入系统后,这些操作可以笼统地分为用户管理模块和租赁管理模块。

4.数据库设计

4.1创建数据库

在设计数据库表结构之前,首先要创建一个数据库。

本系统使用的数据库为“Lease.mdb”。

4.2设计表结构

数据库包含以下7张表:

类型表Types、会员类型表MemberType、公司信息表Company、客户信息表Customer、汽车信息表Cars、汽车租赁表Lease和用户信息表Users。

下面分别介绍这些表的结构。

1.会员类型表MemberType

类型表Types用来保存汽车分类和保险类型的信息。

本系统采用树状结构来管理类型数据,也就是在类型之间建立从属关系。

表Types的结构如表4.1所示:

表4.1Types的结构

编号

字段名称

数据类型

说明

1

Id

自动编号,长整型

类型编号,主键

2

TypeName

文本,长度为50

类型名称,必填字段(是),允许空字符串(否)

3

TypeId

数字,字节

类型分类,1-汽车类型;2-保险种类

4

Description

文本,长度为100

类型职能描述,必填字段(否),允许空字符串(是)

2.会员类型表MemberType

会员类型表MemberType用来保存会员的类型信息。

表MemberType的结构如表4.2所示:

表4.2MemberType的结构

编号

字段名称

数据类型

说明

1

Id

数字,长整型

类型编号,主键

2

TypeName

文本,长度为50

类型名称,必填字段(是),允许空字符串(否)

3

Rate

数字,单精度型

享受的折扣

3.公司信息表Company

公司信息表Company用来保存销售商和保险公司的基本信息。

表Company的结构如表4.3所示:

表4.3Company的结构

编号

字段名称

数据类型

说明

1

Id

自动编号,长整型

公司编号,主键

2

Company

文本,长度为100

公司名称,必填字段(是),允许空字符串(否)

3

Telephone

文本,长度为50

联系电话,必填字段(否),允许空字符串(是)

4

ZipCode

文本,长度为10

邮政编码,必填字段(否),允许空字符串(是)

5

Fax

文本,长度为40

传真,必填字段(否),允许空字符串(是)

6

Address

文本,长度为50

地址,必填字段(是),允许空字符串(否)

7

Email

文本,长度为50

电子邮件,必填字段(否),允许空字符串(是)

8

Contact

文本,长度为50

联系人,必填字段(否),允许空字符串(是)

9

TypeId

数字,字节

公司类型,1-销售商;2-保险公司

10

Comment

备注

说明,必填字段(否),允许空字符串(是)

4.客户信息表Customer

客户信息表Customer用来保存销售商和保险公司的基本信息。

表Customer的结构如表4.4所示:

表4.4Customer的结构

编号

字段名称

数据类型

说明

1

Id

文本,长度为20

客户编号,主键

2

Name

文本,长度为50

姓名,必填字段(是),允许空字符串(否)

3

Sex

文本,长度为2

性别,必填字段(否),允许空字符串(是)

4

Age

数字,整型

年龄,必填字段(否),允许空字符串(是)

5

IdCard

文本,长度为30

身份证号,必填字段(否),允许空字符串(是)

6

Telephone

文本,长度为30

电话,必填字段(否),允许空字符串(是)

7

WorkPlace

文本,长度为50

工作地点,必填字段(否),允许空字符串(是)

8

Address

文本,长度为50

家庭住址,必填字段(否),允许空字符串(是)

9

ZipCode

文本,长度为10

邮政编码,必填字段(否),允许空字符串(是)

10

Email

文本,长度为30

电子邮件,必填字段(否),允许空字符串(是)

11

LicenseNo

文本,长度为30

驾驶证号,必填字段(否),允许空字符串(是)

12

LecenseType

文本,长度为20

驾驶证类型,必填字段(否),允许空字符串(是)

13

GetDate

文本,长度为20

发证日期,必填字段(否),允许空字符串(是)

14

ExpiredData

文本,长度为20

到期日期,必填字段(否),允许空字符串(是)

15

DriverAge

数字,整型

驾龄,必填字段(否),允许空字符串(是)

16

Flag

数字,字节

会员标记(0-非会员,2-会员)

17

TypeId

数字,长整型

会员类型

18

Certificate

文本,长度为40

抵押证件,必填字段(否),允许空字符串(是)

19

Warrantor

文本,长度为50

担保人,必填字段(否),允许空字符串(是)

20

WIdCard

文本,长度为30

担保人身份证,必填字段(否),允许空字符串(是)

21

WWorkPlace

文本,长度为100

担保人工作单位,必填字段(否),允许空字符串(是)

5.汽车信息表Cars

汽车信息表Cars用来保存汽车的基本信息。

表Cars的结构如表4.5所示:

表4.5Cars的结构

编号

字段名称

数据类型

说明

1

CarNo

文本,长度为20

车牌号,主键

2

TypeId

数字,整型

车辆类型,必填字段(是)

3

CarName

文本,长度为50

车辆名称,必填字段(否),允许空字符串(是)

4

Color

文本,长度为20

车辆颜色,必填字段(否),允许空字符串(是)

5

OilNo

文本,长度为30

汽油编号,必填字段(否),允许空字符串(是)

6

EngineNo

文本,长度为50

发动机号,必填字段(否),允许空字符串(是)

7

CarCase

文本,长度为50

车架号,必填字段(否),允许空字符串(是)

8

SaleId

数字,长整型

销售商编号,必填字段(否)

9

BuyDate

日期/时间

购买日期,必填字段(否),允许空字符串(是)

10

InsurNo

文本,长度为50

保单号,必填字段(否),允许空字符串(是)

11

InsurId

数字,长整型

保险公司编号,必填字段(否)

12

InsurType

文本,长度为50

保险种类,必填字段(否),允许空字符串(是)

13

InsurSdate

日期/时间

起保日期,必填字段(否),允许空字符串(是)

14

InsurEdate

日期/时间

结束日期,必填字段(否),允许空字符串(是)

15

Deposit

数字,整型

押金,必填字段(否)

16

DayPrice

数字,整型

日租金,必填字段(否)

17

WeekEndPrice

数字,整型

周末租金,必填字段(否)

18

WeekPrice

数字,整型

周租金,必填字段(否)

19

MonthPrice

数字,整型

月租金,必填字段(否)

20

DayPM

数字,整型

日限公里数,必填字段(否)

21

OverTimePrice

数字,整型

超时租金,必填字段(否)

22

OverKMPrice

数字,整型

超公里租金,必填字段(否)

23

Status

文本,长度为10

状态,必填字段(否),允许空字符串(是)

24

Comment

备注

备注,必填字段(否),允许空字符串(是)

6.汽车租赁表Lease

汽车租赁表Lease用米保存汽车租赁的日常业务信息。

表Lease的结构如表4.6所示:

表4.6Lease的结构

编号

字段名称

数据类型

说明

1

ContactNo

文本,长度为50

合同编号,主键

2

CarNo

文本,长度为20

车牌号,必填字段(是),允许空字符串(否)

3

CusrId

文本,长度为20

客户编号,必填字段(是),允许空字符串(否)

4

LeaseTime

日期/时间

租赁时间,必填字段(是),允许空字符串(否)

5

LeaseMode

文本,长度为10

租赁模式(分为按日、按周、按月),必填字段(是),允许空字符串(否)

6

Price1

数字,整型

租赁价格,必填字段(是)

7

Price2

数字,整型

按日期时的周末租赁价格,必填字段(否)

8

WorkDays

数字,整型

租赁工作日、周、月的数量,必填字段(是)

9

WeekEndCount

数字,整型

租赁的周末个数,必填字段(否)

10

Deposit

数字,整型

押金,必填字段(否)

11

DayKM

数字,整型

日限公里数,必填字段(是)

12

OutKM

数字,整型

出车公里数,必填字段(是)

13

OPrice1

数字,整型

超时每公里价格,必填字段(否)

14

OPrice2

数字,整型

超市每小时价格,必填字段(否)

15

ReturnTime

日期/时间

应归还时间,必填字段(是)

16

Retutn

数字,长整型

归还公里数,必填字段(是)

17

OtherCost

数字,长整型

其他费用,必填字段(否)

18

Rate

数字,长整型

折扣,必填字段(是)

19

Payment

数字,长整型

实际支付金额,必填字段(是)

20

Total

数字,长整型

总金额,必填字段(是)

21

Status

文本,长度为10

状态,必填字段(是),允许空字符串(否)

22

CreateData

日期/时间

创建日期,必填字段(是)

23

UserName

文本,长度为20

创建人,必填字段(是),允许空字符串(否)

24

RealRTime

日期/时间

实际归还时间,必填字段(是)

7.用户信息表Users

用户信息表Users用来保存系统用户信息。

表Users的结构如表4.7所示:

表4.7Users的结构

编号

字段名称

数据类型

说明

1

UserName

文本,长度为40

用户名,主键,必填字段(是),允许空字符串(否)

2

Pwd

文本,长度为40

密码,必填字段(是),允许空字符串(否)

5.关于程序设计的简要说明

程序设计对于系统实现是一项非常重要的工作。

总体上说,要求程序结构清晰,简单易懂;不要随便定义全局变量,尽量使用局部变量;禁止出现GOTO、ELSEGOTO和ELSERETURN语句;禁止出现两条等价的支路。

5.1窗体界面设计

1.窗体界面设计要清晰,控件的设计要便于用户使用。

例如,能够确定输入值范围的地方尽量使用下拉列表框,让用户选择输入而不要使用文本框;同时注意保持所有的界面风格一致。

2.为了保证系统根据不同的用户提供灵活的操作并保证系统的安全性,不直接使用Datagrid来更新数据,而选用TextBox。

3.各个窗体的BorderStyle属性均设置为1-FixedSingle。

5.2OptionExplicit

在书写所有模块和窗体的任何函数代码之前都要添加OptionExplicit语句,用来强制要求使用Dim、Private、Public或ReDim语句显式声明该脚本所使用的所有变量,是程序设计更加规范。

5.3可重用性要求

1.尽量使用小规模函数,将功能复杂的大规模函数进行分解。

2.重复使用且完成相对独立功能的代码写成公共函数。

3.创建一个系统模块,用来定义公共变量和书写公共函数。

4.尽量使用标准库函数和公共函数。

5.4命名规则

1.循环变量、开关变量名称要尽可能的简单。

2.常量、变量和函数名一般采用其英文表意单词或其缩写。

3.常量一般用大写字母,变量名称如果由多个单词组成,则每个单词的首字母大写;全局变量要在变量名最前面加英文字母g。

4.控件命名使用控件类型缩写+控件用途的命名方式。

5.5书写格式

1.定义的代码块应该放在一起,尽量不要在中间定义变量。

2.对象的定义应该尽可能地带上所属的库名称,例如,string类型变量一般前缀为str。

3.缩进。

(1)变量声明块不缩进。

(2)对于基本的控制结构要有缩进。

例如:

If******Then

XXXXXXXXXX

EndIf

(3)对于过长的语句使用续行。

例如:

Sql=“select******”

Sql=sql+“fromXXXXXXXXXX”

5.6容错处理

对于所有的更新操作,在更新数据前都要进行输入值的合法性检验,包括输入数值类型、长度等的检验,一面更新数据库时在业务上和数据库处理上发生不必要的错误;对于错误的输入,给予信息提示并改变背景颜色,用来明确地向用户提示错误输入的位置;当控件内容改变时,背静恢复原色。

5.7添加注释

添加注释是程序可读性的一个基本要求。

注释不宜过多,但要针对程序,使别人能够轻而易举地读懂程序。

一般在典型和特殊算法前都要有注释。

注释的作用范围可以定义为:

定义、引用、条件分支和一段代码。

对于显而易见的参数或函数功能可以不加注释。

5.8程序设计部分书写说明

一些事件和函数的程序设计同本系统其他模块类似,且处理比较简单,在程序设计部分的书写省略其实现代码;模块的窗体公共变量若无特殊要求,书写时均省略。

6.详细设计

6.1设计工程框架

本节将介绍如何设计工程的框架,包括创建工程、在工程中添加和注册数据库访问控件、添加数据库访问类、为每个表创建对应的类、设计系统主界面、设计登录对话框等。

1.创建工程

用户需要创建工程存储的目录,例如“Chp6\Code”。

运行VisualBasic6.0主程序,并选择新建“标准EXE”工程。

新建工程后,在VisualBasic中有一个缺省的窗体Form1,我们将在此基础上设计系统的主界面。

选择“工程”菜单中的“工程1属性”命令,在“工程属性”对话框中,将工程名设置为Lease。

单击“保存”按钮,将工程存储为Lease.v

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

当前位置:首页 > PPT模板 > 商务科技

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

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