2024年4月17日发(作者:)
《数据库原理与应用》课程设计
收费停车场管理系统数据库设计
20010年12月
目录
1.
引言 ............................................................................................................................... 4
2.
需求分析阶段 ................................................................................................................ 4
2.1引言 .............................................................................................................................. 4
2.2任务 .............................................................................................................................. 4
2.2.1需求分析阶段的目标 ........................................................................................ 4
2.2.2具体任务 ........................................................................................................... 5
2.2.3 结果 .................................................................................................................. 5
3.
概念设计阶段 ................................................................................................................ 7
3.1目标 .............................................................................................................................. 7
3.2设计过程 ....................................................................................................................... 8
3.3阶段成果 ....................................................................................................................... 8
4.
逻辑设计阶段 ................................................................................................................ 9
4.1目标 .............................................................................................................................. 9
4.2任务与结果 ................................................................................................................... 9
4.2.1数据组织 ........................................................................................................... 9
图9.系统功能模块图 ......................................................................................................... 12
5.
物理设计阶段 .............................................................................................................. 12
5.1目标 ............................................................................................................................ 12
5.2任务 ............................................................................................................................ 12
5.2.1数据存取方面 .................................................................................................. 13
5.2.2功能模块图 ..................................................................................................... 13
5.3结果 ............................................................................................................................ 15
5.3.1 存储过程 ........................................................................................................ 15
5.3.2 触发器 ............................................................................................................ 15
2
6.
数据库实施阶段 ........................................................................................................... 16
6.1目标 ............................................................................................................................ 16
6.2任务与结果 ................................................................................................................. 16
6.2.1建立数据库 ..................................................................................................... 16
7.
数据库调试与测试 ....................................................................................................... 16
8.
收获与体会 ....................................................................................... 错误!未定义书签。
3
1. 引言
21世纪以来,现代化产业高速发展,汽车作为日常交通工具已经普及社会的每一个角落,
给人们的日常生活带来了极大的便利。但是随着汽车拥有量的急剧增加,车辆停放的问题随
之而来,如果没有合理的停放规则和秩序,势必引起许多不必要的麻烦,反而给生活带来不
便。
停车场作为交通设施的组成部分,随着交通运输的繁忙和不断发展,人们对其管理的要
求也不断提高,都希望管理能够达到方便、快捷以及安全的效果。然后目前的许多停车场还
处于一种纯人工的管理的模式,在车辆的管理上效率低下,而且十分容易出错。因此需要一
种合适的管理系统来解决这些问题,达到高效,简易的效果,给广大人民的出行带来方便。
本论文旨在设计一个简单、高效且实用的停车场管理系统,希望能解决目前管理上存在
的一些问题。系统的设计过程经过了需求分析阶段、概念设计阶段、逻辑结构设计阶段、数
据库物理设计阶段、数据库的实施和维护以及系统的调试与测试,最终完成了一个比较完善
的收费停车场管理系统。
2. 需求分析阶段
2.1引言
需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将
直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。
目前停车场的管理方式比较落后,已经不能适应现代社会的实际需求,本系统的开发能
给管理上带来新鲜的活力,提高管理的效率,具有较高的实用性和开发价值。
2.2任务
2.2.1需求分析阶段的目标
通过调查了解分析停车管理的现状,弄清用户对开发的数据库应用系统的确切要求,以
及停车场管理的流程,系统的具体功能和数据库中数据信息。
4
2.2.2具体任务
(1)处理对象
系统处理的对象包括车辆信息、固定车位信息、自由车位信息、停车车辆信息以及收费
记录等五个方面。即
固定车位信息:车位编号、车位位置、车牌号码、车主姓名、车辆品牌、车辆颜色、车
辆照片、联系地址、联系方式、车位余额;
自由车位信息:车位编号、车位位置;
车辆信息:车牌号码、车辆品牌、车辆颜色;
停车信息:车位编号、车牌号码、进入时间、离开时间、时间段、车位类型、在位情况、
收费费率;
收费记录:车位编号、车牌号码、停车时间、停车费用、发票编号。
(2)处理功能要求
整个系统具体包括三个子系统,分别为:停车处理子系统、车位综合管理子系统以及收
费子系统。
处理的功能包括:车辆信息的查询以及更新;空闲车位信息的查询;固定车位信息的查
询;进出车辆记录的更新和收费信息的查询与更新等。
(3)安全性与完整性要求
安全性可以通过视图机制来完成,对不同用户设置不同权限,不同的用户只能访问授权
的视图,这样可以提高一定的程度的安全性。还可以通过存取控制机制:即定义用户权限,
并将用户权限登记到数据字典中以及合法的权限检查来保障安全性。
完整性可以通过声明完整性,即在定义表时声明数据完整性和过程完整性,在服务器端
编写触发器来实现。
2.2.3 结果
(1)体会和收获
通过对现在的停车场管理状况的调查,发现停车场管理缺少合适的管理系统,并了解了
一下管理的大致流程。与此同时通过网络搜索查找现行的停车场管理系统,根据这两者综合
来进行需求分析。调查时需要较强的信息捕捉能力以及事后的总结与思考,同时学会用网络
较快较准确地搜索到需要的资料是很关键的。
(2)业务流程图
见附录1
(3)数据流图
5
见附录2
(4)数据字典
数据项:
表2-1数据项说明
数据项编号
DI-1
DI-2
DI-3
DI-4
DI-5
DI-6
DI-7
DI-8
DI-9
DI-10
DI-11
DI-12
DI-13
DI-14
DI-15
DI-16
Dl-17
Dl-18
Dl-19
数据项名
Cwno
Carno
Carname
Carcolor
Carpho
Caradd
Cartel
Carat
Carin
Carout
Carmon
Montime
Moneypay
Cwtype
Cartime
Piece
Carsb
Cwpace
Timetype
数据项含义
车位编号
车牌号码
车主姓名
车辆颜色
车辆照片
联系地址
联系方式
在位情况
进入时间
离开时间
车位余额
收费费率
停车费用
车位类型
停车时间
发票编号
车辆品牌
车位位置
时间段
与其它数据项的关系
存储结构
char(10)
char(10)
char(10)
char(4)
bit
char(20)
char(20)
char(4)
datetime
datetime
float
float
float
char(4)
float
char(20)
char(10)
char(10)
char(6)
时间
车名
位置
别名
编号
车牌
姓名
颜色
照片
地址
电话
余额
费率
收费
数据结构:
表2-2数据结构
6
数据
结构
编号
数据结构
名
数据结
构定义
组成
DS-1 Fixed
固定车位
信息
自由车位
信息
Cwno、Cwpace、Carno、Carname、Carcolor、CarsbCarpho、Caradd、
Cartel、Carmon
DS-2 Free Cwno、Cwpace
DS-3 Stop 停车信息 Cwno、Carno、Carat 、Carin、Carout 、Timetype、Cwtype、Montime
DS-4 Moneynote 收费记录 Cwno、Carno、Cartime、Moneypay、Piece
DS-5 Car 车辆信息 Carno、Carsb、Carcolor
(5)处理逻辑描述
表2-3处理逻辑描述
处理编号
PR-1
判断用户查询涉及的功能模块
处理功能 处理过程
固定车位信息模块、自由车位信息模块、停车车辆
信息模块、进出车辆记录信息模块、收费记录模块:
先确定查询所涉及的功能模块;然后,确定要查询
的内容,确定查询数据流向;最后显示查询结果。
PR-2
判断用户修改要涉及的模块,同时
把相应的修改数据传到相应的模块
之中
固定车位信息模块、自由车位信息模块、停车车辆
信息模块、进出车辆记录信息模块、收费记录模块:
先确定更新所涉及的功能模块;然后,把更新信息
传送到相应的模块中;最后,进行相应的更新操作。
3. 概念设计阶段
3.1目标
概念结构设计师是将需求分析得到的用户需求抽象为信息结构即概念模型的过程。它是
整个数据库设计的关键。概念结构设计步骤分为两步:第一步是抽象数据并设计局部视图,
第二步是集成局部视图,得到全局的概念结构。
7
3.2设计过程
(1)选择中层数据流为切入点,通常选择实际系统中的子系统;
(2)设计分E-R图,即各子模块的E-R图;
(3)生成初步E-R图,通过合并方法,做到各子系统实体、属性、联系统一;
(4)生成全局E-R图,通过消除冲突等方面。
通过分析系统的业务流图与数据流图,得到系统围绕“车辆”与“车位”之间的相互关
系。
3.3阶段成果
分E-R图:
全局E-R图:
E-R图属性如下所示:
车 辆:Car (Carno,Carsb,Carcolor) Carno是主码;
固定车位:Fixed(Cwno,Carpace,Carno,Carname,Carcolor,Carpho,Caradd,Cartel,Carmon);
自由车位:Freed(Cwno,Carpace) Cwno是主码;
收 费:Moneynote(Cwno,Carno,Cartime,Moneypay,Piece) Cwno和Carno是外码;
8
停 车:Stop (Cwno,Carno,Carin,Carout,Timetype,Cwtype,Montime
)
Cwno和Carno是
外码;
4. 逻辑设计阶段
4.1目标
逻辑结构设计的任务是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产
品所支持的数据模型相符合的逻辑结构。逻辑结构设计时一般要分为3步进行:将概念结构
转换为一般的关系、网状、层次模型;将转换来的关系、网状、层次模型向特定DBMS支持
下的数据模型转换;对数据模型进行优化。
4.2任务与结果
4.2.1数据组织
(1)将E-R模型转换为关系模型
转换的原则是:一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的
码就是关系的码。
对于实体间的联系则有以下不同的情况:
一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式
合并。三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连
的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如
果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为
关系的属性,而关系的码为n端实体的码。
一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属
性均转换为关系的属性,而关系的码为各实体码的组合。
3个或3个以上实体间的一个多元联系可以转换位一个关系模型。与该多元联系相连的
各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的
一部分。
具有相同码的关系模式可合并。
E-R图向关系模型转换的结果是:
车 辆:Car (Carno,Carsb,Carcolor) Carno是主码;
固定车位:Fixed(Cwno,Carpace,Carno,Carname,Carcolor,Carpho,Caradd,Cartel,Carmon)
自由车位:Freed(Cwno,Carpace) Cwno是主码;
9
收 费:Moneynote(Cwno,Carno,Cartime,Moneypay,Piece) Cwno和Carno是外码;
停 车:Stop (Cwno,Carno,Carin,Carout,Timetype,Cwtype,Carat,Montime) Cwno和
Carno是外码;
(2)模型优化
关系模型Car和Moneynote由于没有出现部分函数依赖和传递函数依赖,所以以上模型
已经达到3NF。但是关系模型Stop存在函数传递依赖CarinTimetype,Timetype-/->Carin
TimetypeMontime,因此应该将关系模型Stop转换为3NF,优化后的关系模型为“停车:
Stop(Cwno,Carno,Carin,Carout,Timetype)与费率信息:Moneyt(Timetype,Montime)。
关系模型Fixed和Freed之间存在数据冗余,因此可以将两个关系模型合并为一个关系
模型FFed,并添加识别信息,合并后的关系模型为
Ffed(Cwno,Carpace,Cartype,Carno,Carname,Carsb,Carcolor,Carpho,Caradd,Cartel,
Carmon)
模型优化后的关系模型为
车辆:
Car (Carno,Carsb,Carcolor) Carno是主码;
车位:Ffed(Cwno,Cwpace,Cwtype,Carno,Carname,Carsb,Carcolor,Carpho,Caradd,Cartel,
Carmon);
收费:Moneynote(Cwno,Carno,Cartime,Moneypay,Piece) Cwno和Carno是外码,被参照表
是Ffed和Car;
停车:Stop(Cwno,Carno,Carin,Carout,Carat,Timetype);
费率信息:Moneyt(Timetype,Montime)。
(3)数据库模式定义
表4-1车辆信息
列名
Carno
Carsb
Carcolor
数据类型
Char
Char
Char
是否为主码
是
否
否
是否为外码
否
否
否
取值范围
可否为空
否
可
可
含义说明
车牌号码
车辆品牌
车辆颜色
表4-2车位信息
列名
Cwno
Cwpace
Cwtype
Carno
Carname
Carsb
Carcolor
Carpho
数据类型
Char
Char
Char
Char
Char
Char
Char
Bit
是否为主码
是
否
否
否
否
否
否
否
是否为外码
否
否
否
否
否
否
否
否
10
取值范围
可否为空
否
否
否
可
可
可
可
可
含义说明
车位编号
车位位置
车位类型
车牌号码
车主姓名
车牌号码
车辆颜色
车辆照片
Caradd
Cartel
Carmon
Char
Char
Float
否
否
否
否
否
否
100~200
可
可
可
联系地址
联系电话
车位余额
表4-3停车信息
列名
Cwno
Carno
Carat
Carin
Carout
Timetype
数据类型
Char
Char
Bit
datetime
datetime
Char(6)
是否为主码
否
否
否
否
否
是
是否为外码
是
是
否
否
否
否
取值范围
高峰、一般、
低谷
可否为空
否
否
否
否
可
否
含义说明
车位编号
车牌号码
在位情况
进入时间
离开时间
时间段
表4-4费率信息
列名
Timetype
数据类型
Char(6)
是否为主码
是
是否为外码
否
取值范围
高峰、一般、
低谷
可否为空
否
含义说明
时间段
Montime Float 否 否 大于0 否 收费费率
表4-5收费记录
列名
Cwno
Carno
Cartime
列名
Moneypay
Piece
数据类型
Char
Char
Float
数据类型
Float
Char
是否为主码
否
否
否
是否为主码
否
否
是否为外码
是
是
否
是否为外码
否
否
取值范围
大于0
取值范围
大于0
可否为空
否
否
否
可否为空
可
可
含义说明
车位编号
车牌号码
停车时间
含义说明
停车费用
发票编号
(4)用户子模式定义
表4-6 用户子模式定义
序
号
V-1
V-2
视图名称
视图定义
视图作用
备注
Carinformation
Carfixedtion
车位号,车牌号
车位号,车牌号,车主,车名,车色,车照,
地址,电话,余额
查询在位车辆信息
查询在固定车位停车
的车辆信息
查询在自由车位停车
的车辆信息
V-3 carfreetion 车位号,车牌号,车名,车色
V-4 Carinouttion 车位号、车牌号、进入时间、离开时
间、时间段
查询车辆进出记录 作用与V-1不
一样
V-5 moneytime 时间段、费率 查询及修改收费费率
11
V-6
v-7
Moneytion
Carmoney
总收费
车牌号、缴费总额
查询停车场总收费
查询每辆车的缴费额
(5)功能模块图
图9.系统功能模块图
5. 物理设计阶段
5.1目标
物理设计就是为一个给定的逻辑数据结构模型选取一个最合适应用要求的物理结构的过
程。物理设计通常分为两步:确定数据库的物理结构,在关系数据库中主要指存取方法和存
储结构;对物理结构进行评价,评价的重点是时间和空间效率。如果评价结果满足原设计要
求,则可进入到物理实施阶段,否则,就需要重新设计或修改物理结构,有时甚至要返回逻
辑设计阶段修改数据模型。物理设计的内容包括:为关系模型选择存取方法;设计关系、索
引等数据库文件的物理存储结构。
5.2任务
12
5.2.1数据存取方面
由于经常需要判断是否有空余车位,所以要经常查询停车信息,因此在Stop表的Cwno
上建立聚簇索引以提高查询效率。
为了方便查询各个车辆的收费记录,在Moneynote表的Carno上建立聚簇索引以提高查
询效率
5.2.2功能模块图
(1)车位信息查询及更新模块图:
图10.车位信息查询及更新模块图
(2)停车信息查询及更新模块图:
13
图11.停车信息查询及更新模块图
(3)收费费率查询及更新模块图
:
图12.收费费率查询及更新模块图
14
5.3结果
5.3.1 存储过程
表5-1 存储过程
编号
P-1
P-2
P-3
P-4
P-5
P-6
P-7
P-8
P-9
P-10
P-11
P-12
P-13
P-14
P-15
存储过程名称
Sof1
Sof2
Sof3
Sof4
Sof5
Sof6
Sof7
Sof8
Sof9
Sof10
Sof11
Sof12
Sof13
Sof14
Sof15
定义
详见附录3-16
详见附录3-17
详见附录3-18
详见附录3-19
详见附录3-20
详见附录3-21
详见附录3-22
详见附录3-23
详见附录3-24
详见附录3-25
详见附录3-26
详见附录3-27
详见附录3-28
详见附录3-29
详见附录3-30
作用
查询固定车位总数
查询自由车位总数
查询空闲自由车位数目
查询车位总数
在Moneynote中查询任意车辆的收费
在Car中插入一元组
在Ffed中插入一元组
在Stop中插入一元组
在Moneynote中插入一元组
查询车辆Car信息
查询车位Ffed信息
查询停车Stop信息
查询收费Moneynote信息
删除一条收费Moneynote记录
修改固定车位车辆余额Carmon
5.3.2 触发器
表5-2 触发器
编号
T-1
P-2
P-3
存储过程名称
insert_or_update_carmon
tri_moneypay
tri_del_mo
定义
详见附录3-31
详见附录3-32
详见附录3-33
作用
限定余额值必须大于等于120的触发器
限制修改MONEYNOTE中大于50的触发器
限制删除moneynote表中大于70的数据
15
6. 数据库实施阶段
6.1目标
数据库实施阶段就是用DBMS提供的数据定义语言与其他实用程序将数据库逻辑设计和
物理设计结果严格描述出来,成为DBMS可以接受的源代码,再经过调试产生目标模式,然
后组织数据入库。数据库实施阶段包括两项重要的工作,一项是数据的载入,另一项是应用
程序的编码和调试。
6.2任务与结果
6.2.1建立数据库
(1) 建立数据库、数据表、视图、索引等
(a)建立数据库定义语句见附录3-1;
(b)建立数据表定义语句见附录3-2至3-6;
(c)建立视图定义语句见附录3-7至3-13;
(d)建立索引定义语句见附录3-14至3-15。
(2) 数据入库
系统包括共有5张基本表,因此事先在Excel中录入数据,然后使用SQL Server 2000数
据导入/导出向导功能,直接将数据导入到相应的基本表中。
7. 数据库调试与测试
对收费停车场管理系统的具体功能进行测试,测试包括:
(1)测试各视图的功能,测试结果见附录4-1;
(2)测试各存储过程的功能,测试结果见附录4-2;
(3)测试各触发器的功能,测试结果见附录4-3。
8.结束语
通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理
解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对
灵据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表
示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,在实验中建表,及其关系
模式,关系代数的建立及理解,将SQL语的查询语句用得淋漓尽致,增强了自己在数据库中
应用SQL语言的灵活性,其中包括,插入、删除、修改、查询,牵涉表和表之间的联系,主
建与外主键的定义,约束项的设置,使逻辑更严密,在学习过程中,我也能过上网查了不少
16
资料,也看了一些别人设计的图书馆管理信息系统的设计报告,学以致用,自我创新,独立
完成了这份自己的报告,从中在学到用,从用又到学,不断修改,系统更新。虽然不能达到
完善系统,但也做到了尽善尽美,加强理论学习对完善系统会有很多帮助,不管怎么说,对
这次做的课程设计自己觉得还算满意。
附录1.业务流程图
图1.停车处理子系统业务流程图
17
图2.车位综合管理子系统业务流程图
图3.收费子系统业务流程图
18
附录2.数据流程图
顶层数据流程图
图4.收费停车场管理系统顶层数据流图
第二层数据流图
19
图5.收费停车场管理系统第一层数据流图
第三层数据流
图6.收费停车场管理系统第二层数据流图(1)
20
图7.收费停车场管理系统第二层数据流图(2)
图8.收费停车场管理系统第二层数据流图(3)
21
附录3.数据库定义语句
A
1.建立数据库
create database Parking;
B.建立数据表
2.建立车辆数据表:
create table Car
(Carno char(10) primary key,
Carsb char(10),
Carcolor char(4)
);
3.建立车位信息表:
create table Ffed
(Cwno char(10) primary key,
Cwpace char(10) not null,
Cwtype char(4) not null,
Carno char(10),
Carname char(10),
Carsb char(10),
Carcolor char(4),
Carpho bit,
Caradd char(20),
Cartel char(20),
Carmon float check(Carmon>=100 and Carmon<=200)
);
4.建立停车信息表:
create table Stop
(Cwno char(10) not null,
Carno char(10) not null,
Carat bit not null,
22
Carin datetime,
Carout datetime,
Timetype char(6),
foreign key(Cwno) references Ffed(Cwno),
foreign key(Carno) references Car(Carno)
);
5.建立收费费率表:
create table Moneyt
(Timetype char(6) primary key,
Montime float not null check(Montime=1 or Montime=2 or Montime=1.5),
);
6.建立收费记录表:
create table Moneynote
(Cwno char(10),
Carno char(10),
Cartime float not null,
Moneypay float check(Moneypay>0),
Piece char(10),
foreign key(Cwno) references Ffed(Cwno),
foreign key(Carno) references Car(Carno)
);
附录4.数据库测试及功能验证
1.视图功能测试
V-1
V-2
Carinformation
Carfixedtion
车位号
,
车牌号
车位号,车牌号,车主,车名,车色,车照,地址,电话,
余额
查询在位车辆信息
查询在固定车位停车的车辆
信息
查询在自由车位停车的车辆
信息
V-3 carfreetion 车位号,车牌号,车名,车色
V-4 Carinouttion 车位号、车牌号、进入时间、离开时间、时间
段
查询车辆进出记录
V-5
V-6
v-7
moneytime
Moneytion
Carmoney
时间段、费率
总收费
车牌号、缴费总额
查询及修改收费费率
查询停车场总收费
查询每辆车的缴费额
V-1.查询在固定车位停车的车辆信息的视图功能验证
23
V-2.查询车辆进出记录的视图功能验证
v-3查询在自由车位停车的车辆信息的视图功能验证
24
V-7 查询每辆车的缴费总额的视图功能验证
V-1 查询在位车辆的所有信息
25
V-6 查询停车场总收费的视图功能验证
存储过程的验证
26
27
28
29
30
31
32
成绩评定表
指
导
教
师
评
语
成
绩
签字:
年 月 日
33
34
发布者:admin,转转请注明出处:http://www.yc00.com/news/1713334905a2228454.html
评论列表(0条)