卓之淮 朱立火 黄尘 鲍蓉
摘要:在“校园请假助手”中,数据库设计尤为重要。本系统针对请假一系列过程进行分析和调研,利用数据建模工具进行建模,并在数据库中实现。通过本系统的实际运行,验证了最初的设计要求,能够满足学校请假的要求。
关键词:微信公众平台;数据库设计;请假助手
中图分类号:TP311 文献标识码:A DOI:10.3969/j.issn.1003-6970.2015.05.014
0 引言
基于微信公众平台的请假系统[1-3]是一种新颖的请假方式。它降低了因时间、距离带来的不便,更方便、快捷、贴心为全校师生服务。本系统记录了某所高校所有请假信息,便于教师、父母及时了解孩子在校住宿情况。
1 事务分析
本系统中各个角色及其事务描述如下:
学生:发出请假请求,查询请假请求,查询提交的请假最终的批假情况。
辅导员:对其管理的班级学生请假请求进行批假并查询所有请假的学生的信息。
书记:对本学院的请假学生进行批假,前提:辅导员已经同意该同学的请假请求;查询本学院的所有请假信息。
任课老师:查询其管理的班级同学的部分请假信息。
楼长:查询其管理的宿舍楼某同学的部分请假信息。
各用户都可修改登录密码。
2 数据分析
本系统涉及到的要操作的主要数据实体及其属性如下:
学生实体“学号”、“姓名”、“密码”、“手机号”
班级实体“年级届”、“专业代号”、“班级编号”
教师实体“教工号”、“密码”、“手机号”、“权限”
学院实体“学院代号”、“名称”
楼长实体“职工号”、“密码”
宿舍实体“楼号”、“A/B区号”、“楼层号”、“房间号”
授课关系“年级届”、“专业代号”、“班级编号”、“教工号”
请假实体“请假提交时间”、“请假开始时间”、“请假结束时间”、“请假事由”、“在外留宿”、“简述原因”、“辅导员批假时间”、“辅导员批假结果”、“书记批假时间”、“书记批假结果”
3 数据实体关系设计
学生和请假条实体及其属性、两个实体间关系,如图1所示。
学生和宿舍实体及其属性、两个实体间关系,如图2所示。
教师、班级、学院实体及其属性、实体间关系,如图3。
4 数据表结构设计
以数据实体为基础,结合需求分析,在满足数据完整性和实用性基础上,实现数据库逻辑结构设计。系统共13张表,表的设计根据本校情况,如表l所示。
表1表示学校的几号宿舍楼,例:1号楼,2号楼。
表2表示几号楼的A/B座,每号楼都有A/B座,并设置外键关联楼号表。
表4表示第几号楼的、A/B座的、第几层的房间数,以房间号作为主键,例如:01房间,并设置外键去关联该楼层。
表5表示楼长信息表,并设置外键去关联该位楼长所管理的几号楼。
表6表示第多少届的学生,例如:2012届,2013届
表7表示学校开设的专业信息,以专业代号为主键。
表8表示学校有多少学院,以学院编号作为主键。
表9表示教师基本信息表,并设置外键关联该位老师所属的学院。
表10表示班级信息表,以年级编号、专业编号、班级编号作为主属性,去唯一标识一个班级,并设置外键去关联该班级的辅导员。
表11表示某位学生基本信息表,并设置年级编号、专业编号、班级编号、楼号、A/B区号,楼层号、房间号作为外键,去关联班级表,宿舍组成信息。
表12表示任课老师授课信息表,以年级编号、专业编号、班级编号、教工号作为主属性同时作为外键去分别关联年级表、专业表、班级表、教师表,唯一标识一条授课信息。
表13请假表,记录该同学请假的详情,并通过学号这个外键关联学生表。
5 开发工具
通过对数据库的需求进行分析,采用了关系型的数据库“MysQL”作为数据环境;采用“Navicat forMysQL”对数据进行管理。
6 数据访问实现
本系统中要操作数据的事务主要有:请假事务、批假事务、查询事务。
以学生请假事务为例,如下,图4是学生成功登录后,填写请假信息的界面,图5是学生提交请假成功后的界面。
图4表示,学生成功登录后进入请假界面,填写对应的请假信息,提交到公众账号的服务器,服务器进行业务处理,并向微信用户端返回消息提示,如图5所示。其中数据处理代码如下所示: