您的当前位置:首页正文

数据库设计作业 智能停车场管理系统 数据库设计

2024-05-04 来源:步旅网


数据库设计作业 智能停车场管理系

统 数据库设计(总14页)

-本页仅作为预览文档封面,使用时请删除本页-

北京邮电大学 数据库应用技术

题目:智能停车场管理系统学院:电子工程学院学号:姓名:电话:

期末作业

2014年12月28日

2

智能停车场管理系统

一、题目概述

随着21世纪的到来,信息化、智能化已变得越来越重要。在停车场的智能化中,涉及停车场车位管理的智能化、车主管理的智能化、停车信息管理的智能化。做好这些工作有利于提高停车场的管理效率,提升停车场的竞争力。

随着汽车工业的迅猛发展和人民生活水平的不断提高,我国汽车拥有量急剧增加。建设部统计数据显示,我国私人汽车拥有量年均增长20%左右,大大快于经济增速。截至2007年6月,全国汽车保有量达5356万辆,其中私人汽车3239万辆。停车场作为交通设施的组成部分,随着交通运输的繁忙和不断发展,人们对其管理的要求也不断提高,都希望管理能够达到方便、快捷以及安全的效果。停车场的规模各不相同,对其进行管理的模式也有不同之处,管理者需要根据自身的条件,选择应用经济、稳定的管理程序,以免选择了高成本的管理系统。本智能停车场管理系统旨在设计一个简洁、稳定、实用的停车场管理信息系统,希望在容错性、实用性、易操作性等方面具有自己的特色,并且保持一定的可扩展性,以满足不同停车场的信息管理需求。

一个简洁、稳定、高效的智能停车场管理系统需要具备以下功能: 1.停车场员工个人信息记录、数据库访问权限设定;

2.停车场车位状况实时监控,能够得知某一时刻某车位是否空闲,如果停放了车辆,能获取车辆相关信息;

3.对于临时车辆,根据车辆进出时间差进行人工收费并记录;

4.车主可以通过手机客户端访问停车场网页,查询停车场停车信息、一段时间的停车记录、收费记录等。

二、 需求分析

1 功能需求

一个典型的智能停车场管理信息系统需要包括车辆进出管理及收费功能、停车场车位及车辆信息查询功能和系统设置及管理功能。

停车场车位划分

首先将停车场划分为固定车位和自由车位两部分。固定车位又可以称为专用车位或内部车位,它的特点是使用者固定,交费采用包月制或包年制,平时进出停车场时不再交费。对于固定车位的车辆,系统有着详细的信息记录,包括车辆信息和车主信息。自由车位又可以称为公用车位或公共车位,它的特点是使用者不固定,针对临时性散客服务,车辆每次出停车场时,根据停车时间和车型交纳停车费用。固定车位的车辆总是停放在自己的车位上,而不停放在自由车位上。不同类型停车场的固定车位和自由车位数目比例是不同的,比如商场、车站、机场类停车场的自由车位数目相对较多,而住宅小区、单位自用类停车场的固定车位数目相对较多。停车场的固定车位和自由车位数目一般情

1

况下是固定不变的,但有时根据停车场规划改变也需要调整,系统可以在系统管理功能里对这两类车位的数目进行设定和修改。

车辆进出管理及收费功能

车辆进入停车场时,系统记录车辆的车牌号码和进入时间。车辆离开停车场时,根据车辆车牌号码判断是否为固定车位车辆,如果为固定车位车辆则不收费,只记录车辆离开停车场时间;如果为自由车位车辆则根据进入时间和离开时间计算出停车费用进行收取。所有进出停车场的信息(包括车牌号码、进入时间、离开时间、停车费用)都记入一个进出记录表以备查询和统计使用。

停车场信息查询功能

系统的查询功能可以查询包括自由车位空闲数目、自由车位停车情况、固定车位使用情况、固定车位车主信息、车位与车牌对应信息等多种信息。每个车位后方可以设置红外线探头来检测该车位是否停车从而得到车位是否空闲的数据。将自由车位空闲数目显示在停车场入口处,可以提示即将进入停车场的车主;如果自由车位已满,更可以给出指示,不允许继续进行自由车辆进入自由车位停车场。

系统管理功能

系统的管理功能可以查看一定时间内总收取费用情况,也可以查看一定时间内的详细收费情况,可以查看所有车辆进出停车场的记录,也可以查询指定车辆(包括固定车位车辆与自由车位车辆)所有进出停车场的记录,可以设定和修改固定车位和自由车位数目以及停车费用的费率,而且可以做系统初始化的工作。

2 数据需求

停车场员工数据

-工作号 -姓名 -用户名 -密码 -级别 员”。

十位字符型数据; 十位字符型数据; 十位字符型数据; 十位字符型数据; 八位字符型数据,内容为“普通员工”或“管理

车位信息数据

-车位号 四位整形数据,停车场总车位数不超过9999;

-车位类别 八位字符型数据,内容为“固定车位”或“自由车位”;

-状态 四位字符型数据,内容为“空闲”或“在位”; -红外探头工作状态 四位字符型数据,内容为“正常”或“故障”。

2

车辆入出场业务数据

-业务流水号 -入场时间 -出场时间 -车牌号 -车位号 -车型 -收费金额

十位字符型数据,用于记录临时车进出场交易; 时间型数据,精确到秒; 时间型数据,精确到秒; 十位字符型数据; 四位整形数据;

四位字符型数据,内容为“大型”或“小型”,用于计算收费金额; 浮点型数据。

固定车位停车数据

-车位号

-车牌号 -车主姓名 -身份证号 -联系电话 -车型 -生效日期 -有效期至 -收费金额

四位整形数据; 十位字符型数据; 十位字符型数据; 十八位字符型数据; 十一位字符型数据; 四位字符型数据,内容为“大型”或“小型”; 时间型数据,精确到秒; 时间型数据,精确到秒; 浮点型数据。

临时车位停车数据

-业务流水号

-车位号 -车牌号 -车型 -入场时间 -出场时间 -收费金额

十位字符型数据 四位整形数据; 十位字符型数据; 四位字符型数据,内容为“大型”或“小型”; 时间型数据,精确到秒; 时间型数据,精确到秒; 浮点型数据。

3 数据安全与约束

数据安全

数据库是存放数据的地点,而数据是一种共享资源。因此保证数据库的安

全就显得非常重要。

利用视图来保证数据库的安全,视图把用户可以使用的数据定义在视图中,这样用户就不能使用视图定义以外的其它数据,从而保证了数据库的安全。通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性。

访问控制是对用户访问数据库各种资源的权力的控制。通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性。

3

数据约束

通过建立主键、外键,使用触发器和级联更新以及用户自定义的语义约束来实现数据的完整性约束。

4 数据流图

图例

外部实体:

数据处理过程:

数据流:

数据存储:

数据流图

员工管理

登录验证 员工表 修改维护

车位信息

入场 车位信息表 出场 车辆

固定车辆进出场

员工 车辆 4

固定车位停车表 到期续费 入场 入出场业务表 出场 车辆

临时车辆进出场

车位信息表 余位 入场 入出场业务表 出场 车辆 临时车位停车表

5

三、概要设计

1 实体及联系

实体

员工 (工作号,姓名,级别,登录名,密码); 车位 (车位号,车位类别,状态,红外探头);

固定车 (车位号,车牌号,车主姓名,身份证号,联系电话,车型,生效日

期,有效期至,收费金额);

临时车 (业务流水号,车位号,车牌号,车型,入场时间,出场时间,

收费金额);

固定车车主 (车位号,车牌号,车主姓名,身份证号,联系电话,车型); 临时车车主 (车位号,车牌号,车型)。

联系

员工:车位——n:m,即多名员工共同管理停车场; 员工:固定车——n:m,即多名员工共同管理固定车辆; 员工:临时车——n:m,即多名员工共同管理临时车辆; 车位:固定车——1:1,即固定车辆只会对应一个固定车位;

车位:临时车——n:m,即一辆临时车可以停在任意临时车位上,一个临时车位也可以有多辆车停放;

固定车:固定车车主——n:1,即一个车主可以在停车场停放多辆固定车辆; 临时车:临时车车主——n:1,即一个临时车车主可以在停车场停放多辆临时车辆;

车位:固定车车主——n:1,即一个固定车车主可以拥有多个固定车位;

车位:临时车车主——n:m,即一个固定车车主可以拥有多个固定车位,一个临时车位可以有多个车主去停放临时车辆。

2 ER图

根据以上实体之间的联系,可以得到如下ER图。

6

拥有 1 临时车车主 m n 查询 n 临时车 m 收费 n 员工 m 入场 m 管理 n 车位 1 入场 1 n 查询 1 固定车车主 1 n n 收费 m 固定车 n 拥有

四、逻辑结构设计

1 数据库模型

数据库模型以数据字典方式给出。

员工信息表tb_worker

序号 1 2 3 4 5 列名 Work_id Work_name Log_id Log_word Work_level 列中文名 工作号 姓名 用户名 密码 级别 关键字 PK 类型 Varchar(10) Varchar(10) Varchar(10) Varchar(10) Varchar(8) 备注 普通员工/管理员 车位信息表tb_park

序号 1 2 3 4 列名 Park_num Park_kind Park_state Park_light 列中文名 车位号 车位类别 状态 红外探头 关键字 PK 类型 Int(4) Varchar(8) Varchar(4) Varchar(4) 备注 固定车位/临时车位 空闲/在位 正常/故障 入出场业务表tb_inout

7

序号 1 2 3 4 5 6 7 列名 Service_id Time_in Time_out Park_num Car_num Car_kind Park_fee 列中文名 业务流水号 入场时间 出场时间 车位号 车牌号 车型 收费金额 关键字 PK PK 类型 Varchar(10) Datetime Datetime Int(4) Varchar(10) Varchar(4) Float 备注 固定车流水号为0 小型/大型 固定车位停车表tb_perm

序号 1 2 3 4 5 6 7 8 9 列名 Park_num Car_num Drive_name Drive_id Drive_phone Car_kind Date_begin Date_end Park_fee 列中文名 车位号 车牌号 车主姓名 身份证号 联系电话 车型 生效日期 有效期至 收费金额 关键字 PK 类型 Int(4) Varchar(10) Varchar(10) Varchar(18) Varchar(11) Varchar(4) Datetime Datetime Float 备注 小型/大型 临时车位停车表tb_temp

序号 1 2 3 4 5 6 7 列名 Service_id Park_num Car_num Car_kind Time_in Time_out Park_fee 列中文名 业务流水号 车位号 车牌号 车型 入场时间 出场时间 收费金额 关键字 PK 类型 Varchar(10) Int(4) Varchar(10) Varchar(4) Datetime Datetime Float 备注 小型/大型 2 数据库模型函数依赖集

在员工信息表tb_worker中,每一个属性都是不可分的基本数据项,且表中其他属性完全函数依赖于Work_id工作号这个关键字,并且表中除关键字的其他属性没有传递依赖,因此员工信息表tb_worker属于第三范式。

在车位信息表tb_park中,每一个属性都是不可分的基本数据项,且在一个特定的时刻,表中其他属性完全函数依赖于Park_num车位号这个关键字,并且表中除关键字的其他属性没有传递依赖关系,因此车位信息表tb_park属于第三范式。

8

在入出场业务表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 车位管理与查询

界面:显示停车场实时停车信息,用动态大图显示实时车位情况和停放车辆的

车牌,另有搜索按钮,查询指定车位或车牌号。

9

功能:让员工对停车场内停放车辆有动态和全局的把握;同时让车主便捷的查

询到空闲车位以及车辆停放的位置。

输入:员工登录停车场管理系统后,界面左侧点击“车位信息”按钮进入;动

态大图上方有“请输入车位号”和“请输入车牌号”两个输入框可以输入对应信息。车主可以通过手机客户端网址对停车场车位情况进行访问查询。

处理:员工点击“车位信息”后进入车位管理界面,车主通过网页访问车位查

询界面,动态大图显示当前各车位情况和所停放车辆的车牌,在“请输入车位号”输入框输入停车场车位号,则大图跳转至该车位号位置,如果不存在该车位,则弹出对话框显示“车位号不存在,请重新输入”;在“请输入车牌号”输入框输入车牌号,则大图跳转至该车停放位置,如果该时刻不存在该车牌号对应的车辆,则弹出对话框显示“该车不在停车场中,请重新输入”。

输出:停车场车位位置信息、是否空闲信息、查询指定车位或车辆的位置信

息。

4 红外探头工作状况

界面:可以放大缩小的动态大图,在对应位置以电子地图形式展现每个红外探

头工作状态。

功能:实时观察探头是否正常工作,以免影响停车场其他功能的运转。

输入:员工登录停车场管理系统后,界面左侧“车位信息”下方“红外探头”

按钮,点击进入。

处理:以动态大图显示红外探头工作状况,红外探头编号即车位号,一个车位

一个探头。

输出:蓝色表示工作正常,红色表示探头故障需要查看、维修。

5 停车信息查询

界面:可以输入时间段、车牌号、车主姓名、身份证号等信息,对最近的停车

记录与收费进行查询。

功能:供员工查询停车场最近一段时间停车情况,也可以供车主在手机客户端

查询。

输入:员工登录停车场管理系统后,界面左侧“红外探头”下方“停车信息查

询”按钮,点击进入,如果是车主进行查询,则进入相应的停车场网站,即给出查询界面,如下图所示,其中停车场员工查询时间段是必填项,其余选项可以不填;车主通过网页查询则除了要填时间段外,其余选项还需至少填一项。

10

停车信息查询 * 时间段: 车牌号: 车主姓名: 身份证号: 联系电话: 查询 取消 处理:输入相应的查询信息,点“查询”则显示结果,点“取消”则退出停车

信息查询。

输出:如果时间段填写有误,或者其余信息未填或未正确填写,则弹出对话框

显示“信息输入有误”,若正确填写则进入输出界面,显示查询结果,如上图所示。如果没有停车信息则表格为空。

从 至 查询结果 序号 1 2 … 合计 停车时段 车牌号 车位号 车型 费用 — 、 ———

六、其他考虑

1 建立索引

11

在数据库关系图中为表定义主键将自动创建主键索引,本数据库中可以为业务流水号和车牌号两个主键建立主键索引,当在查询中使用主键索引时,它还允许对数据的快速访问。当数据库中数据量过大时才需要建立索引,保证数据查询的快速和高效。

2 触发器、存储过程、事务

触发器

可以为固定车位车辆续费建立触发器。当停车场固定车辆上次充值有效期已过,再对车位进行续费时,触发续费触发器,显示“该车位已于XX到期,是否从到期时间起续费”如果从到期时间续费,则续费时间在当前时间之前;如果从当前时间重新续订车位,则到期时间至当前时间时段停车算作临时停车,按照临时停车收费标准计费。

可以建立停车记录删除触发器。这一触发器适用于停车场内尚未到期的固定车辆。当员工想要删除某未到期固定车辆停车记录时,触发该触发器,显示“该固定车位尚未到期,不能删除记录”,即不允许删除停车记录,保证数据库完整性。

12

存储过程

车位信息更新存储过程

当停车场有车辆出入时,车位信息更新对应的存储过程。 增减员工的存储过程

当停车场员工调整时,管理员修改员工数据时对应的存储过程。 删除停车记录存储过程

由于数据库的容量有限,停车场系统可以对半年或一年前的停车数据进行删除处理,删除以前数据的过程对应这一存储过程。 固定车位车辆变更存储过程

某一固定车位的车辆到期不再续租,或者有新的固定车辆租用这一固定车位对应这一存储过程。

事务

车辆入场事务

在车辆入场的数据库存储过程中,涉及入出场业务表、固定车位停车表和临时车位停车表的入场时间存储,同时车位信息表的状态属性也发生更改,这些操作必须是同步完成的,因此车辆入场时要保证这些数据同时发生更改,要么同时撤销数据。 车辆出场业务

在车辆出场的数据库存储过程中,涉及入出场业务表、固定车位停车表和临时车位停车表的出场时间存储,同时车位信息表的状态属性也发生更改,这些操作必须是同步完成的,因此车辆出场时要保证这些数据同时发生更改,要么同时撤销数据。

13

因篇幅问题不能全部显示,请点此查看更多更全内容