1、数据库设计阐明书 -试题库系统 年级 学号 姓名 班级 一、 数据库设计原则1.系统架构:本子系统模块构造如下:1、在线考试模块。2、在线练习模块。a) 老式试卷读取。b) 自动组卷。除了以上重要模块外,尚有某些不是重点但是同样重要模块,涉及学生登陆,密码修改,学生信息维护等等。2系统流程分析在需求分析,总体设计之后,该系统初步轮廓已经拟定,为了实现既定需求,同步综合对系统安全性,实用性及合理性各方面考虑,依照软件工程思想,本系统流程图如图1-1所示。2.用例图(在线考试子系统中重要用到了学生用例图):(1)(2)3.试卷内容分类:1.填空题2.判断题3.单选题4.多选题5.问答题4. 设计工
2、具:SQLServer公司管理器,PowerDesigner ,powerbuilder , Visual Basic二数据元素定义1. 教师基本信息表教师基本信息表存储教师类顾客基本信息。与学生基本信息表不同是,它不涉及成绩字段。详细设计如表2-1所示。表2-1 Teacher表字段名称字段阐明字段类型字段大小备注TeacherID教师编号数字长整型主核心字TeacherName教师姓名文本10B不能为空TeacherPassword教师登录口令文本20B不能为空2.管理员账号表管理人员账号表重要是为对访问系统教师及学生类人员信息进行管理,以维护本系统正常运营,保证系统安全性和可靠性而创立。
3、其字段构造如表2-2所示。表2-2 Admin表字段名称字段阐明字段类型字段大小备注AdministratorID管理人员编号数字长整型主核心字AdministratorName管理人员姓名文本10B不能为空AdministratorPassword管理人员口令文本20B不能为空3. 试卷信息表每次考试之前,由教师类顾客创立本次考试试卷。相应试卷信息被保存在试卷信息表中。当学生类顾客参加考试时,完毕试卷答案也被保存到试卷信息表中,以备评阅。在试卷信息表中还保存了试卷评阅成果,其表构造如表2-3所示。表2-3 QuestionPaper表字段名称字段阐明字段类型字段大小备注PaperSerial
4、试卷中题目编号数字长整型主核心字QuestionID试题原编号数字长整型不能为空QuestionType试题类型数字字节型主核心字UserAnswer学生答案备注Score该题分值数字单精度小数位数一位Commence教师实际判分数字单精度容许空填空题库信息表: 填空题库信息表用于存储填空题基本信息,表中各字段功能定义如表2-4所示。表2-4 Filling表字段名称字段阐明字段类型字段大小备注QuestionID题目编号数字长整型主核心字Question题目内容文本250B不能为空Answer参照答案文本50B不能为空Score题目分值数字单精度小数位数一位,不能为空TeacherID出题教
5、师编号数字长整型不能为空QuesDifficult难度系数数字字节1:易,2:中,3:难判断题库信息表: 判断题库信息表用于存储判断题基本信息,其中为迎合人们普通习惯,将判断题描述为“对”或“错”两种成果。表中各字段功能定义如表2-5所示。表2-5 RightOrWrong表字段名称字段阐明字段类型字段大小备注QuestionID题目编号数字长整型主核心字Question题目内容文本250B不能为空Answer参照答案文本对/错Score题目分值数字单精度小数位数一位,不能为空TeacherID出题教师编号数字长整型不能为空QuesDifficult难度系数数字字节1:易,2:中,3:难单选题
6、库信息表: 单选题类型题目与填空题不同是:除问题自身外,应当具备4个可选项,其表定义如表2-6所示。表2-6 SingleSel表字段名称字段阐明字段类型字段大小备注QuestionID题目编号数字长整型主核心字Question题目内容文本250B不能为空ChoiceA选项A文本50BChoiceB选项B文本50BChoiceC选项C文本50BChoiceD选项D文本50BAnswer参照答案文本10BA、B、C、DScore题目分值数字单精度小数位数一位,不能为空TeacherID出题教师编号数字长整型不能为空QuesDifficult难度系数数字字节1:易,2:中,3:难多选题库信息表:
7、多选题同单选题类似,也涉及四个可选项,与其稍微不同是:多选题答案涉及不只一种选项。表构造如表2-7所示。表2-7 MultiSel表字段名称字段阐明字段类型字段大小备注QuestionID题目编号数字长整型主核心字Question题目内容文本250B不能为空续表6-4 ChoiceA选项A文本50BChoiceB选项B文本50BChoiceC选项C文本50BChoiceD选项D文本50BAnswer参照答案文本10BABCD组合Score题目分值数字单精度小数位数一位,不能为空TeacherID出题教师编号数字长整型不能为空QuesDifficult难度系数数字字节1:易,2:中,3:难问答题
8、库信息表: 问答题库信息表存储问答题基本信息。与填空题不同是,问答题答案往往字数较多,故将其定义为支持较长文本类型。表构造如表2-8所示。表2-8 EssayQuestion表字段名称字段阐明字段类型字段大小备注QuestionID题目编号数字长整型主核心字Question题目内容文本250B不能为空Answer参照答案备注Score题目分值数字单精度小数位数一位,不能为空TeacherID出题教师编号数字长整型不能为空QuesDifficult难度系数数字字节1:易,2:中,3:难 三命名规范 1.卷类窗体设计:本系统将试卷信息定义为一种名为QuestionPaper类,QuestionPa
9、per类对象实例Qpaper将提供对试卷创立、试卷修改、答题、评阅等重要功能支持。QuestionPaper类办法及阐明如表3-1所示。表3-1 QuestionPaper类办法及阐明办法名称功能阐明办法名称功能阐明AddQuestion向试卷添加题目GetQID获取随后问题号,私有办法Check评阅试卷GetQuestion获取题目内容Create创立试卷GetQuestionID获取问题编号DelQuestion删除试卷中一种题目GetType获取试题类型GetChoice获取选取题各选项GetUserAnswer获取顾客答案GetDBRS获取题库数据集,私有办法ReportToFile输
10、出试卷到文献GetQAnswer获取问题参照答案SetAnswer回答试卷GetQSerial获取第n条试题编号四数据库表构造SQL建表语句-顾客表id 密码 权限 科室create table users (id varchar(20) not null,upwd varchar(20) not null,uright int,uroom varchar(20) not null,uname varchar(8) not null,constraint PK_user primary key (id);-顾客组表组ID 组名create table ugroup (ugid int not
11、null,15name varchar(20) not null,constraint PK_ugroup primary key (ugid);-组权限表组ID 菜单tag 权限create table gright (ugid int not null,menu_tag varchar(20) not null,mright int,constraint PK_gright primary key (ugid);-学生表id 密码姓名性别年级专业班级create table students (stu_id varchar(20) not null,pwd varchar(20) not
12、null,name varchar(8) not null,sex varchar(2),grade varchar(4) not null,major varchar(30) not null,classvarchar(4) not null,constraint PK_students primary key (stu_id);-课程表id 课程名create table course (cid varchar(20) not null,cname varchar(30) not null,constraint PK_course primary key (cid);-题型表题型编号,题型
13、,在试卷中顺序位置create table styles (sid int not null,sname varchar(20) not null,sorder int not null,constraint PK_styles primary key(sid);-课程题型关联表课程ID 题型IDcreate table course_styles(cid varchar(20) not null,16sid int not null,constraint PK_course_styles primary key (cid,sid);-学生课程关联表create table students_
14、course (stu_id varchar(20) not null,cid varchar(20) not null,constraint PK_students_course primary key(stu_id,cid);-题目表id 题目内容课程id 题型id 章节核心词难度添加时间添加人审核审核人create table questions(qid int not null,content text not null,cid varchar(20) not null,sid varchar(2) not null,chapter int not null,point varchar
15、(50),qlevel int not null,add_time datetime not null,add_user varchar(20) not null,auditint not null,auditteacher varchar(20)constraint PK_questions primary key (qid);-题目附加信息表附加id 附加题标题附加内容create table extra_questions (eid int not null,etitlevarchar(100),content text not nullconstraint PK_extra_quest
16、ions primary key (eid);-题目-附加信息关联表create table q_e (eid int not null,qid int not null,constraint PK_e_q primary key (eid,qid);-题目-图片关联表17create table p_q (qid int not null,pid int not null,constraint PK_p_q primary key (qid,pid);-答案表create table answers (aid int not null,qid int not null,optionsname
17、 varchar(1) not null,options varchar(300) not null,answer int,constraint PK_answers primary key (aid);-图片列表create table pics (pid int not null,pname varchar(30),pBlob image,constraint PK_pics primary key (pid);-试卷列表id,name 考试时间,课程代号,考试与否0 练习,1 考试,试卷类型,考试方式0 老式,1在线,审核,审核人ID,考试与否0 未考,1 已考create table
18、testpaper_list(paper_id int not null,paper_name varchar(50) not null,paper_time datetime not null,cid varchar(20) not null,test int not null,paper_styles varchar(1),testway int,audit int not null,auditteacher varchar(20) not null,sysstate nt,constraint PK_testpaper_list primary key (paper_id);-试卷详细信
19、息create table testpaper(paper_id int not null,18qid int not null,q_num int,qscore int,constraint PK_testpaper primary key (paper_id,qid);-参加考试学生表试卷Id 学号0 未考,1 已考,2 作弊create table paper_students(paper_id int not null,stu_id varchar(20) not null,stu_state int,constraint PK_paper_students primary key (
20、paper_id,stu_id);-已考试卷create table paper_done (paper_id int not null,stu_id varchar(20) not null,qid int not null,q_num int,answer varchar(200) not null,stu_score int,grade_teacher varchar(20),grade_time datetime,audit_teacher varchar(20),audit_time datetime,constraint PK_paper_done primary key (paper_id,stu_id,qid);