收藏 分享(赏)

收费停车场管理系统数据库设计.doc

上传人:精品资料 文档编号:10740970 上传时间:2020-01-03 格式:DOC 页数:31 大小:895.50KB
下载 相关 举报
收费停车场管理系统数据库设计.doc_第1页
第1页 / 共31页
收费停车场管理系统数据库设计.doc_第2页
第2页 / 共31页
收费停车场管理系统数据库设计.doc_第3页
第3页 / 共31页
收费停车场管理系统数据库设计.doc_第4页
第4页 / 共31页
收费停车场管理系统数据库设计.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、东方学院实 验(实训)报 告项 目 名 称 收费停车场管理系统 所属课程名称 数据库原理及应用 项 目 类 型 设计、综合型 实验(实训)日期 班 级 09 信息 2 班 学 号 0920400204,0920400211 姓 名 曹欢欢 林婉怡 指导教师 严素蓉 目录1. 需求分析 41.1 引言 .41.2 任务 .41.2.1 需求分析阶段的目标 .41.2.2 具体任务 .41.2.3 结果 .52. 概念设计 .112.1 目标 112.2 设计过程 112.3 阶段成果 113. 逻辑设计 .123.1 目标 123.2 任务与结果 123.2.1 数据组织 12图 9.系统功能模

2、块图 .154. 物理设计 .164.1 目标 164.2 任务 164.2.1 数据存取方面 164.2.2 功能模块图 164.3 结果 184.3.1 存储过程 184.3.2 触发器 185. 数据库实施阶段 .195.1 目标 195.2 任务与结果 195.2.1 建立数据库 196. 数据库调试与测试 .201.需求分析1.1 引言需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。目前停车场的管理方式比较落后,已经不能适应现代社会的实际需求,本系统的开发能给管理上带来新鲜的活力,提高管理的效率

3、,具有较高的实用性和开发价值。1.2 任务1.2.1 需求分析阶段的目标通过调查了解分析停车管理的现状,弄清用户对开发的数据库应用系统的确切要求,以及停车场管理的流程,系统的具体功能和数据库中数据信息。1.2.2 具体任务(1)处理对象系统处理的对象包括车辆信息、固定车位信息、自由车位信息、停车车辆信息以及收费记录等五个方面。即固定车位信息:车位编号、车位位置、车牌号码、车主姓名、车辆品牌、车辆颜色、车辆照片、联系地址、联系方式、车位余额;自由车位信息:车位编号、车位位置;车辆信息:车牌号码、车辆品牌、车辆颜色;停车信息:车位编号、车牌号码、进入时间、离开时间、时间段、车位类型、在位情况、收费

4、费率;收费记录:车位编号、车牌号码、停车时间、停车费用、发票编号。(2)处理功能要求整个系统具体包括三个子系统,分别为:停车处理子系统、车位综合管理子系统以及收费子系统。处理的功能包括:车辆信息的查询以及更新;空闲车位信息的查询;固定车位信息的查询;进出车辆记录的更新和收费信息的查询与更新等。(3)安全性与完整性要求安全性可以通过视图机制来完成,对不同用户设置不同权限,不同的用户只能访问授权的视图,这样可以提高一定的程度的安全性。还可以通过存取控制机制:即定义用户权限,并将用户权限登记到数据字典中以及合法的权限检查来保障安全性。完整性可以通过声明完整性,即在定义表时声明数据完整性和过程完整性,

5、在服务器端编写触发器来实现。1.2.3 结果(1)体会和收获通过对现在的停车场管理状况的调查,发现停车场管理缺少合适的管理系统,并了解了一下管理的大致流程。与此同时通过网络搜索查找现行的停车场管理系统,根据这两者综合来进行需求分析。调查时需要较强的信息捕捉能力以及事后的总结与思考,同时学会用网络较快较准确地搜索到需要的资料是很关键的。(2)业务流程图图 1.停车处理子系统业务流程图图 2.车位综合管理子系统业务流程图图 3.收费子系统业务流程图(3)数据流图顶层数据流程图图 4.收费停车场管理系统顶层数据流图第二层数据流图图 5.收费停车场管理系统第一层数据流图第三层数据流图 6.收费停车场管

6、理系统第二层数据流图(1)图 7.收费停车场管理系统第二层数据流图(2)图 8.收费停车场管理系统第二层数据流图(3)(4)数据字典数据项:表 2-1 数据项说明数据项编号 数据项名 数据项含义 与其它数据项的关系 存储结构 别名DI-1 Cwno 车位编号 char(10) 编号DI-2 Carno 车牌号码 char(10) 车牌DI-3 Carname 车主姓名 char(10) 姓名DI-4 Carcolor 车辆颜色 char(4) 颜色DI-5 Carpho 车辆照片 bit 照片DI-6 Caradd 联系地址 char(20) 地址DI-7 Cartel 联系方式 char(2

7、0) 电话DI-8 Carat 在位情况 char(4)DI-9 Carin 进入时间 datetimeDI-10 Carout 离开时间 datetimeDI-11 Carmon 车位余额 float 余额DI-12 Montime 收费费率 float 费率DI-13 Moneypay 停车费用 float 收费DI-14 Cwtype 车位类型 char(4)DI-15 Cartime 停车时间 float 时间DI-16 Piece 发票编号 char(20)Dl-17 Carsb 车辆品牌 char(10) 车名Dl-18 Cwpace 车位位置 char(10) 位置Dl-19 T

8、imetype 时间段 char(6)数据结构:表 2-2 数据结构数据结构编号 数据结构名数据结构定义 组成DS-1 Fixed固定车位信息Cwno、Cwpace、Carno、Carname、Carcolor、CarsbCarpho、Caradd、Cartel、CarmonDS-2 Free自由车位信息Cwno、CwpaceDS-3 Stop 停车信息 Cwno、Carno、Carat 、Carin、Carout 、Timetype、Cwtype、MontimeDS-4 Moneynote 收费记录 Cwno、Carno、Cartime、Moneypay、PieceDS-5 Car 车辆信息

9、 Carno、Carsb、Carcolor(5)处理逻辑描述表 2-3 处理逻辑描述处理编号 处理功能 处理过程PR-1判断用户查询涉及的功能模块固定车位信息模块、自由车位信息模块、停车车辆信息模块、进出车辆记录信息模块、收费记录模块:先确定查询所涉及的功能模块;然后,确定要查询的内容,确定查询数据流向;最后显示查询结果。PR-2判断用户修改要涉及的模块,同时把相应的修改数据传到相应的模块之中固定车位信息模块、自由车位信息模块、停车车辆信息模块、进出车辆记录信息模块、收费记录模块:先确定更新所涉及的功能模块;然后,把更新信息传送到相应的模块中;最后,进行相应的更新操作。2.概念设计2.1 目标

10、概念结构设计师是将需求分析得到的用户需求抽象为信息结构即概念模型的过程。它是整个数据库设计的关键。概念结构设计步骤分为两步:第一步是抽象数据并设计局部视图,第二步是集成局部视图,得到全局的概念结构。2.2 设计过程(1)选择中层数据流为切入点,通常选择实际系统中的子系统;(2)设计分 E-R 图,即各子模块的 E-R 图;(3)生成初步 E-R 图,通过合并方法,做到各子系统实体、属性、联系统一;(4)生成全局 E-R 图,通过消除冲突等方面。通过分析系统的业务流图与数据流图,得到系统围绕“车辆”与“车位”之间的相互关系。2.3 阶段成果分 E-R 图:全局 E-R 图:E-R 图属性如下所示

11、:车 辆: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 是外码;停 车:Stop (Cwno,Carno,Carin,Carout,Timetype,Cwtype,Montime) Cwno 和 Carno 是外码;3.逻辑设计

12、3.1 目标逻辑结构设计的任务是把概念结构设计阶段设计好的基本 E-R 图转换为与选用 DBMS 产品所支持的数据模型相符合的逻辑结构。逻辑结构设计时一般要分为 3 步进行:将概念结构转换为一般的关系、网状、层次模型;将转换来的关系、网状、层次模型向特定 DBMS 支持下的数据模型转换;对数据模型进行优化。3.2 任务与结果3.2.1 数据组织(1)将 E-R 模型转换为关系模型转换的原则是:一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况:一个 1:1 联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。三个或

13、三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。一个 1:n 联系可以转换为一个独立的关系模式,也可以与 n 端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为 n 端实体的码。一个 m:n 联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。3 个或 3 个以上实体间的一个多元联系可以转换位一个关系模型。与该多元联系相连的各实体的码以及联系本身的属性均转换为

14、关系的属性,各实体的码组成关系的码或关系码的一部分。具有相同码的关系模式可合并。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 是外码;停 车:Stop (Cwno,Carno,Carin,

15、Carout,Timetype,Cwtype,Carat,Montime) Cwno 和 Carno是外码;(2)模型优化关系模型 Car 和 Moneynote 由于没有出现部分函数依赖和传递函数依赖,所以以上模型已经达到 3NF。但是关系模型 Stop 存在函数传递依赖 CarinTimetype,Timetype-/-CarinTimetypeMontime,因此应该将关系模型 Stop 转换为 3NF,优化后的关系模型为“停车:Stop(Cwno,Carno,Carin,Carout,Timetype)与费率信息:Moneyt(Timetype,Montime)。关系模型 Fixed

16、和 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,Carn

17、o,Cartime,Moneypay,Piece) Cwno 和 Carno 是外码,被参照表是Ffed 和 Car;停车:Stop(Cwno,Carno,Carin,Carout,Carat,Timetype);费率信息:Moneyt(Timetype,Montime)。(3)数据库模式定义表 4-1 车辆信息列名 数据类型 是否为主码 是否为外码 取值范围 可否为空 含义说明Carno Char 是 否 否 车牌号码Carsb Char 否 否 可 车辆品牌Carcolor Char 否 否 可 车辆颜色表 4-2 车位信息列名 数据类型 是否为主码 是否为外码 取值范围 可否为空 含义说

18、明Cwno Char 是 否 否 车位编号Cwpace Char 否 否 否 车位位置Cwtype Char 否 否 否 车位类型Carno Char 否 否 可 车牌号码Carname Char 否 否 可 车主姓名Carsb Char 否 否 可 车牌号码Carcolor Char 否 否 可 车辆颜色Carpho Bit 否 否 可 车辆照片Caradd Char 否 否 可 联系地址Cartel Char 否 否 可 联系电话Carmon Float 否 否 100200 可 车位余额表 4-3 停车信息列名 数据类型 是否为主码 是否为外码 取值范围 可否为空 含义说明Cwno Ch

19、ar 否 是 否 车位编号Carno Char 否 是 否 车牌号码Carat Bit 否 否 否 在位情况Carin datetime 否 否 否 进入时间Carout datetime 否 否 可 离开时间Timetype Char(6) 是 否 高峰、一般、低谷否 时间段表 4-4 费率信息列名 数据类型 是否为主码 是否为外码 取值范围 可否为空 含义说明Timetype Char(6) 是 否 高峰、一般、低谷否 时间段Montime Float 否 否 大于 0 否 收费费率表 4-5 收费记录列名 数据类型 是否为主码 是否为外码 取值范围 可否为空 含义说明Cwno Char

20、否 是 否 车位编号Carno Char 否 是 否 车牌号码Cartime Float 否 否 大于 0 否 停车时间列名 数据类型 是否为主码 是否为外码 取值范围 可否为空 含义说明Moneypay Float 否 否 大于 0 可 停车费用Piece Char 否 否 可 发票编号(4)用户子模式定义表 4-6 用户子模式定义序号 视图名称 视图定义 视图作用 备注V-1 Carinformation 车位号,车牌号 查询在位车辆信息V-2 Carfixedtion 车位号,车牌号,车主,车名,车色,车照,地址,电话,余额查询在固定车位停车的车辆信息V-3 carfreetion 车位

21、号,车牌号,车名,车色 查询在自由车位停车的车辆信息V-4 Carinouttion 车位号、车牌号、进入时间、离开时间、时间段查询车辆进出记录 作用与 V-1 不一样V-5 moneytime 时间段、费率 查询及修改收费费率V-6 Moneytion 总收费 查询停车场总收费v-7 Carmoney 车牌号、缴费总额 查询每辆车的缴费额(5)功能模块图图 9.系统功能模块图4.物理设计4.1 目标物理设计就是为一个给定的逻辑数据结构模型选取一个最合适应用要求的物理结构的过程。物理设计通常分为两步:确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;对物理结构进行评价,评价的重点是

22、时间和空间效率。如果评价结果满足原设计要求,则可进入到物理实施阶段,否则,就需要重新设计或修改物理结构,有时甚至要返回逻辑设计阶段修改数据模型。物理设计的内容包括:为关系模型选择存取方法;设计关系、索引等数据库文件的物理存储结构。4.2 任务4.2.1 数据存取方面由于经常需要判断是否有空余车位,所以要经常查询停车信息,因此在 Stop 表的 Cwno 上建立聚簇索引以提高查询效率。为了方便查询各个车辆的收费记录,在 Moneynote 表的 Carno 上建立聚簇索引以提高查询效率4.2.2 功能模块图(1)车位信息查询及更新模块图:图 10.车位信息查询及更新模块图(2)停车信息查询及更新

23、模块图:图 11.停车信息查询及更新模块图(3)收费费率查询及更新模块图:图 12.收费费率查询及更新模块图4.3 结果4.3.1 存储过程表 5-1 存储过程编号 存储过程名称 定义 作用P-1 Sof1 详见附录 3-16 查询固定车位总数P-2 Sof2 详见附录 3-17 查询自由车位总数P-3 Sof3 详见附录 3-18 查询空闲自由车位数目P-4 Sof4 详见附录 3-19 查询车位总数P-5 Sof5 详见附录 3-20 在 Moneynote 中查询任意车辆的收费P-6 Sof6 详见附录 3-21 在 Car 中插入一元组P-7 Sof7 详见附录 3-22 在 Ffed

24、 中插入一元组P-8 Sof8 详见附录 3-23 在 Stop 中插入一元组P-9 Sof9 详见附录 3-24 在 Moneynote 中插入一元组P-10 Sof10 详见附录 3-25 查询车辆 Car 信息P-11 Sof11 详见附录 3-26 查询车位 Ffed 信息P-12 Sof12 详见附录 3-27 查询停车 Stop 信息P-13 Sof13 详见附录 3-28 查询收费 Moneynote 信息P-14 Sof14 详见附录 3-29 删除一条收费 Moneynote 记录P-15 Sof15 详见附录 3-30 修改固定车位车辆余额 Carmon4.3.2 触发器表

25、 5-2 触发器编号 存储过程名称 定义 作用T-1 Insert_or_update_carmon 详见附录 3-31 限定余额值必须大于等于 120 的触发器P-2 tri_moneypay 详见附录 3-32 限制修改 MONEYNOTE 中大于 50 的触发器P-3 tri_del_mo 详见附录 3-33 限制删除 moneynote 表中大于 70 的数据5. 数据库实施阶段5.1 目标数据库实施阶段就是用 DBMS 提供的数据定义语言与其他实用程序将数据库逻辑设计和物理设计结果严格描述出来,成为 DBMS 可以接受的源代码,再经过调试产生目标模式,然后组织数据入库。数据库实施阶段

26、包括两项重要的工作,一项是数据的载入,另一项是应用程序的编码和调试。5.2 任务与结果5.2.1 建立数据库(1) 建立数据库、数据表、视图、索引等(a)建立数据库定义语句create database Parking;(b)建立数据表定义语句建立车辆数据表:create table Car(Carno char(10) primary key,Carsb char(10),Carcolor char(4);建立车位信息表:create table Ffed(Cwno char(10) primary key,Cwpace char(10) not null,Cwtype char(4) no

27、t 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 Carmon0),Piece char(10),foreign key(Cwno) references Ffed(Cwno),foreign key(Carno) references Car(Carno);(2) 数据入库系统包括共有 5 张基本表,因此事先在 Excel 中录入数据,然后使用 S

28、QL Server 2000 数据导入/导出向导功能,直接将数据导入到相应的基本表中。6.数据库调试与测试对收费停车场管理系统的具体功能进行测试,测试包括:(1)测试各视图的功能,测试结果视图功能测试V-1 Carinformation 车位号 ,车牌号 查询在位车辆信息V-2 Carfixedtion 车位号,车牌号,车主,车名,车色,车照,地址,电话,余额查询在固定车位停车的车辆信息V-3 carfreetion 车位号,车牌号,车名,车色 查询在自由车位停车的车辆信息V-4 Carinouttion 车位号、车牌号、进入时间、离开时间、时间段 查询车辆进出记录V-5 moneytime 时间段、费率 查询及修改收费费率V-6 Moneytion 总收费 查询停车场总收费v-7 Carmoney 车牌号、缴费总额 查询每辆车的缴费额V-1.查询在固定车位停车的车辆信息的视图功能验证V-2.查询车辆进出记录的视图功能验证v-3 查询在自由车位停车的车辆信息的视图功能验证V-7 查询每辆车的缴费总额的视图功能验证V-1 查询在位车辆的所有信息V-6 查询停车场总收费的视图功能验证(2)测试各存储过程的功能,测试结果单纯的课本内容,并不能满足学生的需要,通过补充,达到内容的完善

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报