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

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字段
  • 数据清理: 定期清理过期的人员关联记录
  • 审计追踪: 重要的人员变更操作应记录操作日志