数据库设计作业智能停车场管理系统数据库设计.docx
《数据库设计作业智能停车场管理系统数据库设计.docx》由会员分享,可在线阅读,更多相关《数据库设计作业智能停车场管理系统数据库设计.docx(40页珍藏版)》请在冰豆网上搜索。
数据库设计作业智能停车场管理系统数据库设计
北京邮电大学
数据库应用技术
期末作业
题目:
智能停车场管理系统
学院:
电子工程学院
学号:
姓名:
:
2021年12月28日
智能停车场管理系统
一、题目概述
随着21世纪的到来,信息化、智能化已变得越来越重要。
在停车场的智能
化中,涉及停车场车位管理的智能化、车主管理的智能化、停车信息管理的智能
化。
做好这些工作有利于提高停车场的管理效率,提升停车场的竞争力。
随着汽车工业的迅猛开展和人民生活水平的不断提高,我国汽车拥有量急剧
增加。
建设部统计数据显示,我国私人汽车拥有量年均增长20%左右,大大快于经济增速。
截至2007年6月,全国汽车保有量达5356万辆,其中私人汽车3
239万辆。
停车场作为交通设施的组成局部,随着交通运输的繁忙和不断开展,人们对其管理的要求也不断提高,都希望管理能够到达方便、快捷以及平安的效果。
停车场的规模各不相同,对其进行管理的模式也有不同之处,管理者需要根据自身的条件,选择应用经济、稳定的管理程序,以免选择了高本钱的管理系统。
本智能停车场管理系统旨在设计一个简洁、稳定、实用的停车场管理信息系统,希望在容错性、实用性、易操作性等方面具有自己的特色,并且保持一定的可扩展性,以满足不同停车场的信息管理需求。
一个简洁、稳定、高效的智能停车场管理系统需要具备以下功能:
1.停车场员工个人信息记录、数据库访问权限设定;
2.停车场车位状况实时监控,能够得知某一时刻某车位是否空闲,如果停放了车辆,能获取车辆相关信息;
3.对于临时车辆,根据车辆进出时间差进行人工收费并记录;
4.车主可以通过客户端访问停车场网页,查询停车场停车信息、一段时间的停车记录、收费记录等。
二、需求分析
1功能需求
一个典型的智能停车场管理信息系统需要包括车辆进出管理及收费功能、停车场车位及车辆信息查询功能和系统设置及管理功能。
停车场车位划分
首先将停车场划分为固定车位和自由车位两局部。
固定车位又可以称为专用车位或内部车位,它的特点是使用者固定,交费采用包月制或包年制,平时进出停车场时不再交费。
对于固定车位的车辆,系统有着详细的信息记录,包括车辆信息和车主信息。
自由车位又可以称为公用车位或公共车位,它的特点是使用者
不固定,针对临时性散客效劳,车辆每次出停车场时,根据停车时间和车型交纳停车费用。
固定车位的车辆总是停放在自己的车位上,而不停放在自由车位上。
不同类型停车场的固定车位和自由车位数目比例是不同的,比方商场、车站、机场类停车场的自由车位数目相对较多,而住宅小区、单位自用类停车场的固定车
位数目相对较多。
停车场的固定车位和自由车位数目一般情况下是固定不变的,但有时根据停车场规划改变也需要调整,系统可以在系统管理功能里对这两类车
位的数目进行设定和修改。
车辆进出管理及收费功能
车辆进入停车场时,系统记录车辆的车牌号码和进入时间。
车辆离开停车场时,根据车辆车牌号码判断是否为固定车位车辆,如果为固定车位车辆那么不收费,
只记录车辆离开停车场时间;如果为自由车位车辆那么根据进入时间和离开时间计
算出停车费用进行收取。
所有进出停车场的信息〔包括车牌号码、进入时间、离开时间、停车费用〕都记入一个进出记录表以备查询和统计使用。
停车场信息查询功能
系统的查询功能可以查询包括自由车位空闲数目、自由车位停车情况、固定
车位使用情况、固定车位车主信息、车位与车牌对应信息等多种信息。
每个车位前方可以设置红外线探头来检测该车位是否停车从而得到车位是否空闲的数据。
将自由车位空闲数目显示在停车场入口处,可以提示即将进入停车场的车主;如
果自由车位已满,更可以给出指示,不允许继续进行自由车辆进入自由车位停车场。
系统管理功能
系统的管理功能可以查看一定时间内总收取费用情况,也可以查看一定时
间内的详细收费情况,可以查看所有车辆进出停车场的记录,也可以查询指定车
辆〔包括固定车位车辆与自由车位车辆〕所有进出停车场的记录,可以设定和修
改固定车位和自由车位数目以及停车费用的费率,而且可以做系统初始化的工
作。
2数据需求
停车场员工数据
-工作号十位字符型数据;
-姓名十位字符型数据;
-用户名十位字符型数据;
-密码十位字符型数据;
-级别八位字符型数据,内容为“普通员工〞或“管理员〞。
车位信息数据
-车位号四位整形数据,停车场总车位数不超过9999;
-车位类别八位字符型数据,内容为“固定车位〞或“自由车位〞;
-状态四位字符型数据,内容为“空闲〞或“在位〞;
-红外探头工作状态四位字符型数据,内容为“正常〞或“故障〞。
车辆入出场业务数据
-业务流水号
-入场时间
-出场时间
十位字符型数据,用于记录临时车进出场交易;时间型数据,精确到秒;时间型数据,精确到秒;
-车牌号
-车位号
-车型
十位字符型数据;
四位整形数据;
四位字符型数据,内容为“大型〞或“小型〞,用于计算收
费金额;
-收费金额
浮点型数据。
固定车位停车数据
-车位号四位整形数据;
-车牌号十位字符型数据;
-车主姓名十位字符型数据;
-身份证号十八位字符型数据;
-联系十一位字符型数据;
-车型四位字符型数据,内容为“大型〞或“小型〞;
-生效日期时间型数据,精确到秒;
-有效期至时间型数据,精确到秒;
-收费金额浮点型数据。
临时车位停车数据
-业务流水号十位字符型数据
-车位号四位整形数据;
-车牌号十位字符型数据;
-车型四位字符型数据,内容为“大型〞或“小型〞;
-入场时间时间型数据,精确到秒;
-出场时间时间型数据,精确到秒;
-收费金额浮点型数据。
3数据平安与约束
数据平安
数据库是存放数据的地点,而数据是一种共享资源。
因此保证数据库的平安就显得非常重要。
利用视图来保证数据库的平安,视图把用户可以使用的数据定义在视图中,
这样用户就不能使用视图定义以外的其它数据,从而保证了数据库的平安。
通过
视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度
上的平安性。
访问控制是对用户访问数据库各种资源的权力的控制。
通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的平安性。
数据约束
通过建立主键、外键,使用触发器和级联更新以及用户自定义的语义约束来实现数据的完整性约束。
4数据流图
图例
外部实体:
数据处理过程:
数据流:
数据存储:
数据流图
员工管理
登录验证
员工表员工
修改维护
车位信息
入场车辆
车位信息表
出场车辆
固定车辆进出场
固定车位停车表到期续费
入场
入出场业务表
车辆
出场
临时车辆进出场
车位信息表
余位
入场
入出场业务表
车辆
出场
临时车位停车表
三、概要设计
1实体及联系
实体
员工〔工作号,姓名,级别,登录名,密码〕;车位〔车位号,车位类别,状态,红外探头〕;
固定车〔车位号,车牌号,车主姓名,身份证号,联系,车型,生效日期,
有效期至,收费金额〕;
临时车〔业务流水号,车位号,车牌号,车型,入场时间,出场时间,收费金
额〕;
固定车车主〔车位号,车牌号,车主姓名,身份证号,联系,车型〕;临时车车主〔车位号,车牌号,车型〕。
联系
员工:
车位——n:
m,即多名员工共同管理停车场;
员工:
固定车——n:
m,即多名员工共同管理固定车辆;
员工:
临时车——n:
m,即多名员工共同管理临时车辆;
车位:
固定车——1:
1,即固定车辆只会对应一个固定车位;
车位:
临时车——n:
m,即一辆临时车可以停在任意临时车位上,一个临时车位也可以有多辆车停放;
固定车:
固定车车主——n:
1,即一个车主可以在停车场停放多辆固定车辆;
临时车:
临时车车主——n:
1,即一个临时车车主可以在停车场停放多辆临时车辆;
车位:
固定车车主——n:
1,即一个固定车车主可以拥有多个固定车位;
车位:
临时车车主——n:
m,即一个固定车车主可以拥有多个固定车位,一个临时
车位可以有多个车主去停放临时车辆。
2ER图
根据以上实体之间的联系,可以得到如下ER图。
拥有
1
临时车车主
m
n
查询
n
临时车
m
n
车位
n
1
固定车车主
入场
查询
m
m
1
收费
管理
入场
1
n
n
1
员工
n
收费
m
固定车
n
拥有
四、逻辑结构设计
1数据库模型
数据库模型以数据字典方式给出。
员工信息表tb_worker
序号
列名
列中文名
关键字
类型
备注
1
Work_id
工作号
PK
Varchar(10)
2
Work_name
姓名
Varchar(10)
3
Log_id
用户名
Varchar(10)
4
Log_word
密码
Varchar(10)
5
Work_level
级别
Varchar(8)
普通员工/管理员
车位信息表tb_park
序号
列名
列中文名
关键字
类型
备注
1
Park_num
车位号
PK
Int(4)
2
Park_kind
车位类别
Varchar(8)
固定车位/临时车位
3
Park_state
状态
Varchar(4)
空闲/在位
4
Park_light
红外探头
Varchar(4)
正常/故障
入出场业务表tb_inout
序号
列名
列中文名
关键字
类型
备注
1
Service_id
业务流水号
PK
Varchar(10)
固定车流水号为0
2
Time_in
入场时间
Datetime
3
Time_out
出场时间
Datetime
4
Park_num
车位号
Int(4)
5
Car_num
车牌号
PK
Varchar(10)
6
Car_kind
车型
Varchar(4)
小型/大型
7
Park_fee
收费金额
Float
固定车位停车表tb_perm
序号
列名
列中文名
关键字
类型
备注
1
Park_num
车位号
Int(4)
2
Car_num
车牌号
PK
Varchar(10)
3
Drive_name
车主姓名
Varchar(10)
4
Drive_id
身份证号
Varchar(18)
5
Drive_phone
联系
Varchar(11)
6
Car_kind
车型
Varchar(4)
小型/大型
7
Date_begin
生效日期
Datetime
8
Date_end
有效期至
Datetime
9
Park_fee
收费金额
Float
临时车位停车表tb_temp
序号
列名
列中文名
关键字
类型
备注
1
Service_id
业务流水号
PK
Varchar(10)
2
Park_num
车位号
Int(4)
3
Car_num
车牌号
Varchar(10)
4
Car_kind
车型
Varchar(4)
小型/大型
5
Time_in
入场时间
Datetime
6
Time_out
出场时间
Datetime
7
Park_fee
收费金额
Float
2数据库模型函数依赖集
在员工信息表tb_worker中,每一个属性都是不可分的根本数据项,且表中
其他属性完全函数依赖于
Work_id
工作号这个关键字,并且表中除关键字的其他
属性没有传递依赖,因此员工信息表tb_worker属于第三范式。
在车位信息表tb_park中,每一个属性都是不可分的根本数据项,且在一个
特定的时刻,表中其他属性完全函数依赖于Park_num车位号这个关键字,并且
表中除关键字的其他属性没有传递依赖关系,因此车位信息表tb_park属于第三
范式。
在入出场业务表tb_inout中,每一个属性都是不可分的根本数据项,且表中其他属性完全函数依赖于Service_id业务流水号与Car_num车牌号联合关键字,同时,在每次出入停车场过程中,Park_fee收费金额可以由Time_in入场时间、
Time_out出场时间和Car_kind车型确定,也即Park_fee收费金额函数依赖于Time_in入场时间、Time_out出场时间和Car_kind车型,因此入出场业务表tb_inout属于第二范式,不属于第三范式。
在固定车位停车表tb_perm中,每一个属性都是不可分的根本数据项,且表中其他属性完全函数依赖于Car_num车牌号这个关键字,同时,对于每一辆拥有固定车位的车辆,车主的Drive_id身份证号和Drive_phone联系可以由Drive_name车主姓名得到,也即Drive_id身份证号和Drive_phone联系这两个属性函数依赖于Drive_name车主姓名,因此固定车位停车表tb_perm属于第二范式,不属于第三范式。
在临时车位停车表tb_temp中,与入出场业务表tb_inout同理,Park_fee收费金额可以由Time_in入场时间、Time_out出场时间和Car_kind车型确定,也即
Park_fee收费金额函数依赖于Time_in入场时间、Time_out出场时间和Car_kind车型,因此临时车位停车表tb_temp属于第二范式。
五、程序设计
1员工登录
界面:
停车场工作人员登录数据库系统界面。
功能:
限定工作人员才能进入停车场管理系统。
输入:
员工输入用户名和密码信息。
处理:
点击“取消〞那么去除用户名或者密码;
点击“登录〞假设用户名和密码正确那么进入系统,假设用户名或密码不正确那么提示用户名或密码错误;
点击“关闭〞那么退出登陆界面。
输出:
登陆成功,进入停车场管理系统界面;登录失败,提示“用户名或密码错
误,请重新输入〞并回到登录界面,用户名信息保存,密码信息清空。
2管理员权限
界面:
员工中高级别管理员修改维护其他普通员工信息界面。
功能:
管理员管理进入数据库系统人员信息。
输入:
管理员登录后界面上方有“管理员〞按钮,点击进入。
处理:
点击“管理员〞进入员工表管理界面。
输出:
进入员工表,可以查看员工信息,修改、增加、减少员工项等。
3车位管理与查询
界面:
显示停车场实时停车信息,用动态大图显示实时车位情况和停放车辆的车
牌,另有搜索按钮,查询指定车位或车牌号。
功能:
让员工对停车场内停放车辆有动态和全局的把握;同时让车主便捷的查询
到空闲车位以及车辆停放的位置。
输入:
员工登录停车场管理系统后,界面左侧点击“车位信息〞按钮进入;动态大图上方有“请输入车位号〞和“请输入车牌号〞两个输入框可以输入对应信息。
车主可以通过客户端网址对停车场车位情况进行访问查询。
处理:
员工点击“车位信息〞后进入车位管理界面,车主通过网页访问车位查询界面,动态大图显示当前各车位情况和所停放车辆的车牌,在“请输入车位号〞输入框输入停车场车位号,那么大图跳转至该车位号位置,如果不存在该车位,那么弹出对话框显示“车位号不存在,请重新输入〞;在“请输入车牌号〞输入框输入车牌号,那么大图跳转至该车停放位置,如果该时刻不存在该车牌号对应的车辆,那么弹出对话框显示“该车不在停车场中,请重新输入〞。
输出:
停车场车位位置信息、是否空闲信息、查询指定车位或车辆的位置信息。
4红外探头工作状况
界面:
可以放大缩小的动态大图,在对应位置以电子地图形式展现每个红外探头
工作状态。
功能:
实时观察探头是否正常工作,以免影响停车场其他功能的运转。
输入:
员工登录停车场管理系统后,界面左侧“车位信息〞下方“红外探头〞按
钮,点击进入。
处理:
以动态大图显示红外探头工作状况,红外探头编号即车位号,一个车位一
个探头。
输出:
蓝色表示工作正常,红色表示探头故障需要查看、维修。
5停车信息查询
界面:
可以输入时间段、车牌号、车主姓名、身份证号等信息,对最近的停车记
录与收费进行查询。
功能:
供员工查询停车场最近一段时间停车情况,也可以供车主在客户端查
询。
输入:
员工登录停车场管理系统后,界面左侧“红外探头〞下方“停车信息查询〞按钮,点击进入,如果是车主进行查询,那么进入相应的停车场网站,即给
出查询界面,如下列图所示,其中停车场员工查询时间段是必填项,其余选项可以不填;车主通过网页查询那么除了要填时间段外,其余选项还需至少填一项。
停车信息查询
*时间段:
从至
车牌号:
车主姓名:
身份证号:
联系:
查询取消
处理:
输入相应的查询信息,点“查询〞那么显示结果,点“取消〞那么退出停车信
息查询。
输出:
如果时间段填写有误,或者其余信息未填或未正确填写,那么弹出对话框显示“信息输入有误〞,假设正确填写那么进入输出界面,显示查询结果,如上图所示。
如果没有停车信息那么表格为空。
查询结果
序号停段牌号位号型用
1
2
⋯
合———
六、其他考虑
1建立索引
在数据关系中表定主将自建主索引,本数据中可以流水号和牌号两个主建立主索引,当在中使用主索引,它允数据的快速。
当数据中数据量大才需要建立索引,保数据的快速和高效。
2触发器、存储过程、事务
触发器
可以固定位建立触器。
当停固定上次充有效期已
,再位行,触触器,示“位已于XX到期,是否从到期起〞如果从到期,在当前之前;如果从当前重新位,到期至当前段停算作停,按照停收准。
可以建立停除触器。
一触器适用于停内尚未到期的固定。
当工想要除某未到期固定停,触触器,示“固定位尚未到期,不能除〞,即不允除停,保数据完整性。
存储过程
车位信息更新存储过程
当停车场有车辆出入时,车位信息更新对应的存储过程。
增减员工的存储过程
当停车场员工调整时,管理员修改员工数据时对应的存储过程。
删除停车记录存储过程
由于数据库的容量有限,停车场系统可以对半年或一年前的停车数据进行删除处理,删除以前数据的过程对应这一存储过程。
固定车位车辆变更存储过程
某一固定车位的车辆到期不再续租,或者有新的固定车辆租用这一固定车位对应这一存储过程。
事务
车辆入场事务
在车辆入场的数据库存储过程中,涉及入出场业务表、固定车位停车表和临时车位停车表的入场时间存储,同时车位信息表的状态属性也发生更改,这些操作必须是同步完成的,因此车辆入场时要保证这些数据同时发生更改,要么同时撤销数据。
车辆出场业务
在车辆出场的数据库存储过程中,涉及入出场业务表、固定车位停车表和临时车位停车表的出场时间存储,同时车位信息表的状态属性也发生更改,这些操作必须是同步完成的,因此车辆出场时要保证这些数据同时发生更改,要么同时撤销数据。