网络考试系统的数据库设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

收稿日期:2009-08-31
作者简介:郭小燕(1976-),女,讲师,研究方向:数据库、计算机网络。

网络考试系统的数据库设计
郭小燕,王联国
(甘肃农业大学信息科学技术学院,甘肃兰州730070)

要:为了增加网络考试系统的稳定性,减少开发应用程序的负担,设计“合理”的数据库关系模式是非常必要的。

对网络
考试系统所涉及到的主要关系模式进行了介绍,探讨了如何处理这些主要关系模式之间的关系以保证数据库的一致性和有较小的冗余。

关键词:网络;考试;数据库中图分类号:
TP392文献标识码:B
文章编码:1672-6251(2009)11-0101-02
The Database Design of Network Test System
Guo Xiaoyan ,Wang Lianguo
(Information and Science Technology School,Gansu Agriculture University,Lanzhou 730070,China)
Abstract:In order to increase the network test system stability and reduce the burden of application programs,designing "reasonable"relationship database model is very essential.The paper introduces the major relational model involved in this network test system and discusses how to deal with these key relationships in the models in order to ensure database consistency and less redundancy.
Key words:network ;test ;database
随着计算机的普及和网络技术的迅速发展,将计算机网络应用于教学测试,从而改变传统的以纸笔为工具的测试必将成为发展趋势。

网络考试由于不受时间、空间的限制,阅卷快捷、准确,从而减少了教师的工作量,已逐渐成为挑战传统考试方法的一种新的考试方式。

1网络考试系统的功能模块
对于一个完整的网络考试系统,根据系统的功能
可以确定其主要包括三类角色,即教师、学生和管理员角色,系统的功能如图1所示。

图1网络考试系统功能图
2网络考试系统的数据库设计
数据库的设计对网络考试系统至关重要,数据库
包含的关系模式(即数据库表)以及关系中包括的属性,是数据库设计中需要解决的问题。

在设计数据库时要尽量避免数据库的冗余、更新、插入和删除异常等问题的出现,这些都会造成数据库的不正确或不一致。

根据网络考试系统各模块的功能和关系数据库理论,可以将网络考试系统的数据库划分为以下几个主要关系模式:
(1)管理员(管理员id ,管理员登录账号,管理员密码,管理员姓名,管理员权限);
(2)学生信息表(学生id ,用户名,真实姓名,学生密码);
(3)课程表(课程id ,课程名);
(4)学生答题表(试题id ,学生id,课程id,答案);(5)学生考试状态表(学生id ,课程id,开始时间,
结束时间);
(6)考试计划表(考试计划id,课程名称,开始时间,结束时间,时间限制);
(7)题库表(试题id,课程id,试题内容,试题答案选项)。

其中,下划线标识部分为本关系模式的主键,这些关系模式在对数据库进行操作时,是相互关联的。

3数据库表间的相互关系
3.1学生信息表-答题表-考试状态表间的关系
3.1.1数据库查询在进行数据库的查询时,如果要知道例如“李明”这位同学的答题情况,可将学生信息表和学生答题表通过“学生id”这个字段连接起来,如果想知道课程名,可以再加上课程表,在SQL Server中具体实现如下:
Select姓名,课程名,答案
From学生信息表,学生答题表,课程表
Where学生信息表.学生id=学生答题表.学生id and学生答题.课程id=课程表.课程id
学生信息表和学生考试状态表之间的关系也基本相同。

3.1.2数据库的增删改在对数据库进行增删改时,一定要保证数据库的一致性。

在学生信息表中删除一个记录时,要保证“学生答题表”和“学生考试状态表”的信息同样被删除,以免造数据库中出现大量无用的数据。

在“学生答题表”和“学生考试状态表”中增加学生的答题信息或学生的考试状态信息时,要保证增加的“学生id”包含在“学生信息表”的“学生id”中,这是数据库的参照完整性,在SQL Sever 中是通过增加外键约束的方法来实现参照完整性。

在“学生答题表”中,属性“学生id”不是它的主键,但却是和它相对应关系的“学生信息表”的主键,为了实现学生信息和学生答题情况的相互关联,可以给这两个关系建立外键约束,在SQL Sever中具体实现如下:
Create table学生答题表
(试题id char(4)not null,
学生id char(8)not null
课程id char(4)not null
答案varchar(50)
Primary key(试题id,学生id),
Foreign key(学生id)feferences学生信息表(学生id),
On delete cascade,/*级联删除*/
On update casecade/*级联更新*/
)
在“学生信息表”和“学生考试情况表”表中建立关联和约束的方法同上。

3.2课程表-考试情况表-题库表间的关系
在“课程表”、“学生考试情况表”、“题库表”之间在查询和增删改时同样存在如3.1节所述的关系,实现方法也基本相同。

4结论
为了防止对数据库操作时引起的插入、删除和更新异常,以及数据库间的关系处理不当所引起的数据冗余和数据库的不一致性,在数据库设计时要设计出“合理”的关系模式,同样也要考虑其中一个表的操作对于其他数据库表的影响。

在开发网络考试系统的数据库时,如果尽可能多地考虑数据库之间的相互关系,可以增加系统的稳定性,减少应用程序开发系统的负担。

参考文献
[1]姚碧芬.一种基于B/S模式网络考试系统的设计[J].福建电脑,
2007,(4):156~157
[2]王珊,萨师煊.数据库系统概论[M].北京:高等教育出版社.
2005,169~178。

相关文档
最新文档