文/宋艳
随着互联网和信息社会的迅速发展,传统的课堂教学已经越来越无法满足高校教学的需求,随着智能手机的普及,使用互动式的移动学习平台作为课堂教学的补充,可以较好的解决课堂教学时间有限、纯填鸭式教学方式等问题,数据库作为平台的基础,做好数据库的设计十分必要。
需求分析简单地说就是分析用户的需求,它是设计数据库的起点,这一阶段需要了解移动学习平台的功能需求、数据需求、处理需求、安全性和完整性要求,确定使用该平台的用户以及他们的业务需求。
现阶段的移动学习平台较多,但专注于高校教学的较少。本移动学习平台以服务高校教学为出发点,为配合高校教学的使用,学习平台注重学生和教师的交互过程,使之能真正将平台应用于平时的教学过程中,因此在平台的分析设计阶段需要充分考虑高校教学及数据存储情况,平台的基础数据要考虑与学校现有数据的兼容性,以满足后期平台的基础数据可以直接从学校现有的数据库中导出。
平台分为教师、学生和管理员三种用户,其中教师用户主要完成对课程的各种学习资源的管理功能,包括添加、修改、删除和查询教学大纲、授课计划、教学PPT和教学视频等资源,能发布学习任务,发布测试内容、导出成绩、回复学生留言等功能;学生用户主要完成查看完成教学任务、在线学习、在线练习、在线测试和在线交流等功能;管理员用户主要完成对院系、专业、班级、课程、教师、学生、公告等平台运行所需要的基础数据的管理功能。
E-R图也称实体-联系图,是表示数据对象及其关系的图形语言机制,提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。在学习平台需求分析阶段产生的需求说明书的基础上,把它们抽象为一个不依赖于任何具体机器的信息世界的数据模型,即概念模型,先分析需要哪些实体,再分析实体中需要的属性,最后分析出实体和实体之间的联系,平台涉及到的部分E-R图如图1所示。图1中仅列出了学生和教师主要用于交互的任务、测试和留言三个实体以及他们之间的关系,其他实体以及其属性因为下面的逻辑结构中已具体列出相应的关系模式,所以就未在E-R图中一一画出。
图1:部分E-R图
数据库的逻辑结构设计就是把概念设计阶段设计好的E-R图中的实体、实体的属性和实体之间的联系转化为数据库支持的关系模式,然后根据具体数据库管理系统的特点和限制转换为指定数据库管理系统支持下的数据模型,最后进行优化。根据以上分析,平台所需要的关系模式如下:
管理员表(编号,姓名,密码);
院系表(编号,名称);
专业表(编号,名称,院系编号);
班级表(编号,班级名称,专业编号);
学生表(学号,姓名,密码,年级,班级编号,联系方式);
教师表(编号,姓名,密码,院系编号,联系方式);
课程表(编号,课程名称,学时,学分);
学期表(编号,学期名称);
上课班级表(编号,课程编号,班级编号,上课学期,上课教师编号);
公告表(编号,公告内容,公告时间,公告发布人编号);
课程详情表(编号,课程编号,上课教师编号,教学大纲,教学计划);
课件表(编号,课程编号,课件名称,上传人编号);
教学视频表(编号,课程编号,视频名称,上传人编号);
题目类型表(编号,名称);
练习题库表(编号,题目内容,题目类型编号,选项A,选项B,选项C,选项D,正确答案,课程详情编号,章节,发布教师编号);
测试套题表(编号,名称,课程详情编号,总题数,总分数,测试时间,测试开始时间);
测试题库表(编号,测试套题编号,测试套题序号,题目内容,题目类型编号,选项A,选项B,选项C,选项D,正确答案,分数);
测试班级表(编号,班级编号,测试套题编号);
学生测试表(编号,学号,测试套题编号,测试题库序号,学生答案,是否正确,得分);
测试成绩表(编号,学号,测试套题编号,成绩);
任务表(编号,任务内容,上课班级表编号,发布教师编号,任务开始时间,任务结束时间);
学生任务表(编号,学号,任务编号,任务状态);
留言表(编号,留言内容,留言时间,留言人编号);
回复表(编号,回复内容,回复时间,回复人编号,回复留言编号)。
平台选择MySql作为数据库管理系统,按照上面分析的关系模式,结合MySql特征,考虑每个属性的类型、长度、是否为空、是否主键、是否外键等因素,创建出相应的数据库表。因为涉及到的表较多,表和表之间的关系较复杂,创建过程中要设置好外键、相关的约束关系以及相关的触发器。
以教师发布测试内容为例,当教师发布测试套题后,相关的测试内容会在对应的学生表中生成相应的记录,为简化开发程序代码,有部分功能将由数据库的存储过程或触发器来完成,流程如下:教师先创建一个测试套题(相当于试卷),然后再添加题目进去,此时测试题库表中的测试套题编号为测试套题表的外键,当教师选择相应班级发布测试套题后,测试班级表会添加相应记录,而学生测试表中也需要为班级中的每个学生生成相应的试卷,这一过程将由触发器来完成,触发器部分代码如下:
一个稳定、完善的学习平台离不开数据库的支持,本文根据交互式移动学习平台的需求,基于MySql设计了数据库,数据库设计体现了便捷性和实时性等要求,并具有一定的扩展性。