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.9 KiB
5.9 KiB
school_assignment 表文档
表概述
表名: school_assignment
功能: 作业管理表,负责管理教务系统中的作业布置、提交、批改等全流程,支持班级作业和学员个人作业两种模式,支持图片、视频、文本等多种作业内容类型
字段说明
Field Type Collation Null Key Default Extra Privileges Comment
id int NULL NO PRI NULL auto_increment select,insert,update,references
type int NULL NO 2 select,insert,update,references 1班级作业 2学员作业
class_id int NULL YES NULL select,insert,update,references 班级id
course_id int NULL YES NULL select,insert,update,references 课程id
personnel_id int NULL YES NULL select,insert,update,references 老师id
student_id int NULL NO NULL select,insert,update,references 学员id
description text utf8mb4_general_ci NO NULL select,insert,update,references 作业描述(老师留作业的描述)
content_type enum('1','2','3') utf8mb4_general_ci NO 1 select,insert,update,references 作业类型1图片2视频3文本
content_text text utf8mb4_general_ci YES NULL select,insert,update,references 学生提交的作业内容(根据content_type字段判断学生提交的内容是|文本,视频oss绝对路径url,图片oss上的绝对路径ur)
deleted_at int NULL NO 0 select,insert,update,references 逻辑删除时间
status int NULL NO 1 select,insert,update,references 状态 1未提交 2已提交 3待批改 4已批改
create_time timestamp NULL YES CURRENT_TIMESTAMP DEFAULT_GENERATED select,insert,update,references 校区创建时间
update_time timestamp NULL YES CURRENT_TIMESTAMP DEFAULT_GENERATED on update CURRENT_TIMESTAMP select,insert,update,references 校区更新时间
功能用途
主要功能
- 作业管理: 管理班级作业和学员个人作业的布置和提交
- 作业类型分类: 支持班级作业(type=1)和学员作业(type=2)两种类型
- 多媒体作业: 支持图片、视频、文本三种作业内容类型
- 作业状态跟踪: 跟踪作业从未提交到已批改的完整流程
- 作业描述: 记录老师布置作业的详细描述和要求
- 内容存储: 存储学员提交的作业内容(文本/图片/视频)
- 关联管理: 关联班级、课程、老师、学员等相关信息
- 逻辑删除: 支持作业的逻辑删除和恢复
- 时间追踪: 记录作业的创建和更新时间
业务场景
- 作业布置: 老师为班级或特定学员布置作业任务
- 作业提交: 学员提交图片、视频或文本形式的作业
- 作业批改: 老师对学员提交的作业进行批改和评价
- 作业跟踪: 跟踪作业的完成进度和批改状态
- 作业统计: 统计班级作业完成情况和批改进度
- 作业归档: 对已完成的作业进行归档管理
- 作业查询: 查询特定课程或学员的作业记录
- 作业提醒: 提醒学员及时提交作业
- 教学评估: 基于作业情况评估教学效果
关联关系
主要关联表
school_class: 班级信息表 (class_id外键关联)school_course: 课程信息表 (course_id外键关联)school_personnel: 人员信息表 (personnel_id外键关联,老师)school_student: 学员信息表 (student_id外键关联)school_sys_attachment: 附件表 (作业文件关联)school_campus: 校区信息表 (数据范围关联)
关联说明
- 班级关联: class_id关联school_class表,确定作业所属班级
- 课程关联: course_id关联school_course表,确定作业所属课程
- 老师关联: personnel_id关联school_personnel表,确定布置作业的老师
- 学员关联: student_id关联school_student表,确定作业归属学员
- 附件关联: 作业中的图片和视频文件关联附件表
- 校区关联: 通过班级或课程间接关联校区信息
- 类型关联: type字段区分班级作业和个人作业
索引建议
- 主键索引: id (已存在)
- 外键索引:
- class_id (班级作业查询)
- course_id (课程作业查询)
- personnel_id (老师作业查询)
- student_id (学员作业查询)
- 业务索引:
- type (作业类型查询)
- status (作业状态查询)
- content_type (作业内容类型查询)
- deleted_at (逻辑删除查询)
- 复合索引:
- (class_id, status) (班级作业状态查询)
- (student_id, status) (学员作业状态查询)
- (personnel_id, create_time) (老师作业时间查询)
- (course_id, type, status) (课程作业类型状态查询)
- (type, status, create_time) (作业类型状态时间查询)
- 时间索引:
- create_time (创建时间查询)
- update_time (更新时间查询)
注意事项
- 作业类型: type字段限定为1(班级作业)和2(学员作业)两种类型
- 外键完整性: class_id、course_id、personnel_id、student_id必须在对应表中存在
- 内容类型: content_type限定为1(图片)、2(视频)、3(文本)三种类型
- 状态流转: status状态流转应遵循1→2→3→4的顺序(未提交→已提交→待批改→已批改)
- 逻辑删除: 使用deleted_at字段进行逻辑删除,0表示未删除
- 内容存储: content_text根据content_type存储不同类型的内容
- 文件路径: 图片和视频需要存储OSS的绝对路径URL
- 作业描述: description字段不能为空,必须提供作业要求
- 数据完整性: 班级作业必须有class_id,学员作业必须有student_id
- 权限控制: 只有授权老师才能布置和批改作业
- 文件安全: 上传的图片和视频需要进行安全检查
- 存储优化: 大文件建议使用CDN加速访问
- 备份策略: 重要作业内容需要定期备份
- 性能优化: 大量作业查询时需要考虑分页和缓存
- 监控告警: 建立作业提交和批改的监控机制
- 数据清理: 建立过期作业的清理策略
- 审计要求: 作业操作需要记录详细的操作日志