发布时间 : 星期二 文章收费停车场管理系统数据库设计更新完毕开始阅读
一部分。
具有相同码的关系模式可合并。
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,Carout,Timetype,Cwtype,Carat,Montime) Cwno和Carno是外码;
(2)模型优化
关系模型Car和Moneynote由于没有出现部分函数依赖和传递函数依赖,所以以上模型已经达到3NF。但是关系模型Stop存在函数传递依赖Carin?Timetype,Timetype-/->Carin Timetype?Montime,因此应该将关系模型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
数据类型 Char
是否为主码 是
是否为外码 否
取值范围
可否为空 否
含义说明 车位编号
Cwpace Cwtype Carno Carname Carsb Carcolor Carpho Caradd Cartel Carmon
Char Char Char Char Char Char Bit 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
视图名称 视图定义 视图作用 备注 Carinformation 车位号,车牌号 查询在位车辆信息
V-2 Carfixedtion 车位号,车牌号,车主,车名,车色,车
照,地址,电话,余额
查询在固定车位停车
的车辆信息 查询在自由车位停车
的车辆信息
V-3 carfreetion 车位号,车牌号,车名,车色
V-4 Carinouttion 车位号、车牌号、进入时间、离开时间、时间段
查询车辆进出记录 作用与V-1不
一样
V-5 V-6 v-7
moneytime Moneytion Carmoney
时间段、费率
总收费 车牌号、缴费总额
查询及修改收费费率 查询停车场总收费 查询每辆车的缴费额
(5)功能模块图
图9.系统功能模块图
4. 物理设计
4.1目标
物理设计就是为一个给定的逻辑数据结构模型选取一个最合适应用要求的物理结构的过程。物理设计通常分为两步:确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;对物理结构进行评价,评价的重点是时间和空间效率。如果评价结果满足原设计要求,则可进入到物理实施阶段,否则,就需要重新设计或修改物理结构,有时甚至要返回逻辑设计阶段修改数据模型。物理设计的内容包括:为关系模型选择存取方法;设计关系、索
引等数据库文件的物理存储结构。
4.2任务
4.2.1数据存取方面
由于经常需要判断是否有空余车位,所以要经常查询停车信息,因此在Stop表的Cwno上建立聚簇索引以提高查询效率。
为了方便查询各个车辆的收费记录,在Moneynote表的Carno上建立聚簇索引以提高查询效率
4.2.2功能模块图
(1)车位信息查询及更新模块图:
图10.车位信息查询及更新模块图
(2)停车信息查询及更新模块图: