# school_student 表文档 ## 表概述 **表名**: school_student **功能**: 学员信息管理表,用于存储和管理学员的基本信息、学习状态、关联关系等核心数据,是教务系统的核心业务表之一。 ## 字段说明 ``` Field Type Collation Null Key Default Extra Privileges Comment id int NULL NO PRI NULL auto_increment select,insert,update,references 学员ID name varchar(255) utf8mb4_0900_ai_ci NO NULL select,insert,update,references 学员姓名 gender tinyint NULL NO NULL select,insert,update,references 性别: 0未知, 1男, 2女 age decimal(4,2) NULL YES NULL select,insert,update,references 年龄,支持小数表示,例如3.11表示3岁11个月 birthday date NULL YES NULL select,insert,update,references 生日 user_id int NULL NO NULL select,insert,update,references 资源ID campus_id int NULL YES NULL select,insert,update,references 校区ID class_id int NULL YES NULL select,insert,update,references 班级ID note text utf8mb4_0900_ai_ci YES NULL select,insert,update,references 备注信息 status tinyint NULL NO NULL select,insert,update,references 学员状态: 0无效, 1有效,2 过期,3 结业 created_at datetime NULL YES CURRENT_TIMESTAMP DEFAULT_GENERATED select,insert,update,references 创建时间 updated_at datetime NULL YES CURRENT_TIMESTAMP DEFAULT_GENERATED on update CURRENT_TIMESTAMP select,insert,update,references 修改时间 deleted_at int NULL NO 0 select,insert,update,references 逻辑删除时间 emergency_contact varchar(255) utf8mb4_0900_ai_ci YES NULL select,insert,update,references 紧急联系人 contact_phone varchar(20) utf8mb4_0900_ai_ci YES NULL select,insert,update,references 联系人电话 member_label varchar(255) utf8mb4_general_ci YES select,insert,update,references 学员标签 consultant_id varchar(255) utf8mb4_0900_ai_ci YES NULL select,insert,update,references 顾问ID coach_id varchar(255) utf8mb4_0900_ai_ci YES NULL select,insert,update,references 教练ID trial_class_count int NULL YES 0 select,insert,update,references 体验课次数|默认0 headimg varchar(1000) utf8mb4_general_ci NO select,insert,update,references 会员头像 first_come timestamp NULL YES NULL select,insert,update,references 一访时间 second_come timestamp NULL YES NULL select,insert,update,references 二访时间 created_person_id int NULL YES NULL select,insert,update,references 首次创建人 id ``` ## 功能用途 ### 主要功能 1. **学员基础信息管理**: 存储学员姓名、性别、年龄、生日等基本信息 2. **学员状态管理**: 跟踪学员的学习状态(有效、无效、过期、结业) 3. **关联关系管理**: 关联校区、班级、顾问、教练等相关信息 4. **联系信息管理**: 存储紧急联系人、联系电话等重要联系方式 5. **学习跟踪**: 记录体验课次数、访问时间等学习轨迹 6. **个性化标签**: 支持学员标签分类和个性化管理 7. **数据完整性**: 提供软删除和创建人追踪机制 ### 业务场景 - 学员入学注册和信息录入 - 学员学习状态跟踪和管理 - 班级学员分配和调整 - 顾问和教练的学员分配 - 学员联系信息维护 - 体验课程安排和统计 - 学员标签分类和精准营销 - 学员学习轨迹分析 ## 关联关系 ### 直接关联表 1. **school_campus**: 通过campus_id字段关联学员所属校区 2. **school_class**: 通过class_id字段关联学员所在班级 3. **school_sys_user**: 通过consultant_id、coach_id关联顾问和教练 4. **school_sys_user**: 通过created_person_id关联创建人 5. **school_user**: 通过user_id字段关联用户资源信息 ### 间接关联表 1. **school_course**: 通过班级间接关联课程信息 2. **school_schedule**: 通过班级间接关联课程安排 3. **school_attendance**: 通过学员ID关联考勤记录 4. **school_fee**: 通过学员ID关联费用记录 5. **school_exam**: 通过学员ID关联考试记录 6. **school_homework**: 通过学员ID关联作业记录 ### 关联说明 - `id`字段作为主键,在多个业务表中作为student_id外键引用 - `campus_id`关联校区,实现多校区学员管理 - `class_id`关联班级,支持学员班级调整 - `consultant_id`和`coach_id`关联员工,实现责任制管理 - `user_id`关联用户资源,支持学员登录和在线学习 - 学员状态影响相关业务功能的可用性 ## 索引建议 - 主键索引:id(自动创建) - 普通索引:campus_id(按校区查询学员) - 普通索引:class_id(按班级查询学员) - 普通索引:status(按状态查询活跃学员) - 普通索引:deleted_at(软删除查询) - 复合索引:campus_id + status(查询校区活跃学员) - 复合索引:class_id + status(查询班级活跃学员) - 普通索引:consultant_id(按顾问查询学员) - 普通索引:coach_id(按教练查询学员) - 普通索引:created_at(按创建时间排序) ## 注意事项 1. **年龄字段**: age使用decimal类型支持精确到月的年龄表示 2. **软删除**: 使用deleted_at字段实现软删除,保护历史数据 3. **状态管理**: status字段需要与业务流程保持一致,状态变更需要记录日志 4. **外键约束**: campus_id、class_id等外键需要保证数据完整性 5. **联系信息**: 紧急联系人和电话是重要安全信息,需要格式验证 6. **头像存储**: headimg字段存储图片路径,需要配合文件服务 7. **访问时间**: first_come和second_come用于跟踪学员访问轨迹 8. **体验课统计**: trial_class_count需要与实际课程记录保持同步 9. **数据隐私**: 学员个人信息需要符合数据保护法规 10. **批量操作**: 大批量学员数据操作需要考虑性能影响