Glowe 题库系统设计
一、数据库设计
1、试卷表(qms_exam_paper)
字段名 | 类型 | 注释 | 是否必填 |
---|---|---|---|
id | 数值 | 主键 | 是 |
name | varchar | 试卷名称 | 是 |
Introduction | varchar | 简介 | 是 |
description | varchar | 描述 | 是 |
source | varchar | 来源 | 否 |
title | varchar | 标题 | 否 |
level | int | 级别 | 否 |
value | varchar | 价值 | 否 |
paper_type | int | 试卷类型:0 -> 普通类型;1 -> 随机类型 | 是 |
random_setting | text | json 格式,[{"题目类型": "单选题", "难度": "非常难", "试题数量": 10, "每题分数": 10}] | 否 |
calculate | varchar | 计算方式,如果是计算所有题目相加的分数 -> score,score 等同于所有题目分数相加之和 | 是 |
interval | varchar | 区间,["60", "80", "100"] | 是 |
question_count | int | 题目数量 | 是 |
suggest_time | int | 建议时长(分钟) | 是 |
total_score | int | 总分 | 否 |
pass_score | int | 及格分数 | 否 |
create_user | int | 创建的用户 | 是 |
update_user | int | 修改的用户 | 是 |
create_time | datetime | 创建时间 | 是 |
update_time | datetime | 修改时间 | 是 |
is_delete | tinyint | 是否删除 | 是 |
2、题库分类表(qms_ question_pool)
字段名 | 类型 | 注释 | 是否必填 |
---|---|---|---|
id | int | 主键 | 是 |
name | varchar | 类别名称 | 是 |
parent_id | int | 父类 id | 否 |
sort | int | 排序 | 是 |
create_time | datetime | 创建时间 | 是 |
update_time | datetime | 更新时间 | 是 |
create_user | int | 创建的用户 | 是 |
update_user | int | 更新的用户 | 是 |
is_delete | tinyint | 是否删除 | 是 |
3、题目表(qms_question)
字段名 | 类型 | 注释 | 是否必填 |
---|---|---|---|
id | int | 主键 | 是 |
type | int | 1.单选题 2.多选题 3.判断题 4.填空题 5.简答题 | 是 |
question_pool_id | int | 题库分类 | 是 |
stem | varchar | 题干 | 是 |
level | int | 题目难度 | 否 |
remark | varchar | 题目备注 | 是 |
analysis | varchar | 题目解析 | 是 |
answer_type | tinyint | 答案类型:0 -> 正确答案,1 -> 分数 | 是 |
score | int | 题目分数 | 是 |
create_user | int | 创建人 | 是 |
update_user | int | 修改人 | 是 |
create_time | datetime | 创建时间 | 是 |
update_time | datetime | 修改时间 | 是 |
is_delete | tinyint | 是否删除 | 是 |
4、题目答案表(qms_question_answer)
字段名 | 类型 | 注释 | 是否必填 |
---|---|---|---|
id | int | 主键 | 是 |
question_id | int | 问题 | 是 |
is_right | tinyint | 是否正确答案 | 否 |
content | varchar | 答案内容 | 是 |
score | int | 答案分数 | 否 |
create_user | int | 创建人 | 是 |
update_user | int | 修改人 | 是 |
create_time | datetime | 创建时间 | 是 |
update_time | datetime | 修改时间 | 是 |
is_delete | tinyint | 是否删除 | 是 |
5、试卷题目答案表(qms_exam_paper_question_answer)
字段名 | 类型 | 注释 | 是否必填 |
---|---|---|---|
id | int | 主键 | 是 |
test_paper_id | int | 试卷id | 是 |
question_id | int | 题目id | 是 |
real_question_score | int | 当前试卷当前题目的分数 | 是 |
real_answers_score | varchar | json 格式,当前试卷当前题目每个答案的分数 | 否 |
create_user | int | 创建人 | 是 |
update_user | int | 修改人 | 是 |
create_time | datetime | 创建时间 | 是 |
update_time | datetime | 修改时间 | 是 |
is_delete | tinyint | 是否删除 | 是 |
6、试卷结果展示表(qms_exam_paper_result)
字段名 | 类型 | 注释 | 是否必填 |
---|---|---|---|
id | int | 主键 | 是 |
test_paper_id | int | 试卷id | 是 |
level | int | 等级 | 是 |
result | text | json | 是 |
create_user | int | 创建人 | 是 |
update_user | int | 修改人 | 是 |
create_time | datetime | 创建时间 | 是 |
update_time | datetime | 修改时间 | 是 |
is_delete | tinyint | 是否删除 | 是 |
7、用户试卷填写记录表(qms_user_exam_paper_history)
字段名 | 类型 | 注释 | 是否必填 |
---|---|---|---|
id | int | 主键 | 是 |
test_paper_id | int | 试卷id | 是 |
user_id | varchar | 用户id | 是 |
score | int | 得分 | 是 |
answers | varchar | 填写答案,{”1“:[A,b, c]} | 是 |
is_finish | tinyint | 是否完成 | 是 |
create_time | datetime | 创建时间 | 是 |
update_time | datetime | 修改时间 | 是 |
is_delete | tinyint | 是否删除 | 是 |
8、题目反馈表(qms_question_suggest)
字段名 | 类型 | 注释 | 是否必填 |
---|---|---|---|
id | int | 主键 | 是 |
question_id | int | 题目id | 是 |
user_id | varchar | 用户id | 是 |
description | varchar | 建议描述 | 是 |
feedback | varchar | 回复内容 | 是 |
status | tinyint | 状态:0 -> 待处理;1 -> 处理中;2 -> 已处理 | 是 |
handle_man | tinyint | 处理人 | 是 |
create_time | datetime | 创建时间 | 是 |
update_time | datetime | 修改时间 | 是 |
is_delete | tinyint | 是否删除 | 是 |
9、试卷反馈建议表 (qms_exam_paper_suggest)
字段名 | 类型 | 注释 | 是否必填 |
---|---|---|---|
id | int | 主键 | 是 |
test_paper_id | int | 题目id | 是 |
user_id | varchar | 用户id | 是 |
suggest | varchar | 建议 | 是 |
score | int | 评分 | 是 |
handle_man | tinyint | 处理人 | 是 |
create_time | datetime | 创建时间 | 是 |
update_time | datetime | 修改时间 | 是 |
is_delete | tinyint | 是否删除 | 是 |