# school_campus 表文档 ## 表概述 **表名**: school_campus **功能**: 校区信息管理表,用于存储和管理学校各个校区的基本信息、地理位置、状态等核心数据,是整个教务系统的基础数据表。 ## 字段说明 ``` Field Type Collation Null Key Default Extra Privileges Comment id int NULL NO PRI NULL auto_increment select,insert,update,references 主键ID campus_name varchar(255) utf8mb4_general_ci NO NULL select,insert,update,references 校区名称 campus_address varchar(255) utf8mb4_general_ci NO NULL select,insert,update,references 校区地址 campus_preview_image varchar(255) utf8mb4_general_ci YES NULL select,insert,update,references 校区预览图,存储图片路径 campus_coordinates varchar(512) utf8mb4_general_ci YES NULL select,insert,update,references 校区坐标,格式为经度,纬度 campus_introduction text utf8mb4_general_ci YES NULL select,insert,update,references 校区介绍 campus_status tinyint NULL YES 1 select,insert,update,references 校区状态:0-禁用,1-启用 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 校区更新时间 delete_time int NULL NO 0 select,insert,update,references 逻辑删除字段,0表示未删除,非空表示已删除 ``` ## 功能用途 ### 主要功能 1. **校区基础信息管理**: 存储校区名称、地址、介绍等基本信息 2. **地理位置管理**: 通过坐标字段支持地图定位和导航功能 3. **校区展示**: 支持校区预览图片展示,用于宣传和介绍 4. **状态控制**: 支持校区启用/禁用状态管理 5. **数据完整性**: 提供软删除机制,保证数据的完整性和可追溯性 ### 业务场景 - 多校区学校的校区信息管理 - 学生选择校区时的信息展示 - 校区相关的课程、教师、学生数据关联 - 校区地理位置查询和导航 - 校区宣传和介绍展示 - 系统数据按校区进行分类管理 ## 关联关系 ### 直接关联表 1. **school_student**: 通过campus_id字段关联学生所属校区 2. **school_teacher**: 通过campus_id字段关联教师所属校区 3. **school_course**: 通过campus_id字段关联课程开设校区 4. **school_classroom**: 通过campus_id字段关联教室所属校区 5. **school_department**: 通过campus_id字段关联院系所属校区 ### 间接关联表 1. **school_class**: 通过校区间接关联班级信息 2. **school_schedule**: 通过校区间接关联课程安排 3. **school_exam**: 通过校区间接关联考试安排 4. **school_fee**: 通过校区间接关联费用管理 ### 关联说明 - `id`字段作为主键,在多个业务表中作为campus_id外键引用 - 校区是整个教务系统的基础维度,几乎所有业务数据都与校区相关 - 支持多校区独立管理,也支持跨校区数据统计分析 - 校区状态影响相关业务数据的可用性 ## 索引建议 - 主键索引:id(自动创建) - 唯一索引:campus_name(校区名称唯一性) - 普通索引:campus_status(按状态查询活跃校区) - 普通索引:delete_time(软删除查询) - 复合索引:campus_status + delete_time(查询有效校区) - 普通索引:create_time(按创建时间排序) ## 注意事项 1. **数据完整性**: 校区是基础数据,删除前需要检查关联的业务数据 2. **软删除**: 使用delete_time字段实现软删除,避免影响历史数据 3. **坐标格式**: campus_coordinates字段建议使用标准的"经度,纬度"格式 4. **图片路径**: campus_preview_image存储相对路径,需要配合文件服务使用 5. **状态一致性**: campus_status和delete_time需要保持逻辑一致性 6. **唯一性约束**: 校区名称应该保持唯一性,避免重复 7. **时区处理**: timestamp字段需要注意时区设置和显示 8. **级联影响**: 校区状态变更会影响所有关联的业务数据可用性