You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
5.1 KiB
5.1 KiB
school_exam_records 表文档
表概述
表名: school_exam_records
功能: 考试记录管理表,负责管理教务系统中的考试实例记录,跟踪考试过程、记录考试成绩和管理考试状态
字段说明
Field Type Collation Null Key Default Extra Privileges Comment
id int NULL NO PRI NULL auto_increment select,insert,update,references 记录编号
campus_id int NULL NO NULL select,insert,update,references 校区ID
user_id int NULL NO NULL select,insert,update,references 人员ID
paper_id int NULL NO NULL select,insert,update,references 试卷ID
score decimal(5,2) NULL YES NULL select,insert,update,references 得分
status enum('in_progress','completed') utf8mb4_general_ci YES in_progress select,insert,update,references 考试状态: in_progress-进行中, completed-已完成
start_time datetime NULL YES NULL select,insert,update,references 考试开始时间
end_time datetime NULL YES NULL select,insert,update,references 考试结束时间
created_at timestamp NULL YES CURRENT_TIMESTAMP DEFAULT_GENERATED select,insert,update,references 创建时间
updated_at timestamp NULL YES CURRENT_TIMESTAMP DEFAULT_GENERATED on update CURRENT_TIMESTAMP select,insert,update,references 修改时间
功能用途
主要功能
- 考试实例管理: 创建和管理具体的考试实例记录
- 考试状态跟踪: 跟踪考试的进行状态(进行中/已完成)
- 成绩记录管理: 记录和管理考试的最终得分
- 时间管理: 记录考试的开始时间和结束时间
- 人员关联管理: 关联考试人员和试卷信息
- 校区管理: 按校区管理考试记录
- 考试过程控制: 控制考试的开始、进行和结束流程
- 数据统计支持: 为考试数据分析提供基础数据
- 时间追踪: 记录考试记录的创建和修改时间
业务场景
- 员工考试: 记录员工技能测试、入职考试、培训考试过程
- 学员测评: 记录学员课程测试、阶段考试、毕业考试过程
- 考试监控: 实时监控考试进行状态和完成情况
- 成绩管理: 统计和管理考试成绩,生成成绩报告
- 考试分析: 分析考试时长、通过率等数据
- 补考管理: 管理需要补考的人员和考试安排
- 考试审计: 提供考试过程的审计追踪
- 数据导出: 导出考试记录用于外部分析
- 考试统计: 按时间、人员、试卷等维度统计考试情况
关联关系
主要关联表
- school_exam_papers: 试卷表(paper_id外键关联)
- school_personnel: 人员表(user_id关联员工)
- school_student: 学员表(user_id关联学员)
- school_campus: 校区表(campus_id外键关联)
- school_exam_answers: 考试答案表(考试答题记录关联)
- school_course: 课程表(课程考试关联)
- school_class: 班级表(班级考试关联)
- school_exam_questions: 考试题目表(间接关联)
关联说明
- 试卷关联: paper_id字段关联到具体的试卷配置
- 人员关联: user_id字段关联到考试人员(员工或学员)
- 校区关联: campus_id字段关联到具体校区
- 答题关联: 考试答案表记录此次考试的具体答题情况
- 课程关联: 考试可以关联到具体的课程或班级
- 题目关联: 通过试卷间接关联到考试题目
- 状态关联: 考试状态决定是否可以查看成绩
- 时间关联: 开始和结束时间用于计算考试时长
索引建议
- 主键索引: id(已存在)
- 外键索引:
- campus_id(校区查询)
- user_id(人员查询)
- paper_id(试卷查询)
- 普通索引:
- status(状态查询)
- score(成绩查询)
- 复合索引:
- (campus_id, user_id)(校区+人员查询)
- (paper_id, status)(试卷+状态查询)
- (user_id, status)(人员+状态查询)
- (start_time, end_time)(时间范围查询)
- 时间索引:
- start_time(开始时间查询)
- end_time(结束时间查询)
- created_at(创建时间查询)
- updated_at(更新时间查询)
注意事项
- 状态一致性: status必须为枚举值中的一种
- 时间逻辑: end_time必须大于start_time
- 成绩范围: score应在试卷设定的分数范围内
- 外键完整性: campus_id、user_id、paper_id必须存在
- 状态流转: 只能从in_progress转换为completed
- 并发控制: 同一人员同一试卷同时只能有一个进行中的考试
- 时间控制: 考试时间不能超过试卷设定的时间限制
- 成绩计算: 成绩应基于答题情况自动计算
- 数据完整性: 删除考试记录需要同时删除相关答题记录
- 权限验证: 只有考试人员本人和管理员可以查看考试记录
- 审计要求: 考试过程需要记录详细的操作日志
- 备份策略: 重要考试数据需要定期备份
- 性能优化: 大量考试记录查询需要考虑性能
- 数据归档: 历史考试记录需要定期归档处理