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

时间:2022-10-09 08:42:23

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

摘要:随着计算机技术和网络技术的发展以及考试技术和方法的不断进步,在线考试成为无纸化考试需求下最重要的考试手段之一。在这一发展趋势下,为建立在线考试系统进行数据库设计,目的在于使该系统的运行能拓展学生的知识范畴,在一定程度上保证考试的公平性以及提高考试管理的现代化水平。在线考试系统是一个典型的信息管理系统(MIS),该系统的运行在windows 2003 sever的环境下,使用功能强大并且操作简单的Microsoft SQL server 2005作为数据库开发平台。

关键字:在线考试系统;数据库;设计;实现

中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)03-0508-04

The Design and Implementation of Database for Online Examination System

Liu Hong-jiang

(Aba Teachers’College, Aba 623002, China)

Abstract: With the continuous development of computer and network technology as well as test technologies and methods, online exami? nation can meet the requirements of paperless examination and become one of the most important means of examination. In this trend, da? tabase will been designed for the establishment of online examination system, all these works is to expand the areas of students’ knowledge and to ensure fairness of the examination to a certain extent and also to improve the modernization level of test administration. Online ex? amination system is a typical management information system (MIS), which runs on windows 2003 sever, using a powerful and easily to op? erate environment named Microsoft SQL server 2005 as its database development platform.

Key words: online examination system; database; design; implementation

21世纪是一个“知识爆炸”的时代,信息更新的速度达到空前。计算机技术与网络技术越来越广地应用于社会的各个领域,它们在现代高等教育中的应用,是现代高等教育发展的需要,也是改革教育模式,提高学校教学效果和教学效率、提高科研和管理水平的必要手段。基于网络的在线考试和无纸化办公一样必然成为社会发展的趋势,在线考试是采用大规模试题库的计算机网络考试模式使得它颠覆了传统的考试方式,使得考试出卷、答题方式以及成绩管理发生着巨大的变革,考试过程变得方便、高效、快捷、公正。有趋势表明,标准化的在线考试方式已当今考试的发展方向,当前国际上许多考试认证如GRE,其出题、答卷以及评分都是在计算机上完成的。和传统的考试方式相比,无纸化的在线考试有着其科学、及时、准确、公平等优点,这是传统考试形式无法替代和比拟的优势。

1需求分析

需求分析是数据库设计的重要步骤之一,这一阶段的主要工作是确定使用这一数据库系统的用户,以及他们的业务活动。管理员主要负责录入开课信息,教师和学生名单以及查询学生试卷等工作。

教师主要负责录入试题,修改试题,生成试卷和阅卷等工作。

学生主要完成在规定时间内的答题任务。

2数据库设计

数据库设计对于在线考试系统的开发来说是一个十分重要的环节,数据库设计质量的优劣直接影响到数据库中数据的冗余度,一致性等问题。下面就对数据库的规范化设计进行说明。2.1关系数据理论及规范化

针对一个具体的数据库应用应该构造几个关系模式?每个关系由哪些属性组成?即如何构造适合于它的数据模式,这是关系数据库逻辑设计的问题。为了解决上述问题并使数据库设计走向规范,1971年E.F.Cldd提出了规范化理论。关系数据理论就指导产生了一个具体确定的、好的数据库模式的理论体系及范式理论。范式理论的具体内容如下:

第一范式:如果关系模式R的每一个属性都是不可分解的则R为第一范式的模式记为R∈1NF。

第二范式:如果关系模式R是第一范式,且每个非主属性都完全函数依赖于关键字,则称R为满足第二范式的模式,记为R∈2NF。

第三范式:如果关系模式R是第二范式,且没有一个非关键字属性石传递函数依赖于候选关键字属性,则称R满足第三范式的模式,记为R∈3NF。

扩充第三范式:如果关系模式R是第三范式,且每一个决定因素都包含有关键字,则称R为满足扩充第三范式的模式,记为

R∈BCNF。

第四范式:如果关系模式R是第三范式,且每个非平凡多值依赖XY(Y不是X的子集),X都含有关键字,则称R为满足第四范式的模式,记为R∈4NF

2.2数据库设计

在线考试系统的各个功能模块是否能够紧密地结合在一起以及如何结合,,关键在于数据库。因此对在线考试系统的数据库进行合理的逻辑设计和有效的物理设计是关键。

2.2.1概念设计

这一部分的工作,主要是将需求分析阶段得到的用户需求抽象为信息世界的概念模型,采用自底向上的方法,进行系统的概念设计,得到以下实体及属性的E-R图。

教师实体包括教师编号、教师姓名用户名和密码四个属性,其E-R图如图1所示。

图1教师实体及属性局部E-R图

学生实体包括学号、姓名、性别和密码四个属性,其E-R图如2图所示。

图2学生实体及属性局部E-R图

试题库实体包括课程名称、题目内容、参考答案、题目类型、难易度、备选答案A、备选答案B、备选答案C、备选答案D、备选答案E、备选答案F等属性,其E-R图如3图所示。

图3试题库实体及属性局部E-R图

试卷组成实体包括试卷代码、课程名称、试卷编号、考试日期等属性,其E-R图如4图所示。

图4试卷组成实体及属性局部E-R图

试卷实体包括试卷编号、课程名称、状态、得分、大题号、小题号、试题库中序号、学生学好、学生答案等属性,其E-R图如5图所示。

图5试卷实体及属性局部E-R图

根据需求分析,教师、题库、学生和试卷四个实体之间的关系如图6所示。

图6考试局部E-R图2.2.2逻辑设计

由于现在设计数据库系统都普遍采用关系模型的关系数据库管理系统,因此逻辑设计的主要工作是将概念设计得出的实体关系模型(E-R图)转化成关系模式。

具体如下:

教师(教师编号,教师姓名,用户名,密码)

学生(学号,姓名,性别,密码)

试题库(课程代码,课程名称,题目类型,题目内容,被选答案A,被选答案B,被选答案C,被选答案D,参考答案,难易度)

试卷组成(试卷代码,课程名称,题号(大题)1,试题类型1,小题数1,难题数1,中题数1,简单题数1,每小题分数1,题号(大题)2,试题类型2,小题数2,难题数2,中题数2,简单题数2,每小题分数2,题号(大题)3,试题类型3,小题数3,难题数3,中题数3,简单题数3,每小题分数3,题号(大题)4,试题类型4,小题数4,难题数4,中题数4,简单题数4,每小题分数4,题号(大题)5,试题类型5,小题数5,难题数5,中题数5,简单题数5,每小题分数5,题号(大题)6,试题类型6,小题数6,难题数6,中题数6,简单题数6,每小题分数6,题号(大题)7,试题类型7,小题数7,难题数7,中题数7,简单题数7,每小题分数)

试卷(试卷编号,试卷名称,大试题号,小试题号,试题库中序号,学号,学生答案,得分)

成绩(学号,试卷编号,课程名称,成绩)

3数据库表结构的建立

数据库表结构的建立在逻辑设计阶段得出的关系模型的基础上,并对其进行适当的优化,各关系转化后的表结构具体如下:

Teacher表(教师信息表):主要字段有教师编号,用户名,密码及权限,其中教师编号为主键,由于教师对系统掌握的程度不同,故增加一个权限字段,管理员的权限为H,理工科教师为权限为M,文科艺体教师的权限为L。

Student(学生信息表):主要字段有学号、姓名、性别和密码,其中学号为主键。

Paper_lib(试题库表):主要字段有标识、题目类型、题目内容、备选答案A、备选答案B、备选答案C、备选答案D、参考答案和难易度。其中增加一个标识来作为主键,用于确定记录的唯一性。在该表中,增加一个标识来作为主键,确定记录的唯一性。

Paper_comp (试卷组成表):主要字段有标识、试卷名称、课程名称、试卷代码、题号(大题)1、试题类型1、小题数1、难题数1、中等题数1、简单题数1、……、题号(大题)7、试题类型7、小题数7、难题数7、中等题数7、简单题数7、考试时间、考试状态、考试学期,教学班号,教师编号等。其中,教师编号为外键,与教师表建立关系。在该表中,增加一个标识作为主键,确定记录的唯一性。

Paper(试卷表):主要字段有标识、试卷代码、试卷编号、试题(大题)号、小题号、学生答案、试题库中序号、学号、得分。其中学生学号为外键,与学生表建立关系;试卷代码为外键,与试卷组成表建立关系。在该表中,增加一个标识作为主键,确定记录的唯一性

4数据库的连接

4.1数据库平台选择

只有选择合适的数据库系统,然后根据数据库设计阶段得出的表结构,用具体的数据库语言来实现之后,才能实现数据库的连接。目前流行的数据库系统有很多,例如SQL Server,MySQL,Sybase,Oracle等,这里我们选择Microsoft的SQLserver 2005作为在线考试系统的数据库开发平台。

4.2系统开发平台选择

在线考试系统可以选择的开发平台也很多,例如jsp,PHP,.Net或者是asp等。这里我们选择一种轻量级而且开源的开发平台PHP,PHP(Hypertext Preprocessor,超文本预处理器)是一种HTML内嵌式的语言,混合了C、Java、Perl等多种语言的特点,被广泛应用的开源式的多用途脚本语言。PHP最重要的特征是它的数据库集成层,完全支持SQL标准,可以支持大多数数据库系统,并且具有数据库访问速度快、运行效率高、性能稳定、操作简单等优势。PHP提供了标准的数据库接口,数据库连接方便,兼容性强;扩展性强;即可以用来开发WEB应用程序,也可用来开发普通的应用程序,应用范围非常广.

4.3数据库连接

PHP与SQL Server数据库的连接有两种方式,一种是PHP通过ODBC访问SQL Server 2005。ODBC(Open DataBase Connectivity)即开放式接口,是由微软主导的数据库连接标准,目前所有的关系数据库都提供了ODBC驱动程序,所以ODBC已经成为数据库访问的业界标准,并得到了广泛应用。另外一种是PHP直接访问SQL Server 2005时,利用PHP提供的Mssql函数库来创建连接。分为一般和永久两种连接方式:

一般连接使用的函数是mssql_connect。

永久连接使用的函数是mssql_pconnect。

其语法如下:

int mssql_connect(string [servername],string [username], string [password]);

int mssql_pconnect(string [servername],string [username], string [password]);

在系统中,采用的是第一种方式使用mssql_connect函数进行数据库的连接,创建一个php与数据库之间的连接文件,命名为conn_db.php来实现的。conn_db.php的代码如下:

$dbconnected=@mssql_connect("数据库服务器名称或IP","用户名","密码")

or die("连接数据库服务器失败!");

mssql_select_db("database",$dbconnected);//选择要操作的数据库

?>

为了系统的安全,用@符号来屏蔽系统在客户端浏览器显示错误提示,同时用die()函数来显示连接数据库服务器失败的错误提示并直接退出程序。

用mssql_close函数关闭连接,创建一个php与数据库之间的断开文件,命名为close.php

@mssql_close($dbconnected);

?>

5结论

本文从需求分析、概要设计、逻辑设计及数据库的实现及连接等方面进行简单地阐述。对于在线考试系统的数据库设计有一定的参考价值。

参考文献:

[1]申时凯,李海雁.数据库应用技术[M].2版.北京:中国铁道出版社,2005.

[2]陈恭和.数据库基础与SQL应用教程[M].北京:高等教育出版社,2003.

[3]石志国.JSP网络开发详解[M].北京:电子工业出版社,2007.

[4] Pressman R S.软件工程:实践者的研究方法[M].北京:机械工业出版社,2007.

[5]钟伟财.PHP与SQL Server 2000架构Windows Web数据库实务[M].北京:中国铁道出版社,2001.

上一篇:基于.NET的运动训练信息管理系统的设计与实现 下一篇:浅谈基于云计算技术的医疗信息化