产品

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

  数据库设计作业_智能停车场管理系统_数据库设计说明_计算机软件及应用_IT/计算机_专业资料。邮电大学 数据库应用技术 期末作业 题目:智能停车场管理系统 学院:电子工程学院 学号: : : 2014 年 12 月 28 日 智能停车场管理系统 一、题目概述 随着 21 世纪的到来,信息化

  邮电大学 数据库应用技术 期末作业 题目:智能停车场管理系统 学院:电子工程学院 学号: : : 2014 年 12 月 28 日 智能停车场管理系统 一、题目概述 随着 21 世纪的到来,信息化、智能化已变得越来越重要。在停车场的智能 化中,涉及停车场车位管理的智能化、车主管理的智能化、停车信息管理的智能 化。做好这些工作有利于提高停车场的管理效率,提升停车场的竞争力。 随着汽车工业的迅猛发展和人民生活水平的不断提高,我国汽车拥有量急剧 增加。建设部统计数据显示,我国私人汽车拥有量年均增长 20%左右,大大快 于经济增速。截至 2007 年 6 月,全国汽车保有量达 5356 万辆,其中私人汽车 3 239 万辆。停车场作为交通设施的组成部分,随着交通运输的繁忙和不断发展, 人们对其管理的要求也不断提高,都希望管理能够达到方便、快捷以及安全的效 果。停车场的规模各不相同,对其进行管理的模式也有不同之处,管理者需要根 据自身的条件,选择应用经济、稳定的管理程序,以免选择了高成本的管理系统。 本智能停车场管理系统旨在设计一个简洁、稳定、实用的停车场管理信息系统, 希望在容错性、实用性、易操作性等方面具有自己的特色,并且保持一定的可扩 展性,以满足不同停车场的信息管理需求。 一个简洁、稳定、高效的智能停车场管理系统需要具备以下功能: 1.停车场员工个人信息记录、数据库访问权限设定; 2.停车场车位状况实时监控,能够得知某一时刻某车位是否空闲,如果停放 了车辆,能获取车辆相关信息; 3.对于临时车辆,根据车辆进出时间差进行人工收费并记录; 4.车主可以通过手机客户端访问停车场网页,查询停车场停车信息、一段时 间的停车记录、收费记录等。 二、 需求分析 1 功能需求 一个典型的智能停车场管理信息系统需要包括车辆进出管理及收费功能、停 车场车位及车辆信息查询功能和系统设置及管理功能。 1.1 停车场车位划分 首先将停车场划分为固定车位和自由车位两部分。固定车位又可以称为专用 车位或部车位,它的特点是使用者固定,交费采用包月制或包年制,平时进出停 车场时不再交费。对于固定车位的车辆,系统有着详细的信息记录,包括车辆信 息和车主信息。自由车位又可以称为公用车位或公共车位,它的特点是使用者不 固定,针对临时性散客服务,车辆每次出停车场时,根据停车时间和车型交纳停 车费用。固定车位的车辆总是停放在自己的车位上,而不停放在自由车位上。不 同类型停车场的固定车位和自由车位数目比例是不同的,比如商场、车站、机场 类停车场的自由车位数目相对较多,而住宅小区、单位自用类停车场的固定车位 数目相对较多。停车场的固定车位和自由车位数目一般情况下是固定不变的,但 有时根据停车场规划改变也需要调整,系统可以在系统管理功能里对这两类车位 的数目进行设定和修改。 1.2 车辆进出管理及收费功能 车辆进入停车场时,系统记录车辆的车牌和进入时间。车辆离开停车场时, 根据车辆车牌判断是否为固定车位车辆,如果为固定车位车辆则不收费,只记录 车辆离开停车场时间;如果为自由车位车辆则根据进入时间和离开时间计算出停 车费用进行收取。所有进出停车场的信息(包括车牌、进入时间、离开时间、停 车费用)都记入一个进出记录表以备查询和统计使用。 1.3 停车场信息查询功能 系统的查询功能可以查询包括自由车位空闲数目、自由车位停车情况、固定 车位使用情况、固定车位车主信息、车位与车牌对应信息等多种信息。每个车位 后方可以设置红外线探头来检测该车位是否停车从而得到车位是否空闲的数据。 将自由车位空闲数目显示在停车场入口处,可以提示即将进入停车场的车主;如 果自由车位已满,更可以给出指示,不允许继续进行自由车辆进入自由车位停车 场。 1.4 系统管理功能 系统的管理功能可以查看一定时间总收取费用情况,也可以查看一定时间 的详细收费情况,可以查看所有车辆进出停车场的记录,也可以查询指定车辆(包 括固定车位车辆与自由车位车辆)所有进出停车场的记录,可以设定和修改固定 车位和自由车位数目以及停车费用的费率,而且可以做系统初始化的工作。钱柜娱乐, 2 数据需求 2.1 停车场员工数据 -工作号 -用户名 -密码 -级别 十位字符型数据; 十位字符型数据; 十位字符型数据; 十位字符型数据; 八位字符型数据,容为“普通员工”或“管理员”。 2.2 车位信息数据 -车位号 四位整形数据,停车场总车位数不超过 9999; -车位类别 八位字符型数据,容为“固定车位”或“自由车位”; -状态 四位字符型数据,容为“空闲”或“在位”; -红外探头工作状态 四位字符型数据,容为“正常”或“故障”。 2.3 车辆入出场业务数据 -业务流水号 -入场时间 -出场时间 -车牌号 -车位号 -车型 -收费金额 十位字符型数据,用于记录临时车进出场交易; 时间型数据,精确到秒; 时间型数据,精确到秒; 十位字符型数据; 四位整形数据; 四位字符型数据,容为“大型”或“小型”,用于计算收费 金额; 浮点型数据。 2.4 固定车位停车数据 -车位号 四位整形数据; -车牌号 十位字符型数据; -车主 十位字符型数据; -号 十八位字符型数据; -联系 十一位字符型数据; -车型 四位字符型数据,容为“大型”或“小型”; -生效日期 时间型数据,精确到秒; -有效期至 时间型数据,精确到秒; -收费金额 浮点型数据。 2.5 临时车位停车数据 -业务流水号 -车位号 -车牌号 -车型 -入场时间 -出场时间 -收费金额 十位字符型数据 四位整形数据; 十位字符型数据; 四位字符型数据,容为“大型”或“小型”; 时间型数据,精确到秒; 时间型数据,精确到秒; 浮点型数据。 3 数据安全与约束 3.1 数据安全 数据库是存放数据的地点,而数据是一种共享资源。因此保证数据库的安全 就显得非常重要。 利用视图来保证数据库的安全,视图把用户可以使用的数据定义在视图中, 这样用户就不能使用视图定义以外的其它数据,从而保证了数据库的安全。通过 视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度 上的安全性。 访问控制是对用户访问数据库各种资源的权力的控制。通过分配权限、设置 权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性。 3.2 数据约束 通过建立主键、外键,使用触发器和级联更新以及用户自定义的语义约束来 实现数据的完整性约束。 4 数据流图 4.1 图例 外部实体: 数据处理过程: 数据流: 数据存储: 4.2 数据流图 4.2.1 员工管理 员工表 登录验证 修改维护 员工 4.2.2 车位信息 车位信息表 4.2.3 固定车辆进出场 入场 出场 车辆 车辆 固定车位停车表 入出场业务表 入场 出场 到期续费 车辆 4.2.4 临时车辆进出场 入出场业务表 临时车位停车表 入场 出场 车位信息表 余位? 车辆 三、概要设计 1 实体及联系 1.1 实体 员工 (工作号,,级别,登录名,密码); 车位 (车位号,车位类别,状态,红外探头); 固定车 (车位号,车牌号,车主,号,联系,车型,生效日期,有效期至,收 费金额); 临时车 (业务流水号,车位号,车牌号,车型,入场时间,出场时间,收费金 额); 固定车车主 (车位号,车牌号,车主,号,联系,车型); 临时车车主 (车位号,车牌号,车型)。 1.2 联系 员工:车位——n:m,即多名员工共同管理停车场; 员工:固定车——n:m,即多名员工共同管理固定车辆; 员工:临时车——n:m,即多名员工共同管理临时车辆; 车位:固定车——1:1,即固定车辆只会对应一个固定车位; 车位:临时车——n:m,即一辆临时车可以停在任意临时车位上,一个临时车位也 可以有多辆车停放; 固定车:固定车车主——n:1,即一个车主可以在停车场停放多辆固定车辆; 临时车:临时车车主——n:1,即一个临时车车主可以在停车场停放多辆临时车辆; 车位:固定车车主——n:1,即一个固定车车主可以拥有多个固定车位; 车位:临时车车主——n:m,即一个固定车车主可以拥有多个固定车位,一个临时 车位可以有多个车主去停放临时车辆。 2 ER 图 根据以上实体之间的联系,可以得到如下 ER 图。 拥有 1 临时车车主 m n 查询 临时车 m 入场 n n 车位 n m m 1 收费 n n 员工 n 管理 收费 入场 1 m 固定车 查询 n 1 固定车车主 1 拥有 四、逻辑结构设计 1 数据库模型 数据库模型以数据字典方式给出。 1.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) 备注 普通员工/管理员 1.2 车位信息表 tb_park 序号 1 2 3 4 列名 Park_num Park_kind Park_state Park_light 列中文名 车位号 车位类别 状态 红外探头 关键字 类型 PK Int(4) Varchar(8) Varchar(4) Varchar(4) 备注 固定车位/临时车位 空闲/在位 正常/故障 1.3 入出场业务表 tb_inout 序号 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 小型/大型 1.4 固定车位停车表 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 收费金额 关键字 类型 Int(4) PK Varchar(10) Varchar(10) Varchar(18) Varchar(11) Varchar(4) Datetime Datetime Float 备注 小型/大型 1.5 临时车位停车表 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 属于第三 式。 在入出场业务表 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 触发器、存储过程、事务 2.1 触发器 可以为固定车位车辆续费建立触发器。当停车场固定车辆上次充值有效期已 过,再对车位进行续费时,触发续费触发器,显示“该车位已于 XX 到期,是否 从到期时间起续费?”如果从到期时间续费,则续费时间在当前时间之前;如果 从当前时间重新续订车位,则到期时间至当前时间时段停车算作临时停车,按照 临时停车收费标准计费。 可以建立停车记录删除触发器。这一触发器适用于停车场尚未到期的固定车 辆。当员工想要删除某未到期固定车辆停车记录时,触发该触发器,显示“该固 定车位尚未到期,不能删除记录”,即不允许删除停车记录,保证数据库完整性。 2.2 存储过程 2.2.1 车位信息更新存储过程 当停车场有车辆出入时,车位信息更新对应的存储过程。 2.2.2 增减员工的存储过程 当停车场员工调整时,管理员修改员工数据时对应的存储过程。 2.2.3 删除停车记录存储过程 由于数据库的容量有限,停车场系统可以对半年或一年前的停车数据进行删 除处理,删除以前数据的过程对应这一存储过程。 2.2.4 固定车位车辆变更存储过程 某一固定车位的车辆到期不再续租,或者有新的固定车辆租用这一固定车位 对应这一存储过程。 2.3 事务 2.3.1 车辆入场事务 在车辆入场的数据库存储过程中,涉及入出场业务表、固定车位停车表和临 时车位停车表的入场时间存储,同时车位信息表的状态属性也发生更改,这些操 作必须是同步完成的,因此车辆入场时要保证这些数据同时发生更改,要么同时 撤销数据。 2.3.2 车辆出场业务 在车辆出场的数据库存储过程中,涉及入出场业务表、固定车位停车表和临 时车位停车表的出场时间存储,同时车位信息表的状态属性也发生更改,这些操 作必须是同步完成的,因此车辆出场时要保证这些数据同时发生更改,要么同时 撤销数据。