图1  系统模块功能结构
4.数据库设计
在线考试系统离不开数据库系统的支持,数据库的设计是系统实现的一个重要环节,在系统实现过程中,数据库的设计是核心和基础[8]。不论是试题、答案,还是考生信息等都需要存放在数据库中,而且数据库独立于程序而存在,具有较好的安全性。另外,把系统中大量的数据按一定的模型组织起来,可以使系统方便、及时、准确地从数据库中获得所需的信息。
4.1数据库概念设计
在数据库概念设计阶段,不仅需要满足用户所提出的各种要求,同时还要避免产生数据冗余。由于在在线考试系统中,需要收集大量的信息,包括考生信息,教师信息信息,试题信息等,如果没有合理地设计数据库中各个表的结构以及每张表所包含的字段,那么在后期进行数据管理及汇总时,将会变得非常复杂。根据管理员信息、教师信息、考生信息以及其他相关信息的特点,经过加工、过滤,得到如下E-R图:
图2 实体信息关系E-R图
4.2数据库逻辑结构设计
数据库逻辑设计就是将E-R图转换为关系模型的过程,即将所有实体和关系转换成一系列的关系模式。具体描述如下:
(1) 管理员信息表(账号、姓名、密码);
(2) 考生信息表(学号、姓名、密码、性别、密码问题、答案、专业);
(3) 教师信息表(账号、姓名、密码、所教课程);
(4) 考生成绩表(学号、姓名、科目、成绩、考试时间);
(5) 单选题信息表(试题编号、课程号、课程名、选项A、选项B、选项C、选项D、正确答案);
(6) 多选题信息表(试题编号、课程号、课程名、选项A、选项B、选项C、选项D、正确答案);
(7) 判断题信息表(试题编号、课程号、课程名、正确答案);
(8) 专业表(系别编号、专业名);
(9) 课程信息表(课程号、课程名);
(10) 套题信息表(试卷编号、课程号、试卷名、批改状态)。
4.3数据库物理结构设计
本系统采用SQL Server 2005作为数据库管理系统,数据库命名为“Examination”,数据库包含10个表,分别为管理员信息表(Admin)、教师信息表(Teacher)、考生信息表(Student)、系别表(Profession)、考试科目表(Course)、单选题信息表(SingleProblem)、多选题信息表(MultiProblem)、判断题信息表(JudgeProblem)、学生成绩表(Score)、套题信息表(TaoTi)等,其中几个主要表物理表结构如下图所示:
(1)系统管理员信息表(Admin),主要用于保存系统管理人员的编号、用户名和密码等信息,如表1所示:
表1  Admin管理员信息表
列名    数据类型    允许为空
ID    varchar(50)    否
Name    varchar(50)    否
PWD    varchar(50)    否
(2)考生信息表(Student),主要用于保存考生的账号、姓名、密码、性别、专业和密保问题等信息,如表2所示:
表2  Student考生信息表
列名    数据类型    允许为空
ID    varchar(50)    否
Name    varchar(20)    否
PWD    varchar(20)    否
Question    varchar(50)    是
Answer    varchar(50)    是

(3)教师信息表(Teacher),主要用于保存教师编号、姓名、密码和所教课程等信息,如表3所示:
表3  Teacher教师信息表
列名    数据类型    允许为空
上一篇:JSP网上投票系统的设计与实现+系统用例图+流程图
下一篇:ASP.net第三方物流信息管理网站的设计与实现

java+mysql通用试题库系统后台设计与实现

PHP+IOS的会议管理系统的设计+ER图

基于网络的通用试题库系...

银行行办公信息服务系统【1544字】

用友NC信息系统的实施應用实践研究【3307字】

浅析嵌入式系统支柱學科...

水电站实时监控专家系统【950字】

C#学校科研管理系统的设计

医院财务风险因素分析及管理措施【2367字】

承德市事业单位档案管理...

AT89C52单片机的超声波测距...

神经外科重症监护病房患...

10万元能开儿童乐园吗,我...

公寓空调设计任务书

国内外图像分割技术研究现状

志愿者活动的调查问卷表

中国学术生态细节考察《...