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 | 是否删除 | 是 |