高校网络考试系统的数据库模型设计

2019-05-30 03:31马华张西学张念华李聪张海东
中国教育信息化·高教职教 2019年4期

马华 张西学 张念华 李聪 张海东

摘   要:本文为简化高校网络考试系统中数据库的设计,在网络考试数据库的概念模型设计时,结合使用传统ER图和现代ER图两种工具,提供了一个体现自顶向下、逐步求精的数据库设计方案。该方案简洁自然地完成了考试数据库模型的设计,有力支持了高校网络考试系统多种功能的实现。

关键词:ER图;网络考试;数据库模型

中图分类号:TP311.52 文献标志码:A 文章编号:1673-8454(2019)07-0090-04

一、引言

在互联网大发展和教育信息化蓬勃开展的今天,考试无纸化和网络化因其方便、快捷、公平、公正等特点,成为高等教育领域的研究热点。各种考试系统被开发出来并应用于各类考试,有的考试系统能通用于多门课程的考试,如基于XML技术的网络考试系统[1]、基于Web的网考平台[2]、基于Web服务的智能考试平台[3]、基于Web的在线考试管理系统[4]、考易网络题库与考试系统[5]等;有的只用于单一课程的考试,如基于Web的在线英语考试系统[6]、基于asp.net的医学在线考试与教学辅助系统[7]等。考试系统的核心都是考试数据库的设计。对于数据库的设计,以上文献甚少提及。文献《基于JSP技术的网络考试系统数据库的设计》[8]、《网络考试系统中数据库的设计及架构》[9]专门对考试数据库进行了设计,也不太适合我校考试的实际情况。

经过对我校考试实际进行大量分析,并兼顾考试通用情况,本文详细介绍了网络考试系统中数据的关系模型设计,该模型既适合我校考试实际情况,也考虑到考试通用情况。

二、方法

采用数据库设计方法设计考试数据库。数据库的设计一般分为四个阶段——需求分析、概念设计、逻辑设计、物理设计。本文在需求分析后,主要对考试数据的概念模型和逻辑模型进行设计。

1.需求分析

网络考试系统主要完成教师创建课程、课程管理、导入题库、组卷、批卷和试卷分析,学生在线登录考试、交卷,管理员对学生和教师用户进行管理,完成数据备份、试卷和考卷备份等功能。教师出卷后,由教研室、院系和学校对试卷进行三级审核。当学生、教师和课程的数据量很大时,为了高效管理这些数据,需要通过学校、学院、专业、年级、学历对学生进行組织,通过学校、学院和教研室对教师进行组织。课程包含三级知识点,题目属于第三级知识点。数据库都放在服务器中,各用户通过网考系统远程登录访问。

2.概念模型设计

概念模型就是从现实世界到信息世界的第一层抽象,以确定领域实体属性关系,用E-R图表示。E-R图主要是由实体、属性和联系三个要素构成的。

根据需求分析,网考系统中用来存储数据的实体应该包含学校、学院、专业、教师、学生、课程、题目、试卷等。各实体之间的联系如下:一个学校包含多个学院、一个学院包含多个专业、一个专业包含多个学生;一个学院拥有多名教师,一名教师教授多门课程,一门课程包含多个一级知识点(章)、一个一级知识点包含多个二级知识点(节),一个二级知识点包含多个三级知识点,一个三级知识点包含多个题目,一个题目包括一个或多个题干、0个或多个选项和对应的正确答案(题目类型决定题干和选项的数目);从一门课程的题库可以组多份试卷,一份试卷可以选定多名学生考试,并保存学生对每个题的答案。

概念模型通常使用ER图来表达,ER图分为传统的和现代的ER图,这两种图形工具各具特点。为了使数据模型更清楚和更好理解,本文分别设计了考试数据的传统ER图和现代ER图。绘制ER图的工具软件较多,本文使用微软Office中的visio作为绘制工具。

(1)传统ER图设计

在传统ER图的图形符号中,矩形框表示实体,椭圆表示实体的属性特征,菱形表示实体之间的联系。联系有三种类型:1∶1、1∶n(或n∶1)、m∶n,分别表示一对一、一对多(或多对一)、多对多。为使ER图看起来简洁,只在图中列出实体名称及实体之间的联系,并未列出实体的属性。图1为考试数据的传统ER图。

为便于说明图1中的实体及其联系,以下给出试卷、考卷和考题的概念。

①试卷:一门课程的一次考试前,从题库中抽题后组成的试卷,相当于传统考试中教师所出的试卷模板,是将要进行大规模印刷的那份试卷。试卷信息包括试卷名称、考试时间、考试地点、包含的题目、试卷总分等。

②考卷和考题:印刷后分发给学生的每一份试卷中,分为卷头和卷体。卷头包括试卷名称和学生信息(学号、姓名和班级),卷体包含各题目以及留给学生写答案的空间。卷头定义为“考卷”,卷体定义为“考题”。

在图1(a)中,第一、二行为系统中的组织机构和人物实体,包括学校、院系、专业、教研室、教师和学生;中间一行的实体为试卷、考卷、考题和题目;最后一行中的一级、二级和三级知识点,可以对应为章、节和知识点。

试卷、考卷和考题与教师、学生、课程之间的联系较为复杂,对图1(a)中的各个联系从左向右进行具体说明如下:

①教师与学生考题间的批改联系为一对多联系。即一个学生可以答多份考卷(即多门课程的考卷),一门课程的试卷可以由多名考生作答。一名教师可以批改多个考题,一个考题只能由一名教师批改,即一份答卷中的主观题由多名教师分工批改,所以教师和考题之间的批改联系是一对多联系。

②学生与考卷之间的解答联系为一对多联系。一名学生可以在不同的时间解答多份考卷(多门课程的考卷),而一份考卷只能由一名学生解答。

③试卷和考卷之间是一对多(或一对一)联系。该联系表明,用一份试卷可以复制生成多份考卷,也可以生成一份考卷,而一份考卷只能属于一份试卷的复制品。在一门课程的一次考试中,如果一份试卷对应多份考卷,则表示一个课程班的学生用相同试卷考试,或用A、B、C等多份试卷考试;如果一份试卷对应一份考卷,表示该课程班每个学生的考卷是随机产生的,即一人一卷。

④试卷和题目间的组卷关系为多对多联系。在一门课程的组卷过程中,一份试卷可以由多个题目组成,一个题目也可组入多份试卷,如一个题目可以出现在A卷,也可以出现在B卷中,但要控制各卷的题目重复率。

⑤题目、题型类别、小题及选项之间的联系。题目所属的题型为两大类别,即客观题和主观题。

一是当题目属于客观串题时(类似英语的一篇阅读理解),则该题目包含多个小题(小题也是客观题);当题目属于客观非串题时,该题目只对应一个小题。以上两种情况下,小题都包含多个选项。

二是当题目属于主观串题时,题目包含多个小题,小题也均为主观题;题目是主观非串题时,只对应一个小题。这两种情况下,小题均不包含选项。

为使ER图简洁,把教研室、院系和学校对试卷的“审核”联系单独摘出来,见图1(b)。

(2)考试数据的现代ER图设计

图1中的传统ER图能够清晰表达各实体之间的联系及联系的类型,但如果添加实体的属性后,则ER图会变得复杂凌乱。因此在设计传统ER图后,本文又设计了现代ER图(见图2)。

在现代ER图中,矩形框表示实体,实体间的连接线表示实体之间的联系。矩形框的第一行为实体名称,第二行pk为主键属性,其余行表示实体的其他属性。从图2可以看出,现代ER图只有矩形和连接线,整体比较规整,但无法看出连接线所表示联系的意义。

图2(a)中增加了“组卷”实体,用来保存每个组卷信息,该次组卷含题号、各题分值(可以保存题目的新设分值)、组卷策略(手动组卷或自动组卷)、组卷时间等。该实体对应图1中的题目和试卷间的“组卷”联系。

3.逻辑模型设计

概念模型设计完成后,由现代ER图转换为相应的逻辑模型,目前最流行的逻辑模型是关系模型。该阶段的任务是将ER图中的实体及实体间的联系转换为关系,并确定这些关系的属性和码。将每一个实体设计为一个关系,实体之间的一对一和多对一联系设计为外键联系,多对多的联系设计为一个关系。以下是由ER图导出的关系模式,一个关系对应关系数据库中的一张表,其中双下画线标注的是主键,单下划线标出的是外键,表示与其他表的联系。

学校(学校编号,学校名称)

院系(院系编号,院系名称,学校编号)

专业(专业编号,专业名称,院系编号)

教研室(教研室编号,教研室名称,院系编号)

学生(学号,姓名,年级,班次,专业编号,学历编号)

教师(教师号,姓名,性别,职称,qq号,电话,教研室编号)

课程(课程号,课程名,学时,学分,教师号)

一级知识点(知识点id1,名称,课程号)

二级知识点(知识点id2,名称,知识点id1)

三级知识点(知识点id3,名称,知识点id2)

题型(题型编号,题型名称)

题目(题目id,题干内容,题型编号,知识点id3)

小题(小题id,题干内容,答案,难度,分值,认知程度,题目id)

选项(选项id,选项内容,小题id)

试卷(试卷号,试卷名称,试卷总分,开考时间,考试地点,审核状态,课程号)

组卷(组卷号,所含题号,各题分值,组卷策略,组卷时间,试卷号)

考卷(考卷号,客观题成绩,主观题成绩,总成绩,开答时间,交卷时间,答题进度,考卷状态,组卷号,学号)

考题(考题号,学生答案,答题时间,得分,批改时间,考卷号,教师号)

三、结果

根据前文的逻辑模型设计出物理数据库的关系表,这里采用Sql Server数据库。限于篇幅,仅列出题目表的結构设计。(详见表1、2、3)

当题型为非串题时,表1中题目表的题干内容为空;当题目题型为客观题时,该题不存在选项,即表3 中不存在该题的选项。

该考试数据库使用sql server 2008 r2设计,以该数据库为核心,辅以memcached缓存技术,利用Asp.net MVC为开发和运行环境,设计了基于B/S模式的高校网络考试系统。该网考系统已连续4年应用于泰山医学院的期末考试中,学期期末网考课程6门,考试班级300多个,网考人次多达10多万。该网考系统允许多门课程同时在线考试,并发人数多达2000人,此时系统运行仍然流畅。

四、结论

本文在设计数据库时经过了需求分析、概念模型设计、逻辑模型设计等步骤,在设计概念模型时利用了传统ER图、现代ER图工具,这种设计方法体现了自顶向下的设计思想,逐层递进,由粗到细,由简到繁。

1.融合使用传统ER图和现代ER图设计数据库

(1)通过需求分析,设计出传统ER图。传统ER图中只有实体名称和含义明确的实体间联系,这样的ER图简洁清晰。

(2)通过传统ER图,设计出现代ER图。现代ER图能详细展示实体的主键属性及其他属性。

(3)在现代ER图基础上,设计出关系模式。将现代ER图中的实体转化为关系模式,并通过实体间联系的类型,设置实体的外键属性。

(4)在关系模式基础上,选用某种关系数据库,设计出关系表。关系表的表名、字段名均采用字母表示,并设计出字段类型、字段宽度,从而完成考试关系数据库的设计。

设计步骤中使用的多个工具相互结合,优势互补,很好地完成了考试数据库的设计。

2.设计的网考数据库有力支持了网考系统的功能

(1)数据结构简洁,数据冗余小。

(2)该数据库有效地支持网考系统的功能。可以支持多门课程、多个班级的考试,支持多种组卷方式、多级试卷审核、多人同卷、一人一卷。多人同卷时,各卷题目顺序随机,同一客观题选项顺序随机。

参考文献:

[1]成洁.XML技术在网络考试系统中的应用[J].福建电脑,2010(7):99-100.

[2]孙丽娟,张沂红.基于Web的网考平台的研究与实现[J].科技信息, 2010(4):239,241.

[3]张璜.基于Web服务的智能考试平台设计[J].信息与电脑,2016(13):130-131.

[4]王正燕,韦萍萍,崔忠伟等.基于Web在线考试管理系统[J].物联网技术,2015(5):100-101,103.

[5]席卫文,张春辉,朱汉祎等.考易网络题库与考试系统实测研究[J].中国高等医学教育,2013(8):3-5.

[6]杨海涛,冯晓英.基于Web的在线英语考试系统设计与实現[J].无线互联科技,2016(6):52-53.

[7]胡虹瑛,贾锦勇,邹扬等.基于asp.net的医学在线考试与教学辅助系统的优化[J].西北医学教育,2007(5):902-904.

[8]欧阳江林,罗桂銮.基于JSP技术的网络考试系统数据库的设计[J].福建电脑,2006(8):119-120.

[9]龚利.网络考试系统中数据库的设计及架构[J].信息通信,2015(3):114-115.

(编辑:王天鹏)