在线考试系统数据库设计实现分析范文.docx
- 文档编号:2135223
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:33
- 大小:303.20KB
在线考试系统数据库设计实现分析范文.docx
《在线考试系统数据库设计实现分析范文.docx》由会员分享,可在线阅读,更多相关《在线考试系统数据库设计实现分析范文.docx(33页珍藏版)》请在冰豆网上搜索。
在线考试系统数据库设计实现分析范文
西南财经大学
SouthwesternUniversityofFinanceandEconomics
课程实验报告
课程名称:
数据库
学生姓名:
周小钰、李佳颖
学院:
经济信息工程学院
专业:
计算机科学与技术
指导教师:
李玉荣.
2016年12月
1.课程设计题目与要求
1.1数据库设计题目
设计和实现一个网上在线考试系统,系统应完成以下基本的业务:
a.至少两个教师,每个教一门课程
b.每个班至少包含十名学生。
c.教师能够修改试卷的题目并模仿一名同学参加一门考试
d.教师可提取一份试卷查卷
e.教师可检查其所教班级的成绩、任一学生的成绩以及查询全班的平均成绩和总成绩。
f.每一套题至少包括十道选择题
g.选择题自动阅卷,书写题人工阅卷
以上很粗略描述了网上考试系统的基本要求,你们可以根据实际问题的需要,补充和细化系统的要求。
本课程设计包括两个部分:
数据库和用户界面(用户图形化界面基本要求就是登录加试卷内容的提取)
1.2数据库设计要求
a.使用java/c语言,源程序要有适当的注释,使程序易于阅读
b.建议作出用户界面
c.学生可自动增加新功能模块
2.数据库设计过程
2.1需求分析
2.1.1业务范围
a.增加、删除、维护学生账号,老师账号,课程信息和选课信息
b.在线出题、出题过程可修改试题、答题、分数
c.学生若有疑问可以由老师提出自己的答卷查卷
d.统计一个班的学生的成绩情况供老师分析
e.提取试题
2.1.2业务流程
a.进入在线考试系统
b.通过输入账号密码判断身份,分别进入不同界面:
(1)进入管理员界面后获取管理员身份。
管理员具有对整个系统的管理权限,可以管理所有账户,管理课程,以及对选课过程控制。
(2)进入教师界面后获取教师身份。
教师有权自出题、对题库进行管理以及对学生试卷进行查询。
进入出题模块后,教师可自主命题,命题内容分为单选题和填空题。
进入改题模块后,首先判断是否已有人做题,若已存在完成题目的记录,则执行修改题目功能;若无学生完成题目的记录,则执行修改题目和答案两项功能。
进入查询模块后,教师可执行试卷、答卷以学生成绩的查询功能。
(3)进入学生考试界面后,学生可选择参加考试或成绩查询。
c.结束所有操作,退出界面。
2.1.3业务流程图
图1业务流程图
2.2概念结构设计
2.2.1步骤
a.抽象数据并设计局部视图
b.集成局部视图,得到全局概念结构
2.2.2原则
a.忠实性(设计忠实于应用的具体要求,恰当地反映现实)
b.尽可能减少冗余
c.简单性考虑
2.2.3具体实现
图2-1总ER图
图2-2管理员
图2-3选课表
图2-4课程信息
图2-5填空题库
图2-6学生
图2-7答卷
图2-8试卷
2.3逻辑结构设计
2.3.1设计目的
把概念结构设计阶段设计好的概念模型转换为逻辑模型,即将基本E-R图通过转换规则转换为关系模型,然后根据优化方法得到优化的数据模型。
2.3.2具体实现
将上述E-R图转换优化后得到的关系模式为:
Admin(ID,password);
Teacher(tID,password);
Student(sno,sname,password);
Course(cno,cname);
Sc(cno,sno,grade);
Paper(cno,sno,titleno,sanswer,getscore);
Title(cno,titleno,titlecontent,answear,score);
Title1(cno,titleno,titlecontent,A,B,C,D,answear,score);
Testpaper(cno,testpaperno,titleno,titlecontent);
后期title1删去,统一使用了title0题库表表
图2-9ER图转关系模式
2.4数据库实施和维护
针对数据库维护部分,我们小组将及时对该系统数据库进行备份,将各用户信息保存在文件中,保证用户信息的安全性。
3.运行结果
登入(以管理员为例):
管理员管理相关表信息:
登入老师后出题:
老师修改题目:
老师查卷(生成的视图):
运行结果:
试卷提取:
查看相关成绩信息:
学生答题后生成的数据
学生查询自己的成绩(后两门暂时没有考试):
登陆界面:
4.源代码
4.1建表
//课程表
CREATETABLECOURSE
(
CNOCHAR(4)NOTNULL
CNAMEVARCHAR2(20)NOTNULL
CONSTRAINTCOURSE_PKPRIMARYKEY
(
CNO
)
ENABLE
);
//创建学生信息表
CREATETABLESTUDENT
(
SNOCHAR(9)NOTNULL
SNAMECHAR(20)NOTNULL
PASSWORDVARCHAR2(20)NOTNULL
CONSTRAINTSTUDENT_PKPRIMARYKEY
(
SNO
)
ENABLE
);
//创建选课表
CREATETABLESC
(
CNOCHAR(4)NOTNULL
SNOCHAR(9)NOTNULL
GRADECHAR(4)
CONSTRAINTSC_PKPRIMARYKEY
(
CNO
SNO
)
ENABLE
);
ALTERTABLESC
ADDCONSTRAINTSC_FK1FOREIGNKEY
(
CNO
)
REFERENCESCOURSE
(
CNO
)
ENABLE;
ALTERTABLESC
ADDCONSTRAINTSC_FK2FOREIGNKEY
(
SNO
)
REFERENCESSTUDENT
(
SNO
)
ENABLE;
//老师信息表
CREATETABLETEACHER
(
TIDCHAR(9)NOTNULL
PASSWORDVARCHAR2(20)
CONSTRAINTTEACHER_PKPRIMARYKEY
(
TID
)
ENABLE
);
//试题信息表
CREATETABLETITLE
(
CNOCHAR(4)NOTNULL
TITLENOCHAR(4)NOTNULL
TITLECONTENTVARCHAR2(40)
ANSWERVARCHAR2(10)
SCORECHAR(4)
CONSTRAINTTITLE_PKPRIMARYKEY
(
CNO
TITLENO
)
ENABLE
);
ALTERTABLETITLE
ADDCONSTRAINTTITLE_FK1FOREIGNKEY
(
CNO
)
REFERENCESCOURSE
(
CNO
)
ONDELETECASCADEENABLE;
//创建学生答题表
CREATETABLEPAPER
(
CNOCHAR(4)NOTNULL
SNOCHAR(9)NOTNULL
TITLENOCHAR(4)NOTNULL
SANSWERVARCHAR2(10)
GETSCORECHAR(4)
CONSTRAINTPAPER_PKPRIMARYKEY
(
CNO
SNO
TITLENO
)
ENABLE
);
ALTERTABLEPAPER
ADDCONSTRAINTPAPER_FK1FOREIGNKEY
(
CNO
)
REFERENCESCOURSE
(
CNO
)
ONDELETECASCADEENABLE;
ALTERTABLEPAPER
ADDCONSTRAINTPAPER_FK2FOREIGNKEY
(
SNO
)
REFERENCESSTUDENT
(
SNO
)
ONDELETECASCADEENABLE;
ALTERTABLEPAPER
ADDCONSTRAINTPAPER_FK3FOREIGNKEY
(
CNO
TITLENO
)
REFERENCESTITLE
(
CNO
TITLENO
)
ONDELETECASCADEENABLE;
CREATEUSERteacer1IDENTIFIEDBY123456;
4.2存储过程
//管理员存储过程
Createorreplaceproceduremanastu(
snoinCHAR,
snameinchar,
passwordinvarchar2
)
Is
Begin
Insertintostudent
Values(SNO,SNAME,PASSWORD);
Commit;
End;
CALLMANASTU('4141051','赵日天','123456');
Createorreplaceproceduremanatea(
tidinCHAR,
passwordinvarchar2
)
Is
Begin
Insertintoteacher
Values(TID,PASSWORD);
Commit;
End;
CALLMANATEA('teacher1','123456');
Createorreplaceproceduremanacou(
cnoinCHAR,
cnameinvarchar2
)
Is
Begin
Insertintocourse
Values(CNO,cname);
Commit;
End;
CALLMANACOU('0001','课程1');
Createorreplaceproceduremanasc(
cnoinCHAR,
snoinchar
)
Is
Begin
InsertintoSC
Values(cno,sno,NULL);
Commit;
End;
CALLMANASC('0001','41410051');
//出题存储过程
Createorreplaceprocedureks(
Cno_inputinCHAR,
Sno_inputinchar,
Titleno_inputinchar,
Sanswer_inputinvarchar2
)
Is
answer1varchar2(10);
score1cha
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 在线 考试 系统 数据库 设计 实现 分析 范文