智慧教务系统
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

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加速访问
  • 备份策略: 重要作业内容需要定期备份
  • 性能优化: 大量作业查询时需要考虑分页和缓存
  • 监控告警: 建立作业提交和批改的监控机制
  • 数据清理: 建立过期作业的清理策略
  • 审计要求: 作业操作需要记录详细的操作日志