产品

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

  数据库设计作业智能停车场管理系统数据库设计_计算机软件及应用_IT/计算机_专业资料。北京邮电大学 数据库应用技术 期末作业 题目:智能停车场管理系统 学院:电子工程学院 学号: 姓名: 电线 日 智能停车场管理系统 一、题目概述 随着 21 世纪的

  北京邮电大学 数据库应用技术 期末作业 题目:智能停车场管理系统 学院:电子工程学院 学号: 姓名: 电线 日 智能停车场管理系统 一、题目概述 随着 21 世纪的到来,信息化、智能化已变得越来越重要。在停车场的智能化中,涉及停 车场车位管理的智能化、车主管理的智能化、停车信息管理的智能化。做好这些工作有利于提 高停车场的管理效率,提升停车场的竞争力。 随着汽车工业的迅猛发展和人民生活水平的不断提高,我国汽车拥有量急剧增加。建设部 统计数据显示,我国私人汽车拥有量年均增长 20%左右,大大快于经济增速。截至 2007 年 6 月, 全国汽车保有量达 5356 万辆,其中私人汽车 3239 万辆。停车场作为交通设施的组成部分,钱柜娱乐,随着 交通运输的繁忙和不断发展,人们对其管理的要求也不断提高,都希望管理能够达到方便、快 捷以及安全的效果。停车场的规模各不相同,对其进行管理的模式也有不同之处,管理者需要 根据自身的条件,选择应用经济、稳定的管理程序,以免选择了高成本的管理系统。本智能停 车场管理系统旨在设计一个简洁、稳定、实用的停车场管理信息系统,希望在容错性、实用性、 易操作性等方面具有自己的特色,并且保持一定的可扩展性,以满足不同停车场的信息管理需 求。 一个简洁、稳定、高效的智能停车场管理系统需要具备以下功能: 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,即一个固定车车主可以拥有多个固定车位,一个临时车位可以有多 个车主去停放临时车辆。 2 ER 图 根据以上实体之间的联系,可以得到如下 ER 图。 拥有 1 n 临时车 m m 收费 n n 员工 n 入场 管理 收费 临时车车主 m 查询 n n 车位 n m 1 入场 1 m 固定车 查询 n 1 固定车车主 1 拥有 四、逻辑结构设计 1 数据库模型 数据库模型以数据字典方式给出。 员工信息表 tb_worker 序号 列名 列中文名 1 Work_id 工作号 2 Work_name 姓名 3 Log_id 用户名 4 Log_word 密码 5 Work_level 级别 车位信息表 tb_park 关键字 类型 PK Varchar(10) Varchar(10) Varchar(10) Varchar(10) Varchar(8) 备注 普通员工/管理员 序号 列名 1 Park_num 2 Park_kind 3 Park_state 4 Park_light 列中文名 车位号 车位类别 状态 红外探头 关键字 类型 PK Int(4) Varchar(8) Varchar(4) Varchar(4) 入出场业务表 tb_inout 备注 固定车位/临时车位 空闲/在位 正常/故障 序号 列名 1 Service_id 2 Time_in 3 Time_out 4 Park_num 5 Car_num 6 Car_kind 7 Park_fee 列中文名 关键字 类型 业务流水号 PK Varchar(10) 入场时间 Datetime 出场时间 Datetime 车位号 Int(4) 车牌号 PK Varchar(10) 车型 Varchar(4) 收费金额 Float 固定车位停车表 tb_perm 备注 固定车流水号为 0 小型/大型 序号 列名 列中文名 1 Park_num 车位号 2 Car_num 车牌号 3 Drive_name 车主姓名 4 Drive_id 身份证号 5 Drive_phone 联系电线 Car_kind 车型 关键字 类型 Int(4) PK Varchar(10) Varchar(10) Varchar(18) Varchar(11) Varchar(4) 备注 小型/大型 7 Date_begin 生效日期 8 Date_end 有效期至 9 Park_fee 收费金额 临时车位停车表 tb_temp Datetime Datetime Float 序号 列名 1 Service_id 2 Park_num 3 Car_num 4 Car_kind 5 Time_in 6 Time_out 7 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 触发器、存储过程、事务 触发器 可以为固定车位车辆续费建立触发器。当停车场固定车辆上次充值有效期已过,再对车位 进行续费时,触发续费触发器,显示“该车位已于 XX 到期,是否从到期时间起续费?”如果 从到期时间续费,则续费时间在当前时间之前;如果从当前时间重新续订车位,则到期时间至 当前时间时段停车算作临时停车,按照临时停车收费标准计费。 可以建立停车记录删除触发器。这一触发器适用于停车场内尚未到期的固定车辆。当员工 想要删除某未到期固定车辆停车记录时,触发该触发器,显示“该固定车位尚未到期,不能删 除记录”,即不允许删除停车记录,保证数据库完整性。 存储过程 车位信息更新存储过程 当停车场有车辆出入时,车位信息更新对应的存储过程。 增减员工的存储过程 当停车场员工调整时,管理员修改员工数据时对应的存储过程。 删除停车记录存储过程 由于数据库的容量有限,停车场系统可以对半年或一年前的停车数据进行删除处理,删除 以前数据的过程对应这一存储过程。 固定车位车辆变更存储过程 某一固定车位的车辆到期不再续租,或者有新的固定车辆租用这一固定车位对应这一存储 过程。 事务 车辆入场事务 在车辆入场的数据库存储过程中,涉及入出场业务表、固定车位停车表和临时车位停车表 的入场时间存储,同时车位信息表的状态属性也发生更改,这些操作必须是同步完成的,因此 车辆入场时要保证这些数据同时发生更改,要么同时撤销数据。 车辆出场业务 在车辆出场的数据库存储过程中,涉及入出场业务表、固定车位停车表和临时车位停车表 的出场时间存储,同时车位信息表的状态属性也发生更改,这些操作必须是同步完成的,因此 车辆出场时要保证这些数据同时发生更改,要么同时撤销数据。