高校在线考试系统数据库的设计与实现

时间:2022-10-01 08:32:39

高校在线考试系统数据库的设计与实现

摘 要 本文阐述了在线考试系统的数据库设计和实现思路,在该数据库基础上设计出的在线考试系统能适应高校各门课程的在线考试需求。

【关键词】在线考试系统 数据库

1 引言

随着信息化社会的迅速发展,在线考试已经逐渐在高校中流行起来,数据库作为在线考试系统功能实现的基础,做好数据库的设计和应用十分必要。

2 需求分析

本系统作为一个通用的高校在线考试系统,可以满足高校各科目的考试需求,因此在系统的分析设计阶段需要充分考虑不同考试科目的公共特性,具备一定的可设置的弹性化设计空间。

本系统主要有教师、学生、监考人员和管理员四种用户,其中教师主要完成试题库管理、试卷管理等功能;学生主要完成在线考试功能;监考人员主要完成监控考场、启动考试、回收试卷等功能;管理员主要完成对用户、权限、考试课程和考试等管理功能。

3 概念设计

E-R图是一种用于描述静态数据结构的概念模型,提供表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。把该系统的需求说明抽象为信息世界的概念模型,采用自底向上的方法,进行系统的概念设计,部分E-R图1所示。

选择题实体,包含编号、课程编号、题目、选项A、选项B、选项C、选项D、答案、章节、知识点、难易度等属性;

一般题实体,包含编号、课程编号、题目、答案、章节、知识点、难易度等属性;

试卷规则实体,包含规则编号、课程编号、单选题数量、多选题数量、填空题数量、判断题数量、综合题数量、单选题分值、多选题分值、填空题分值、判断题分值、综合题分值、总分和考试时间等属性;

试卷实体,包含编号、学号、规则编号、题型、题目编号、题目序号、学生答案、是否正确、得分等属性;

4 逻辑结构设计

逻辑结构设计就是把E-R图中的实体、实体的属性和实体之间的联系转化为数据库支持的关系模式,在转化过程中,注意命名问题、非原子属性问题和联系转换问题,根据设计创建对应的数据表,具体如下:

管理员表(编号姓名,密码);

教师表(编号,姓名,密码,系部,联系方式);

学生表(学号,姓名,密码,年级,班级,联系方式);

课程表(课程编号,课程名称);

班级表(班级编号,班级名称,系部,专业);

上课班级表(编号,课程编号,班级,上课教师编号,出卷教师编号,组卷规则编号);

考场表(考场编号,课程编号,班级,考场人数,考试开始时间,考试结束时间,监考老师编号,考场密码,考场状态);

单选题表(编号,课程编号,题目,选项A,选项B,选项C,选项D,答案,章节,知识点,难易度);

多选题表(编号,课程编号,题目,选项A,选项B,选项C,选项D,选项E,答案,章节,知识点,难易度);

填空题表(编号,课程编号,题目,答案,章节,知识点,难易度);

判断题表(编号,课程编号,题目,答案,章节,知识点,难易度);

综合题表(编号,课程编号,题目,答案,章节,知识点,难易度);

试卷规则表(规则编号,课程编号,单选题数量,多选题数量,填空题数量,判断题数量,综合题数量,单选题分值,多选题分值,填空题分值,判断题分值,综合题分值,总分,考试时间);

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

试卷表(编号,学号,规则编号,题型,题目编号,题目序号,学生答案,正确答案,是否正确,得分)。

5 数据库实现

本考试系统选择SQL Server2005作为数据库开发平台,为了充分利用数据库优势提高系统运行速度和效率,采用数据库连接池技术,连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏,能明显提高对数据库操作的性能。

系统部分功能如随机组卷和客观题自动评阅功能将在数据库端实现。随机组卷功能将通过用户设置的题型、分值、章节、知识点和难易程度等要求通过存储过程完成,而客观题的自动评阅功能将通过在试卷表中建立触发器来实现,部分代码如下:

create TRIGGER judgeAsr ON paper

FOR UPDATE

AS

select @mid=id,@rid=rid,@qid=qid,@questionid=questionid,@typeid=typeid,@stuAsr=stuAsr from inserted

if(@typeid=1)

begin

select @rightAsr=answer from singleQuestions where [id]=@questionid;

select @weight=singleScore from rule where rid=@rid;

end

--多选、判断、填空题的代码类似,此处省略

if(@rightAsr=@stuAsr)

updatepaperManage set isRight='T',score=@weight where [id]=@mid

else

updatepaperManage set isRight='F',score=0 where [id]=@mid

6 小结

一个好的的在线考试系统离不开数据库的支持,所以,如何根据系统的需求分析设计出合理的数据库,对系统的后期实现有着十分重要的意义。

参考文献

[1]钟美莺.在线考试系统数据库设计应用研究[J].数据库与信息管理,2015(21).

[2]刘洪江.在线考试系统的数据库设计与实现[J].电脑知识与技术,2012(01).

[3]雷晓敏,网络在线考试系统的数据库设计[J].中小企业管理与科技,2011(11).

作者单位

湖南女子学院信息技术系 湖南省长沙市 410004

上一篇:关于铁路信息化基础通信网络的发展建设及关键... 下一篇:信息技术与政治教学整合必须贯彻人本思想