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.5 KiB
5.5 KiB
school_class_personnel_rel 表文档
表概述
表名: school_class_personnel_rel
功能: 班级人员关联表,用于管理班级与教学人员之间的多对多关联关系,支持主教练、助教、教务等不同角色的分工管理,记录人员在班级中的加入时间、离开时间和状态信息,为班级教学管理和人员调配提供完整的关联数据支持
字段说明
Field Type Collation Null Key Default Extra Privileges Comment
id int NULL NO PRI NULL auto_increment select,insert,update,references
class_id int NULL NO NULL select,insert,update,references 班级id
campus_id int NULL YES NULL select,insert,update,references 校区id
source_id int NULL YES NULL select,insert,update,references 数据id
join_time int NULL YES NULL select,insert,update,references 加入时间
out_time int NULL YES NULL select,insert,update,references 离开时间
status tinyint NULL YES NULL select,insert,update,references 状态1正常2请假
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 更新时间
role varchar(255) utf8mb4_general_ci YES NULL select,insert,update,references 主教练coach,asistantcoach助教,affairs教务
功能用途
主要功能
- 班级人员关联: 建立班级与教师、教务等人员的多对多关联关系
- 角色分工管理: 通过role字段区分主教练、助教、教务等不同角色
- 人员状态跟踪: 管理人员在班级中的状态(正常、请假等)
- 时间周期管理: 记录人员加入和离开班级的具体时间
- 校区关联管理: 关联人员所属的校区信息
- 数据源追踪: 通过source_id字段追踪人员数据的来源
- 人员变更记录: 完整记录班级人员的变更历史
- 多角色支持: 支持一个人员在同一班级担任多个角色
- 时间段管理: 支持人员在不同时间段的角色变更
业务场景
- 班级组建: 新班级创建时分配主教练、助教等教学人员
- 人员调配: 根据教学需要调整班级的教学人员配置
- 请假管理: 教师请假时更新状态,安排代课教师
- 角色变更: 助教晋升为主教练,或教务转为教学岗位
- 跨校区教学: 教师在多个校区的不同班级任教
- 临时支援: 临时安排教师支援其他班级的教学工作
- 人员考核: 统计教师在各班级的任教情况和时长
- 排课管理: 根据班级人员配置进行课程安排
- 工作量统计: 统计教师的班级数量和教学工作量
- 人员流动: 跟踪教师在不同班级间的流动情况
关联关系
主要关联表
- school_class: 班级表,通过class_id字段关联
- school_campus: 校区表,通过campus_id字段关联
- school_personnel: 人员表,通过source_id字段关联
- school_course: 课程表,班级关联的课程信息
- school_schedule: 排课表,根据班级人员安排课程
- school_attendance: 考勤表,记录班级人员的考勤情况
- school_sys_user: 系统用户表,人员可能对应系统用户
关联说明
- 班级关联: 通过class_id与school_class表建立多对一关系
- 校区关联: 通过campus_id与school_campus表建立多对一关系
- 人员关联: 通过source_id与school_personnel表建立多对一关系
- 课程关联: 班级人员配置影响课程的教学安排
- 排课关联: 班级人员信息是排课的重要依据
- 考勤关联: 班级人员的考勤记录与此表相关
索引建议
-- 主键索引(自动创建)
PRIMARY KEY (id)
-- 班级ID索引(用于查询班级人员)
INDEX idx_class_id (class_id)
-- 校区ID索引(用于按校区查询)
INDEX idx_campus_id (campus_id)
-- 数据源ID索引(用于查询人员班级)
INDEX idx_source_id (source_id)
-- 状态索引(用于查询有效人员)
INDEX idx_status (status)
-- 角色索引(用于按角色查询)
INDEX idx_role (role)
-- 复合索引(用于班级人员查询)
INDEX idx_class_status (class_id, status)
-- 复合索引(用于人员班级查询)
INDEX idx_source_class (source_id, class_id)
-- 时间范围索引(用于查询在职人员)
INDEX idx_time_range (join_time, out_time)
注意事项
- 角色规范: role字段应使用标准的角色代码(coach、assistantcoach、affairs)
- 时间逻辑: join_time应小于out_time,out_time为空表示仍在职
- 状态一致性: 人员状态变更应与实际工作状态保持一致
- 重复检查: 避免同一人员在同一班级同一时间段重复分配
- 权限控制: 不同角色的人员应有不同的班级管理权限
- 数据完整性: source_id应确保在school_personnel表中存在
- 校区一致性: 人员所属校区应与班级所属校区保持一致
- 时间精度: 时间字段应保证足够的精度,支持精确的时间管理
- 状态流转: 人员状态变更应遵循合理的流转规则
- 历史记录: 重要的人员变更应保留完整的历史记录
- 并发控制: 人员分配操作需要考虑并发安全问题
- 业务规则: 主教练不能为空,每个班级至少要有一个主教练
- 离职处理: 人员离职时应及时更新out_time字段
- 数据清理: 定期清理过期的人员关联记录
- 审计追踪: 重要的人员变更操作应记录操作日志