在线考试系统的数据库设计Word文档格式.docx

上传人:b****5 文档编号:18921413 上传时间:2023-01-02 格式:DOCX 页数:17 大小:152.06KB
下载 相关 举报
在线考试系统的数据库设计Word文档格式.docx_第1页
第1页 / 共17页
在线考试系统的数据库设计Word文档格式.docx_第2页
第2页 / 共17页
在线考试系统的数据库设计Word文档格式.docx_第3页
第3页 / 共17页
在线考试系统的数据库设计Word文档格式.docx_第4页
第4页 / 共17页
在线考试系统的数据库设计Word文档格式.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

在线考试系统的数据库设计Word文档格式.docx

《在线考试系统的数据库设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《在线考试系统的数据库设计Word文档格式.docx(17页珍藏版)》请在冰豆网上搜索。

在线考试系统的数据库设计Word文档格式.docx

教研室主任(签字):

在线考试信息管理系统-----系统、试题管理

1.系统概述

为了提高考试的可靠性,降低考试成本,提高工作效率,需要实现在线考试系统,帮助教师合理管理试题,辅助出题,为学生提供在线考试功能,进行自动阅卷,提供成绩查询和汇总统计的功能。

1.1系统管理

系统管理:

系统的用户包括系统管理员、学生和教师三类用户。

系统管理员维护学生基本信息、教师基本信息。

其功能包括验证登录用户的身份,根据用户身份进入不同的页面;

教师用户和学生用户密码默认为“123456”,当用户忘记密码时系统管理员可以将密码重置为“123456”。

设计相应存储过程实现。

1.2试题管理

试题管理:

供教师用户管理,用于维护题库。

试题包括选择题和填空题,选择题包括试题内容、各选项、参考答案、试题类型、分值、所属科目、录入时间等,填空题包括试题内容、参考答案、试题类型、分值、所属科目、录入时间等;

判断题包括试题内容、参考答案,试题类型、所属科目、分值、录入时间等;

教师可以对试题进行维护,包括插入、删除、修改操作,也可以查询题库,可以按照科目、题型、录入时间等进行查询。

2.需求分析

2.1数据流图

图2.1第0层数据流图

图2.2第1层数据流图

2.2数据字典

1.数据项定义

表2.1数据项定义表

数据项名称

别名

含义说明

类型

长度

取值范围

取值含义

管理员编号

管理员号

管理员身份识别

Int

2

0-99

管理员身份编号

管理员密码

管理员登录验证

Varchar

11

教师编号

教师号

教师身份验证

教师身份编号

教师密码

教师登录验证

学生学号

学号

学生身份验证

12

学生密码

密码

学生登录验证

科目编号

编号

科目号

科目名称

名称

科目的名称

试卷编号

试卷的编号

试卷名称

试卷的名称

10

题目内容

题目

题目的详细信息

Text

100

题目的详细内容

题目答案

答案

题目的答案,包括多选单选和判断

7

对应题目的答案

题目选项

选项

题目的选项,判断有两个,选择有四个

1

0、1

对应题目的对应选项

题目得分

得分

对应试卷的对应题型的得分

0-100

对应题目的得分

2.数据结构

系统管理员(编号,姓名,账号,密码)

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

教师(学工号,姓名,密码)

科目(科目编号,科目名称)

选择题(试题内容、各选项、参考答案、试题类型、分值、所属科目、录入时间)

填空题(试题内容、参考答案、试题类型、分值、所属科目、录入时间)

判断题(试题内容、参考答案,试题类型、所属科目、分值、录入时间)

3.数据流

{教师新增试题,

教师向数据库中新增试题,新增试题时选择试题类型,并根据类型填写相应的内容,

来源为前台输入,去向是后台数据库,组成:

{选择题或填空题或判断题},无,无}

4.数据存储

试题分为三个表存储,每个表各存储一种试题,便于合理组成一套试卷

系统管理员=编号+姓名+账号+密码

学生=学号+姓名+密码

教师=学工号+姓名+密码

科目=科目编号+科目名称

选择题=试题内容+各选项+参考答案+试题类型+分值+所属科目+录入时间

填空题=试题内容+参考答案+试题类型+分值+所属科目+录入时间

判断题=试题内容+参考答案+试题类型+所属科目+分值+录入时间

5.数据处理:

试题输入:

教师输入试题是按试题类型进行分类的。

根据不同的试题类型进行不同的输入。

查询:

3个题库的试题分别按时间排序,并且可以根据多个检索条件进行检索。

修改:

可以对单个试题进行修改,包括正确答案,题目内容,题目分值等等

3.数据库概念结构设计

3.1实体分析

学生信息:

学号,姓名,密码

教师信息:

学工号,姓名,密码

管理员:

账号、密码

科目信息:

编号,科目名称

选择题信息:

试题内容、各选项、参考答案、试题类型、分值、所属科目、录入时间

填空题信息:

试题内容、参考答案、试题类型、分值、所属科目、录入时间

判断题信息:

试题内容、参考答案,试题类型、所属科目、分值、录入时间

这些实体间的语义描述如下:

由于本系统是考试系统,考虑到考试系统的特殊性,本系统中的学生和老师无关系,一套试卷有多个试题,每个试题都属于一种科目,试题由选择题、判断题、填空题三种题型,一套试题有多个选择题,有多个判断题,有多个填空题,一个学生对应一套试卷,并且该试卷是根据学号随机分配的。

3.2数据库概念结构设计

图3.1实体图

4.数据库逻辑结构设计

4.1关系模型

表4.1关系模型表

关系名

属性及码

其他约束条件

科目

科目编号,科目名称

1、科目编号为主键

2、科目编号不能为空

选择题

选择题编号、试题内容、各选项、参考答案、试题类型、分值、所属科目、录入时间

1.编号不能为空

2.所属科目引用科目主键

填空题

填空题编号、试题内容、参考答案、试题类型、分值、所属科目、录入时间

1编号不能为空

2所属科目引用科目主键

判断题

判断题编号、试题内容、参考答案,试题类型、所属科目、分值、录入时间

4.2表与视图的设计

表4.2Student表

字段名

数据类型

空值情况

StuId

int

学生编号

主关键字

StuName

String

学生姓名

非空

Password

表4.3Teacher表

TeaId

TeaName

教师姓名

表4.4选择题表表

Id

选择题编号

Body

试题内容

xxA

各选项

xxB

xxC

xxD

Answer

参考答案

Type

试题类型

Value

分值

Project

所属科目

Time

Date

录入时间

表4.5判断题表

5数据库物理设计及实施

5.1创建数据库

CreatedatabaseExam;

5.2创建表

CREATETABLE`teacher`(

`id`int(11)NOTNULLAUTO_INCREMENT,

`name`varchar(5)NOTNULL,

`password`varchar(10)NOTNULL,

PRIMARYKEY(`id`)

图5.1教师表

CREATETABLE`t_exam`(

`studentId`int(11)NOTNULL,

`paperId`int(11)NOTNULL,

`judgScore`int(10)unsignedzerofillNOTNULLCOMMENT'

判断题得分'

`singScore`int(10)unsignedzerofillNOTNULLCOMMENT'

单选得分'

`multipleScore`int(10)unsignedzerofillNOTNULLCOMMENT'

多选得分'

PRIMARYKEY(`studentId`,`paperId`),

CONSTRAINT`t_exam_ibfk_2`FOREIGNKEY(`paperId`)REFERENCES`t_paper`(`id`)ONDELETENOACTION,

CONSTRAINT`t_exam_ibfk_3`FOREIGNKEY(`studentId`)REFERENCES`t_student`(`id`)

图5.2考试表

CREATETABLE`t_judgement`(

`title`textNOTNULLCOMMENT'

题目'

`answer`smallint

(1)NOTNULLCOMMENT'

答案,只能为1(正确)0(错误)'

`jointime`datetimeNOTNULL,

`subject`int(11)NOTNULLCOMMENT'

外键-课程名'

`paperId`int(11)NOTNULLCOMMENT'

所属试卷'

PRIMARYKEY(`id`),

KEY`subject`(`subject`),

KEY`paperId`(`paperId`),

CONSTRAINT`t_judgement_ibfk_1`FOREIGNKEY(`subject`)REFERENCES`t_subject`(`id`),

CONSTRAINT`t_judgement_ibfk_2`FOREIGNKEY(`paperId`)REFERENCES`t_paper`(`id`)ONDELETENOACTION

图5.3判断题表

CREATETABLE`t_manager`(

`name`varchar(255)NOTNULL,

`password`varchar(20)NOTNULL,

图5.4管理员表

CREATETABLE`t_multiple`(

`title`textNOTNULL,

`answer`varchar(7)NOTNULL,

`optionA`varchar(50)NOTNULL,

`optionB`varchar(50)NOTNULL,

`optionC`varchar(50)NOTNULL,

`optionD`varchar(50)NOTNULL,

`subject`int(11)NOTNULL,

CONSTRAINT`t_multiple_ibfk_1`FOREIGNKEY(`subject`)REFERENCES`t_subject`(`id`),

CONSTRAINT`t_multiple_ibfk_2`FOREIGNKEY(`paperId`)REFERENCES`t_paper`(`id`)

表5.5多选题表

CREATETABLE`t_paper`(

`id`int(11)NOTNULL,

`name`varchar(10)DEFAULTNULLCOMMENT'

试卷名称'

表5.6试卷表

CREATETABLE`t_single`(

`answer`smallint(6)NOTNULLCOMMENT'

单选答案,1.2.3.4'

`jiontime`datetimeNOTNULLCOMMENT'

加入时间'

CONSTRAINT`t_single_ibfk_1`FOREIGNKEY(`subject`)REFERENCES`t_subject`(`id`),

CONSTRAINT`t_single_ibfk_2`FOREIGNKEY(`paperId`)REFERENCES`t_paper`(`id`)

表5.7单选题表

CREATETABLE`t_student`(

`number`varchar(12)NOTNULL,

KEY`id`(`id`)

图5.8学生表

CREATETABLE`t_subject`(

课程名称'

图5.9科目表

功能实现

6.1 

系统管理功能模块

1.登录

select*fromt_studentwhereid='

JS20141114023'

;

图6.1登录

CREATEPROCEDURE`NewProc`(IN`userId`int)

BEGIN

select*fromt_questionwhereid=userId;

END;

2.密码重置

updatet_studentsetpassword='

123456'

whereid='

图6.2密码重置

CREATEPROCEDURE`NewProc`(INuserIdvarchar)

UPDATEt_studentset`password`='

whereid=userId

6.2 

试题管理功能模块

1.新建试题

新建判断题

INSERTINTO`t_judgement`VALUES('

6'

'

判断题'

0'

2017-01-0320:

25:

18'

2'

1'

);

创建答案范围验证触发器

createtrrigerjudge

BEFORE

INSERTUPDATE

ont_

foreachROW

ifnew.answer!

=0ANDnew.answer!

=1THEN

SETnew.answer=0;

ENDIF;

END

新建单选题

INSERTINTO`t_single`VALUES('

10'

单选题'

答案A'

答案B'

答案C'

答案D'

27:

53'

3'

新建多选题

INSERTINTO`t_multiple`VALUES('

12'

多选题'

3.修改试题

updatet_questionsetsubject='

下列不可作为java语言修饰符的是?

'

whereid=19;

图6.3修改试题

4.删除试题

deletefromt_questionwhereid=19;

图6.4删除试题

5.查询试题

根据题目类型查询

CREATEPROCEDURE`NewProc`(INtypeint)

IFtype=1||type=2||type=3THEN

SELECT*FROMt_questionwheretype=type;

ELSE

SELECT*FROMt_question;

ENDIF;

根据题目的创建时间查询

CREATEPROCEDURE`NewProc`(INtimedate)

Select*fromt_questionwherejoinTime=date;

根据题目的内容进行模糊查询

CREATEPROCEDURE`NewProc`(INvaluevarchar)

Select*fromt_questionwheresubjectlikeconcat(‘%’,value,’%’)

7总结

通过本次实验,我学到了很多,数据库的设计决定了程序的设计,数据库是程序设计的基石,是软件设计的起点,它起着决定性的质变作用,设计优秀的数据库不仅可以节约资源节省查询时间,而且利于程序的设计,因此我们必须对数据库设计高度重视起来,培养设计良好数据库的习惯,是一个优秀的软件设计师所必须具备的基本素质条件!

在本次实验中,不仅仅学到了数据库方面的知识,而且加强了合作交流能力,往往自己一个人埋头苦想不如和他人交流一下,单打独斗永远不如合作交流。

随着程序的越来越大,单单靠一个人永远不能完成所有的任务,所以要加强和他人交流能力。

在本次试验中也暴露了不少问题,对于数据库的SQL语句只掌握了最基础的内容,稍微加深一点就不会了,以后要加强学习。

参考文献

[1]萨师煊,王珊.数据库系统概论[M].北京:

高等教育出版社,2006.

[2]甘仞初..管理信息系统[M].北京:

机械工业出版社,2002.

[3]崔洋MySQL数据库应用从入门到精通中国铁道出版社

[4]BaronSchwartz高性能MYSQL电子工业出版社

[5]西尔伯沙茨数据库系统概论机械工业出版社

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1