在线考试管理方案计划系统.docx
《在线考试管理方案计划系统.docx》由会员分享,可在线阅读,更多相关《在线考试管理方案计划系统.docx(14页珍藏版)》请在冰豆网上搜索。
在线考试管理方案计划系统
《数据库原理》课程设计
--《在线考试管理系统》数据库设计
(一)系统需求分析
本网站是一个在线考试管理系统,面向用户可分为管理员、学生和老师三类。
一个好的在线考试管理系统,集录入、维护、查询、审核和各种处理为一体,各种操作可以通过菜单进行,操作快捷,方便,性能高效、强大;使用易懂易会,形象增强的数据处理,用户均可根据需要自行使用。
传统的考试方式一般要经过人工出卷、考生考试、人工阅卷等过程。
对于一些课程来说,随着考生数量的增加。
教师出卷阅卷的工作量将会越来越大,并且其工作十分烦琐和非常容易出错。
而在线考试系统将传统考试过程中的试卷组织、审定印制、传送收集、登记发放、评判归档各个环节缩小到一至两个环节,几乎屏蔽了所有人工直接干预考试活动的可能性,不但能够节约大量的时日、人力、物力与财力,而且还可以大幅度增加考试成绩的客观性和公正性。
综上所提的功能需求,本系统实现一下基本功能:
1.管理员功能
可以对管理员、学生、老师进行查询、修改。
可以实现对科目、试卷的添加、修改、删除。
可以实现对成绩的管理。
维护本网站系统。
2.学生功能
注册、修改个人信息,并可以登录网站。
参与在线考试、并进行成绩的查询。
3.教师功能
注册,修改个人信息,并可以登录,浏览网站。
可以对试卷进行批阅,对成绩进行管理。
根据前面分析的结果,对系统功能整理如下:
1.系统功能结构
系统功能主要为学生、教师和管理员提供服务,其功能结构图如图1所示。
图1在线考试系统功能
(1)管理员管理功能:
主要针对对整个系统的管理,包括对用户(管理员、学生和老师)信息的管理,如个人信息的添加、修改和删除;对考试科目进行管理,如考试科目的添加删除;对试卷进行管理,如题目、知识点的管理。
维护网站的正常运行。
(2)学生管理功能:
可以完成学生信息的维护,包括对学生的个人信息和成绩的查询功能,对个人密码的修改,在会员密码遗失的情况下,管理员还可以针对会员的密码进行修改;可以参加相应科目的考试;可以浏览考试成绩和以往相关成绩信息。
(3)教师管理功能:
可以完成对教师信息的维护,包括密码的修改;对试卷进行浏览、批阅,客观题进行自动阅卷,主观题由教师进行阅卷;对试卷成绩进行添加、修改和删除等。
(二)数据库设计
1.概念结构设计
对系统处理的数据进行分析,可以得出本系统一共有7个实体,它们分别是:
学生、管理员、教师、试卷、科目、知识点、题目。
进一步分析个实体之间的关系,得出系统ER图,如图2、图3所示
图2整体ER图
图3管理员ER图
2.逻辑结构设计
逻辑结构设计是概念结构设计的下一阶段,设计根据概念阶段的E-R图转化成系统支持的数据模型,本选课系统采用关系模型。
系统中的E-R图转换为关系模型如下:
●学生(学号,姓名,性别,密码,班级)
●试卷(试卷编号,试卷内容,成绩,开始时间,结束时间,学号,教师编号)
●管理员(管理员编号,姓名,密码)
●教师(教师编号,姓名,所教课程,密码)
●题目(题目编号,题干,分值,选项A,选项B,选项C,选项D,正确答案,试卷编号,知识点编号)
●科目(科目编号,科目)
●知识点(知识点编号,知识点内容,科目编号)
●
组成(题目编号,试卷编号)
3.数据表设计
说明:
学生信息表用来存放学生的基本信息和一些登陆信息。
学生的注册信息存储在这个学生信息表中,学生登陆时,输入学号与密码进行登陆,通过学生信息表对学号和密码进行校验。
学生信息表如表1所示。
表1学生信息表t-stu
字段名称
数据类型
长度
说明
sxh
sname
ssex
smm
bj
Varchar
Varchar
Char
Varchar
Varchar
3
30
2
6
7
学号(主键)
姓名(不为空)
性别(不为空)
密码(不为空)
班级(不为空)
说明:
管理员信息表用来存放管理员的基本信息和其他用户的一些基本信息。
管理员登录时,输入管理员编号与密码进行登陆,通过管理员信息表对管理员编号和密码进行校验。
管理员信息表如表2所示。
表2管理员信息表t_gly
字段名称
数据类型
长度
说明
gbh
gname
gmm
Varchar
Varchar
Varchar
3
30
6
管理员编号(主键)
姓名(不为空)
密码(不为空)
说明:
教师信息表用来存放教师的基本信息和一些登陆信息。
教授登陆时,输入教授编号与密码进行登陆,通过教师信息表对教师编号和密码进行校验。
教师信息表如表3所示。
表3教师信息表t-t
字段名称
数据类型
长度
说明
tbh
tname
sjkc
tmm
Varchar
Varchar
Varchar
Varchar
3
30
15
6
教师编号(主键)
姓名(不为空)
所教课程(不为空)
密码(不为空)
说明:
试卷信息表是用来存放试卷的基本信息的,学号、教师编号为外键。
试卷信息表如表4所示。
表4试卷信息表t-sj
字段名称
数据类型
长度
说明
sjbh
sjnr
cj
kstime
jstime
sxh
tbh
Varchar
Varchar
Int
Datetime
Datetime
Varchar
Varchar
3
700
3
3
试卷编号(主键)
试卷内容(不为空)
成绩(不为空)
开始时间(不为空)
结束时间(不为空)
学号(外键)
教师编号(外键)
说明:
题目信息表是存放题目的基本信息,试卷编号、知识点编号为外键。
题库信息表如表5所示。
表5题目信息表t-tm
字段名称
数据类型
长度
说明
tmbh
tg
fz
xxA
xxB
xxC
xxD
zqda
sjbh
zsdbh
Varchar
Varchar
Varchar
Varchar
Varchar
Varchar
Varchar
Varchar
Varchar
Varchar
5
300
5
50
50
50
50
5
3
3
题目编号(主键)
题干(不为空)
分值(不为空)
选项A(不为空)
选项B(不为空)
选项C(不为空)
选项D(不为空)
正确答案(不为空)
试卷编号(外键)
知识点编号(外键)
说明:
科目信息表是存放科目的基本信息的。
科目信息表如表6所示。
表6科目信息表t-km
字段名称
数据类型
长度
说明
kmbh
km
Varchar
Varchar
3
30
科目编号(主键)
科目(不为空)
说明:
知识点信息表是存放知识点的基本信息的,题目编号是外键。
知识点信息表如表7所示。
表7知识点信息表t-zsd
字段名称
数据类型
长度
说明
zsdbh
zsdnr
kmbh
Varchar
Varchar
Varchar
4
700
3
知识点编号(主键)
知识点内容(不为空)
科目编号(外键)
说明:
组成信息表用来存放题目编号和试卷编号的信息。
组成信息表如表8所示。
表8组成信息表t-zc
字段名称
数据类型
长度
说明
tmbh
sjbh
Varchar
Varchar
5
3
题目编号(主键,外键)
试卷编号(主键,外键)
4.程序:
createdatabasekaoshi;
usekaoshi;
--创建学生信息
createtablestu(
sxhvarchar(3)primarykey,--学号
snamevarchar(30),--姓名
ssexchar
(2),--性别
smmvarchar(6),--密码
bjvarchar(7),--班级
);
--创建管理员信息
createtablegly(
gbhvarchar(3)primarykey,--管理员编号
gnamevarchar(30),--姓名
gmmvarchar(6)--密码
);
--创建教师信息
createtablet(
tbhvarchar(3)primarykey,--教师编号
tnamevarchar(30),--姓名
sjkevarchar(15),--所教课程
tmmvarchar(6)--密码
);
--创建试卷信息
createtablesj(
sjbhvarchar(3)primarykey,--试卷编号
sjnrvarchar(800),--试卷内容
cjint,--成绩
kstimedatetime,--开始时间
jstimedatetime,--结束时间
sxhvarchar(3),--学号(外键)
tbhvarchar(3),--教师编号(外键)
foreignkey(sxh)referencesstu(sxh),
foreignkey(tbh)referencest(tbh)
);
--创建科目信息
createtablekm(
kmbhvarchar(3)primarykey,--科目编号
kmvarchar(30),--科目
);
--创建知识点信息表
createtablezsd(
zsdbhvarchar(4)primarykey,--知识点编号
zshnrvarchar(700),--知识点内容
kmbhvarchar(3),--科目编号(外键)
foreignkey(kmbh)referenceskm(kmbh)
);
--创建题目信息
createtabletm(
tmbhvarchar(5)primarykey,--题目编号
tgvarchar(300),--题干
fzvarchar(5),--分值
xxAvarchar(50),--选项A
xxBvarchar(50),--选项B
xxCvarchar(50),--选项C
xxDvarchar(50),--选项D
zqdavarchar(5),--正确答案
sjbhvarchar(3),--试卷编号(外键)
zsdbhvarchar(4),--知识点编号(外键)
foreignkey(sjbh)referencessj(sjbh),
foreignkey(zsdbh)referenceszsd(zsdbh)
);
--创建组成信息
createtablezc(
tmbhvarchar(5),--题目编号
sjbhvarchar(3),--试卷编号
primarykey(tmbh,sjbh),
foreignkey(tmbh)referencestm(tmbh),
foreignkey(sjbh)referencessj(sjbh)
);
--插入学生信息
insertintostu
values('s01','王一','男','123456','B1201');
insertintostu
values('s02','李二','女','234567','B1202');
insertintostu
values('s03','周三','男','345689','B1203');
--插入管理员信息
insertintogly
values('g01','宋四','000000');
insertintogly
values('g02','郭五','111111');
insertintogly
values('g03','张六','222222');
--插入教师信息
insertintot
values('t01','白七','英语','333333');
insertintot
values('t02','安八','数学','444444');
insertintot
values('t03','毛九','计算机','555555');
--插入试卷信息
insertintosj
values('Y01','英语考试,第一题:
Whatisyourname?
.......',85,'8:
00','9:
00','s01','t01');
insertintosj
values('S01','数学考试,第一题:
+1=?
.......',85,'8:
00','10:
00','s02','t02');
insertintosj
values('J01','计算机考试,第一题:
执行下列语句.......',70,'11:
00','12:
00','s03','t03');
--插入科目信息
insertintokm
values('Y01','英语');
insertintokm
values('S02','数学');
insertintokm
values('J03','计算机');
--插入知识点信息
insertintozsd
values('001','英语语法','Y01');
insertintozsd
values('002','单词含义','Y01');
insertintozsd
values('003','句式结构','Y01');
--插入题目信息
insertintotm
values('
(1)','英语考试,第一题:
Whatisyourname?
','2分','mynameis...','Hisnameis...','Hernameis...','theirnameis...','A','Y01','001');
insertintotm
values('
(2)','英语考试,第二题:
oneandtwois?
','2分','one','two','three','four','C','Y01','002');
insertintotm
values('(3)','英语考试,第三题:
Shedidtheexerciseagain.Sheforgot_____it.','2分','todo','doing','do','did','B','Y01','003');
--插入组成信息
insertintozc
values('
(1)','Y01');
insertintozc
values('
(2)','Y01');
insertintozc
values('(3)','Y01');