基于MySQL的学生操行管理数据库的设计

2017-07-11 17:28李志刚
电脑知识与技术 2017年15期

李志刚

摘要:该文从数据库系统需求、设计原则、数据字典、E-R实体联系图、数据表结构等方面阐述了基于Mysql,以满足中职学校学生操行管理工作的需要,能实现学生基本信息、考勤信息、劳动信息、作业信息及日常行为信息等操行管理的数据库系统的设计。

关键词:学生操行管理;数据库;MySQL

1.概述

在中等职业学校中,学生操行管理工作,主要体现在管理学生考勤、劳动、行为等日常表现中。通常班主任需要安排多名班干部分别负责管理、记录,并于每周、每月及学期末进行统计汇总、评分,以评价学生表现,为学生的日常管理、班级管理及德育教育工作提供数据支持。数据越详细,统计越及时,越有利于学生管理工作有的放矢。但是,在传统模式下,数据多以纸质形式存在,即使录入Excel,也存在统计汇总效率低,不及时等问题。

运用现代信息技术手段,建立基于WEB的学生操行管理系统,教师、学生通过手机等设备录入原始数据,在WEB服务器中进行存储,然后通过浏览器访问,即可实时查询学生的各项表现及统计数据,会极大提高数据统计工作效率。学生操行管理数据库,则是此学生操行管理平台中最基础、最核心的部分。MvSOL数据库是一个在WEB应用中非常流行的关系型数据库管理系统,具有开源、免费、体积小,速度快、性能卓越,常与PHP及Java等搭配,组成开发应用环境。本文即采用Mysql来设计建立学生操行管理数据库。

2.数据库系统设计

2.1系统需求

学生操行管理系统需要能实时记录学生的各项日常表现,实时汇总,为班主任的班级管理、学生德育教育、期末学生操行评定工作等提供数据依据。因此,本数据库必须要满足如下要求:

1)能记录学生的基本信息,如姓名、籍贯、出生日期、家长联系电话等;

2)能记录学生考勤原始信息;

3)能记录学生住宿信息,便于宿舍管理;

4)能记录班班干部、寝室长等学生干部信息;

5)能记录学生的劳动值日安排及学生劳动状况等原始信息;

6)能記录学生作业完成情况;

7)能记录学生的其他表现,如拾金不昧、打架、是否积极参加集体活动等事件信息;

8)有多用户登录功能,如不同的班干部可完成不同信息的录入;

9)能自动完成每周、每学期考勤、作业、劳动等表现的汇总浏览;

10)能自动完成每学期各周学生操行表现的成绩计算。

2.2数据表的设计原则

本数据库的设计,遵循一事一地的原则,每一数据表只记录某类实体的原始数据,数据的汇总统计,均采用视图形式予以实现。

2.3系统的数据字典

根据系统需求及设计原则,本系统各数据表如下表所示。

2.4系统E-R图

根据系统需求,数据字典,绘制本数据库E-R图,如下图所示,图中使用矩形表示实体,菱形表示联系,线条用于连接。

2.5数据表设计

根据E-R图,本数据库创建了多个数据表,部分数据表结构如下。

1)管理员表:aid(int,notnull,auto_increment,主键),用户名(varchar,255),密码(varchar,255),权限(int,2),备注(vatchar,255)。

2)学期表:tid(int,not null,auto_increment,主键),学期(int,1),学年(varchar,20),开始日期(date),结束日期(date)。

3)操行项目表:did(int,not null,auto_increment,主键),行为类别(varchar,255),名称(varchar,255),分值(double)。

4)劳动记录表:fid(int,notnull,auto_increment,主键),日期(date),sid(int,11,指学生表id),时间(varchar,2,指中午、下午、晚上等),did(int,11,指劳动完成表现,操行项目表id)。

5)作业记录表:wid(im,notnull,auto_increment,主键),eid(int,11,作业信息表id),sid(int,2,是学生表id),did(int,11,操行项目表id,指作业完成表现)。

6)考勤表:kid(int,notnull,auto_increment,主键),sid(int,11,是学生表id),日期(date),节次(varchar,10,采用n或m-n形式表示),did(int,11,操行项目表id,指考勤表现),缺勤节次(int,3)。

为简化最终SQL查询统计,还需要添加若干中间视图,其一为按周显示每天各节课学生考勤信息;其二为综合各记录表信息,汇总学生操行表现数据,为操行成绩计算提供直接数据。

7)周考勤浏览:sid(int,11,是学生表sid),日期(date),w08(varchar,1,指周日晚自习第一节),w11(varchar,1,指周一第一节),……。

8)操行汇总:sid(im,为学生表sid),行为(va/'char,255,为行为名称),日期(date),数量(decimal,32,0)

3.结束语

本数据库的设计,基本能满足学生操行管理系统的数据处理需求,不过,也存在两个需要注意的地方。其一,在周考勤浏览设计中,为将某一周某生多天的考勤记录,合并为一条记录,除需采用分组语句外,还需采用group_concat函数,将同一学生同一天同一节次的数据进行连接(本不该有的多余数据),在浏览考勤表时,若节次字段值超过了1字符,即可判断原始考勤数据输人重复!此问题除浏览时发现外,尚未找到有效解决办法。一旦发现错误,需返回相关界面,修改重复的考勤数据。其二,按学期统计每周学生操行表现及成绩,因学期周次各不相同等多种原因,难以设计相应视图,只有在操行管理系统中的相应页面,编写SQL语句进行实现。