成绩:__________
《数据库原理及应用》
课程设计
课题       在线考试系统     
班级         计06-7         
组长         栾习文         
组员         栾习文         
2008 年 12 月 22日2009 年 1 月 4 日
  在线考试系统
1绪论
随着标准化考试的日益普及,在各种考试中越来越多地采用了计算机考试的方式。相对于传统的卷面考试而言,由于传统的卷面考试从出题印刷到下发试卷等环节需要较长的时间,接触的人员相对较多,因而在保密方面具有一定的困难。而计算机考试系统采用试题库方式提供试题来源,考前无任何成套试卷,考试时考卷由计算机现场随机生成,各考生试卷不完全相同,从而避免了互相参看等作弊现象或不公平成绩的出现。同时也可考后即可获得成绩,省去了人力评卷的麻烦和弊端。
2需求说明
对考生而言,分为五个考试状态:待考、就绪、考试中、结束、缺考。考生用准考证号登录考试网站,然后验证考生信息是否一致,如果一致就会停留在考生须知界面,处于就绪状态。所有考生等待服务器发送统一命令分发试卷并同时进入考试中状态。在开考后20分钟后考生仍未到场,考生状态会自动设置为“缺考”,不能参加此次考试。考试过程中可自由答题(可随时定位到每一题)。如果有考生信息不一致的情况,可上报管理员,经审核后进行修改。考生考完试点击“交卷”,经确认后交卷。考后即可查看考试分数。在到达考试时间后,服务器会自动给未交卷的考生结束考试,并可同时给所有考生评卷得出分数。
对管理员而言,可以更改数据库的所有内容,可添加、查询、修改、删除考生的信息,设置考试的相关内容。可有选择地录入试题,为题目分类并自动在正确答案表里插入相应的标准答案。开考前服务器可自动为每考生随机生成试卷。考生号由管理员统一设置。服务器会根据考试时间来自动设置考生的考试状态。到达考试时间后,服务器可同时让所有在线考生进入答题阶段。在考试过程中,自动为考生保存考试答案。也可以查看所有考生的在线考试情况。同时也可为出现异常的考生延时等详细功能。考试全部结束后,服务器会备份所有考生信息和答题情况,并给所有考生评卷并生成所有考试成绩表,以便考生查分。
3概念模型设计
针对以上的功能分析,对数据库的设计做了以下分析。考虑到在线考试的特殊要求,数据库的设计应该包含以下信息:
考生的基本信息用来在考生登陆时进行核对验证,防止考生信息录错的情况。
考生考试的基本信息用来控制考试时间和考生的考试状态,统计在线考生和缺考情况,同
时也方便服务器统一发送命令,给所有考生同时开始考试和结束考试。从而体现公平一致的原则。
题库应包含所有的考试类型、题目内容和每题的分值,以便以后的随机抽题和为考生评分。并且数据库里也存储有每题对应的正确答案,考生的考试答案,这样可以方便评分。还对考生答案做了备份,方便以后的查阅和总结考试情况,以进一步更新考试,提高考试质量。
还应把给每位考生随机生成的试题保存起来,方便查阅核对,并可由服务器统一给对应考生发送试卷。
最后把评卷的结果和考生成绩统计出来做备份,考生可在考试结束后直接查看考试结果。如果发现有疑问地方也可随时查看和核对。
由此分析一共设计了七张表用来存储所有的考生信息和考试信息:考生信息表(包含属性:姓名、性别、准考证号、身份证号、所在学校)、考生考试信息表(包含属性:考生号、准考证号、考试时间、考试状态)、题库表(包含属性:题号、题目、题目类型、分
值)、正确答案表(包含属性:题号、标准答案)、考生试卷表(包含属性:题号、考生号)、考生答案表(包含属性:题号、答案、考生号)和考生成绩表(包含属性:准考证号、成绩)。
并为每个表设置了能唯一确定每位考生的属性。其中考生信息表里设置属性(准考证号)为主关键字,并在考生考试信息表和考生成绩表里设置属性(准考证号)为考生信息表中属性(准考证号)的外部关键字。这样就可一一关联和对应每一位考生的信息。在考生考试信息表里为每位考生生成一属性(考生号)并设置其为此表的主关键字。以唯一确定每一位考生的考试时间和考试状态。在题库中设置属性(题号)为主关键字,这样就可以唯一确定每一题,防止题目的重复,也方便随机为考生抽题。并在考生试卷表、正确答案表和考生答案表里设置属性(题号)为外部关键字,这样就和题库中的题号一一对应起来,可减少这些表中的属性。从而实现整个数据库设计的完整性和一致性。在考生答案表和考生试卷表中同时设置属性(题号和考生号)为外部关键字,这样就把考生和题目联系起来。通过关联唯一确定每位考生的试卷和答案,也方便了以后的分发试卷和为每位考生评卷。
(1)考生信息和考生考试信息之间的联系:
(2)题库和考生试卷之间的联系
(3)考生试卷和考生试卷之间的联系
   
(4)题库和正确答案之间的联系
(5)考生信息和考生成绩之间的联系
在线考试系统模型整体E-R图
4逻辑设计
整体逻辑数据库结构如下:
   
     
 
 
下面是将各个实体和联系转化为相应的二维表即关系模式,指定各个关系的主关键字和外部关键字,并对各个关系的约束加以限定:
考生信息表
字段名
数据类型
主关键字
外部关键字
参照的表
取值说明
姓名
varchar(8)
不允许为空
性别
char(2)
只允许取“男”或“女”
准考证号
char(6)
Yes
数字字符
身份证号
char(18)
数字字符
所在学校
varchar(16)
考生考信息表
耕地占用税会计分录
字段名
数据类型
主关键字
外部关键字
参照的表
取值说明
考生号
char(5)
Yes
准考证号
char(6)
Yes
考生信息
数字字符
考试时间
char(22)
不允许为空
考试状态
varchar(6)
不允许为空
题库表
英语三级报名入口
字段名
数据类型
主关键字
外部关键字
参照的表
取值说明
题号
int
Yes
大于0
题目
varchar(100)
不允许为空
题目类型
int
1或2或3
分值
int
分值in(1,10)
备注:其中题目类型中:1-判断题  2-填空题  3-选择题
正确答案表
字段名
数据类型
主关键字
外部关键字
参照的表
取值说明
题号
int
Yes
题库
大于0
标准答案
varchar(20)
Not null
考生试卷表
中国银行烟台公务员报考条件
字段名
数据类型
主关键字
外部关键字
参照的表
取值说明
题号
int
Yes
鄂尔多斯人事人才题库
大于0
考生号
char(5)
Yes
考试考试信息
Not null
考生答案表
宿州市人民政府网
字段名
数据类型
主关键字
外部关键字
参照的表
取值说明
题号
int
Yes
题库
大于0
答案
Varchar(20)
可为空
考生号
Char(5)
Yes
考生考试信息
Not null