在需求分析结束后,我们进行了数据库的结构设计,根据需求分析中设想的需要存储的数据进行数据库设计。
我们将数据设计分为考试信息表,班级考试表,考试题库表,用户试卷表,试卷答案表,题目表,题目答案表,题目题库表,题库表,用户错题表,考试记录表,班级信息表,用户表这些表,用来存储在线考试系统中所需要存储的考试信息,题目信息,考生信息等。
部分详细的数据库设计如下:
考试信息表
字段名称 | 数据类型 | 是否可以为空 | 是否为主键 | 字段说明 |
id | varchar(64) | 否 | 是 | 自增id |
title | varchar(255) | 否 | 否 | 考试名称 |
content | varchar(255) | 否 | 否 | 考试描述 |
open_type | int(11) | 否 | 否 | 考试类型 |
join_type | int(11) | 否 | 否 | 组题方式 |
level | int(11) | 否 | 否 | 考试难度 |
state | int(11) | 否 | 否 | 考试状态 |
time_limit | tinyint(3) | 否 | 否 | 是否限时 |
start_time | datetime | 否 | 否 | 开始时间 |
end_time | datetime | 否 | 否 | 结束时间 |
create_time | datetime | 否 | 否 | 创建时间 |
update_time | datetime | 是 | 否 | 更新时间 |
total_score | int(11) | 否 | 否 | 总分数 |
total_score | int(11) | 否 | 否 | 总时长 (分钟) |
qualify_score | int(11) | 否 | 否 | 及格分数 |
考试题库表
字段名称 | 数据类型 | 是否可以为空 | 是否为主键 | 字段说明 |
id | varchar(64) | 否 | 是 | 自增id |
exam_id | varchar(64) | 否 | 否 | 考试id |
repo_id | varchar(64) | 否 | 否 | 题库id |
radio_count | int(11) | 否 | 否 | 单选题数量 |
radio_score | int(11) | 否 | 否 | 单选题分数 |
multi_count | int(11) | 否 | 否 | 多选题数量 |
multi_score | int(11) | 否 | 否 | 多选题分数 |
judge_count | int(11) | 否 | 否 | 判断题数量 |
judge_score | int(11) | 否 | 否 | 判断题分数 |
sap_count | int(11) | 否 | 否 | 简答题数量 |
sap_score | int(11) | 否 | 否 | 简答题分数 |
用户试卷表
字段名称 | 数据类型 | 是否可以为空 | 是否为主键 | 字段说明 |
id | varchar(64) | 否 | 是 | 自增id |
user_id | varchar(64) | 否 | 否 | 用户id |
depart_id | varchar(32) | 否 | 否 | 班级id |
exam_id | varchar(32) | 否 | 否 | 考试id |
title | int(11) | 否 | 否 | 考试名称 |
total_time | int(11) | 否 | 否 | 考试时长 |
user_time | int(11) | 否 | 否 | 用户时长 |
total_score | int(11) | 否 | 否 | 试卷总分 |
qualify_score | int(11) | 否 | 否 | 及格分 |
obj_score | int(11) | 否 | 否 | 客观分 |
subj_score | int(11) | 否 | 否 | 主观分 |
user_score | int(11) | 否 | 否 | 用户得分 |
has_saq | tinyint(3) | 否 | 否 | 是否包含简答题 |
state | int(11) | 否 | 否 | 试卷状态 |
create_time | datetime | 否 | 否 | 创建时间 |
update_time | datetime | 是 | 否 | 更新时间 |
limit_time | datetime | 否 | 否 | 截止时间 |
用户表
字段名称 | 数据类型 | 是否可以为空 | 是否为主键 | 字段说明 |
id | varchar(64) | 否 | 是 | 自增id |
user_name | varchar(255) | 否 | 否 | 用户名 |
real_name | varchar(255) | 否 | 否 | 真实姓名 |
password | varchar(255) | 否 | 否 | 密码 |
salt | varchar(255) | 否 | 否 | 密码盐 |
depart_id | varchar(32) | 否 | 否 | 班级id |
role_type | tinyint(3) | 否 | 否 | 角色类型 |
create_time | datetime | 否 | 否 | 创建时间 |
update_time | datetime | 否 | 否 | 更新时间 |
state | int(11) | 否 | 否 | 状态 |