收藏 分销(赏)

试题库数据库设计.doc

上传人:a199****6536 文档编号:3068611 上传时间:2024-06-14 格式:DOC 页数:13 大小:225.54KB 下载积分:8 金币
下载 相关 举报
试题库数据库设计.doc_第1页
第1页 / 共13页
试题库数据库设计.doc_第2页
第2页 / 共13页


点击查看更多>>
资源描述
数据库设计说明书 --试题库系统 年级 学号 姓名 班级 一、 数据库设计原则 1.系统架构: 本子系统的模块结构如下: 1、在线考试模块。 2、在线练习模块。 a) 传统的试卷读取。 b) 自动组卷。 除了以上主要模块外,还有一些不是重点但是同样重要的模块,包括学生登陆,密码修改, 学生信息维护等等。 2.系统流程分析 在需求分析,总体设计之后,该系统的初步轮廓已经确定,为了实现既定需求,同时综合对系统的安全性,实用性及合理性各方面的考虑,根据软件工程的思想,本系统的流程图如图1-1所示。 2.用例图(在线考试子系统中主要用到了学生用例图): (1) (2) 3.试卷内容分类: 1.填空题 2.判断题 3.单选题 4.多选题 5.问答题 4. 设计工具: SQLServer企业管理器,PowerDesigner ,powerbuilder , Visual Basic 二.数据元素定义 1. 教师基本信息表 教师基本信息表存放教师类用户的基本信息。与学生基本信息表不同的是,它不包括成绩字段。具体设计如表2-1所示。 表2-1 Teacher表 字段名称 字段说明 字段类型 字段大小 备注 TeacherID 教师编号 数字 长整型 主关键字 TeacherName 教师姓名 文本 10B 不能为空 TeacherPassword 教师登录口令 文本 20B 不能为空 2.管理员账号表 管理人员账号表主要是为对访问系统的教师及学生类人员的信息进行管理,以维护本系统的正常运行,确保系统的安全性和可靠性而创建的。其字段结构如表2-2所示。 表2-2 Admin表 字段名称 字段说明 字段类型 字段大小 备注 AdministratorID 管理人员编号 数字 长整型 主关键字 AdministratorName 管理人员姓名 文本 10B 不能为空 AdministratorPassword 管理人员口令 文本 20B 不能为空 3. 试卷信息表 每次考试之前,由教师类用户创建本次考试的试卷。相应的试卷信息被保存在试卷信息表中。当学生类用户参加考试时,完成的试卷答案也被保存到试卷信息表中,以备评阅。 在试卷信息表中还保存了试卷评阅结果,其表结构如表2-3所示。 表2-3 QuestionPaper表 字段名称 字段说明 字段类型 字段大小 备注 PaperSerial 试卷中的题目编号 数字 长整型 主关键字 QuestionID 试题原编号 数字 长整型 不能为空 QuestionType 试题类型 数字 字节型 主关键字 UserAnswer 学生答案 备注 Score 该题分值 数字 单精度 小数位数一位 Commence 教师实际判分 数字 单精度 允许空 填空题库信息表: 填空题库信息表用于存储填空题的基本信息,表中各字段功能定义如表2-4所示。 表2-4 Filling表 字段名称 字段说明 字段类型 字段大小 备注 QuestionID 题目编号 数字 长整型 主关键字 Question 题目内容 文本 250B 不能为空 Answer 参考答案 文本 50B 不能为空 Score 题目分值 数字 单精度 小数位数一位,不能为空 TeacherID 出题教师编号 数字 长整型 不能为空 QuesDifficult 难度系数 数字 字节 1:易,2:中,3:难 判断题库信息表: 判断题库信息表用于存储判断题的基本信息,其中为迎合人们的通常习惯,将判断题描述为“对”或“错”两种结果。表中各字段功能定义如表2-5所示。 表2-5 RightOrWrong表 字段名称 字段说明 字段类型 字段大小 备注 QuestionID 题目编号 数字 长整型 主关键字 Question 题目内容 文本 250B 不能为空 Answer 参考答案 文本 对/错 Score 题目分值 数字 单精度 小数位数一位,不能为空 TeacherID 出题教师编号 数字 长整型 不能为空 QuesDifficult 难度系数 数字 字节 1:易,2:中,3:难 单选题库信息表: 单选题类型的题目与填空题不同的是:除问题本身外,应该具有4个可选项,其表定义如表2-6所示。 表2-6 SingleSel表 字段名称 字段说明 字段类型 字段大小 备注 QuestionID 题目编号 数字 长整型 主关键字 Question 题目内容 文本 250B 不能为空 ChoiceA 选项A 文本 50B ChoiceB 选项B 文本 50B ChoiceC 选项C 文本 50B ChoiceD 选项D 文本 50B Answer 参考答案 文本 10B A、B、C、D Score 题目分值 数字 单精度 小数位数一位,不能为空 TeacherID 出题教师编号 数字 长整型 不能为空 QuesDifficult 难度系数 数字 字节 1:易,2:中,3:难 多选题库信息表: 多选题同单选题类似,也包括四个可选项,与其稍微不同的是:多选题的答案包括不只一个选项。表结构如表2-7所示。 表2-7 MultiSel表 字段名称 字段说明 字段类型 字段大小 备注 QuestionID 题目编号 数字 长整型 主关键字 Question 题目内容 文本 250B 不能为空 续表6-4 ChoiceA 选项A 文本 50B ChoiceB 选项B 文本 50B ChoiceC 选项C 文本 50B ChoiceD 选项D 文本 50B Answer 参考答案 文本 10B ABCD的组合 Score 题目分值 数字 单精度 小数位数一位,不能为空 TeacherID 出题教师编号 数字 长整型 不能为空 QuesDifficult 难度系数 数字 字节 1:易,2:中,3:难 问答题库信息表: 问答题库信息表存放问答题的基本信息。与填空题不同的是,问答题的答案往往字数较多,故将其定义为支持较长文本的类型。表结构如表2-8所示。 表2-8 EssayQuestion表 字段名称 字段说明 字段类型 字段大小 备注 QuestionID 题目编号 数字 长整型 主关键字 Question 题目内容 文本 250B 不能为空 Answer 参考答案 备注 Score 题目分值 数字 单精度 小数位数一位,不能为空 TeacherID 出题教师编号 数字 长整型 不能为空 QuesDifficult 难度系数 数字 字节 1:易,2:中,3:难 三.命名规范 1.卷类窗体的设计: 本系统将试卷信息定义为一个名为QuestionPaper的类,QuestionPaper类的对象实例Qpaper将提供对试卷创建、试卷修改、答题、评阅等主要功能的支持。 QuestionPaper类方法及说明如表3-1所示。 表3-1 QuestionPaper类方法及说明 方法名称 功能说明 方法名称 功能说明 AddQuestion 向试卷添加题目 GetQID 获取随即问题号,私有方法 Check 评阅试卷 GetQuestion 获取题目内容 Create 创建试卷 GetQuestionID 获取问题编号 DelQuestion 删除试卷中的一个题目 GetType 获取试题类型 GetChoice 获取选择题的各选项 GetUserAnswer 获取用户答案 GetDBRS 获取题库数据集,私有方法 ReportToFile 输出试卷到文件 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 null, 15 name 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 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) ); --题型表题型编号,题型,在试卷中的顺序位置 create table styles ( sid int not null, sname varchar(20) not null, sorder int not null, constraint PK_styles primary key(sid) ); --课程题型关联表课程ID 题型ID create table course_styles( cid varchar(20) not null, 16 sid int not null, constraint PK_course_styles primary key (cid,sid) ); --学生课程关联表 create table students_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(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 null constraint PK_extra_questions primary key (eid) ); --题目-附加信息关联表 create table q_e ( eid int not null, qid int not null, constraint PK_e_q primary key (eid,qid) ); --题目-图片关联表 17 create 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 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 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) ); --试卷详细信息 create table testpaper( paper_id int not null, 18 qid 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 (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) );
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服