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.
4.7 KiB
4.7 KiB
school_departments 表文档
表概述
表名: school_departments
功能: 部门管理表,负责管理教务系统中的组织架构和部门层级关系,支持多级部门结构和部门路径管理
字段说明
Field Type Collation Null Key Default Extra Privileges Comment
id int NULL NO PRI NULL auto_increment select,insert,update,references 部门编号
department_name varchar(255) utf8mb4_general_ci NO NULL select,insert,update,references 部门名称
parent_department_id int NULL YES NULL select,insert,update,references 上级部门ID
path varchar(255) utf8mb4_general_ci YES NULL select,insert,update,references 部门路径
created_at timestamp NULL YES CURRENT_TIMESTAMP DEFAULT_GENERATED select,insert,update,references 创建时间
updated_at timestamp NULL YES CURRENT_TIMESTAMP DEFAULT_GENERATED on update CURRENT_TIMESTAMP select,insert,update,references 修改时间
deleted_at int NULL NO 0 select,insert,update,references
功能用途
主要功能
- 部门层级管理: 管理多级部门组织架构,支持无限级部门嵌套
- 部门信息维护: 维护部门名称、上级部门等基本信息
- 部门路径管理: 通过path字段记录部门的完整层级路径
- 组织架构展示: 为系统提供完整的组织架构数据
- 权限范围控制: 为权限管理提供部门范围控制
- 人员归属管理: 为人员分配提供部门归属依据
- 逻辑删除支持: 支持部门的逻辑删除和恢复
- 时间追踪: 记录部门的创建和修改时间
业务场景
- 组织架构搭建: 初始化和维护学校的组织架构
- 部门人员管理: 为人员分配和管理提供部门依据
- 权限分级管理: 基于部门层级进行权限分配和控制
- 数据权限控制: 控制用户只能查看本部门及下级部门数据
- 报表统计分析: 按部门维度进行各类业务数据统计
- 审批流程设计: 为审批流程提供部门层级依据
- 成本核算管理: 按部门进行成本分摊和核算
- 绩效考核管理: 按部门进行绩效考核和评估
- 组织架构调整: 支持部门的新增、修改、删除等调整操作
关联关系
主要关联表
- school_personnel: 人员表(部门人员关联)
- school_campus: 校区表(校区部门关联)
- school_sys_role: 角色表(部门角色权限关联)
- school_approval_config: 审批配置表(部门审批流程关联)
- school_performance_records: 绩效记录表(部门绩效关联)
- school_salary: 薪资表(部门薪资管理关联)
- school_course: 课程表(部门课程管理关联)
关联说明
- 自关联: parent_department_id与本表id形成父子部门关系
- 人员关联: 人员表通过部门ID关联,确定员工所属部门
- 权限关联: 与角色权限系统关联,实现基于部门的权限控制
- 业务关联: 各业务表通过部门关联实现数据权限控制
- 路径关联: path字段存储完整部门路径,便于层级查询
- 审批关联: 审批流程中的部门审批人配置
- 统计关联: 各类统计报表按部门维度进行数据汇总
索引建议
- 主键索引: id(已存在)
- 外键索引: parent_department_id(父部门查询)
- 普通索引:
- department_name(部门名称查询)
- path(路径查询)
- deleted_at(逻辑删除查询)
- 复合索引:
- (parent_department_id, deleted_at)(父部门有效子部门查询)
- (path, deleted_at)(路径有效部门查询)
- 时间索引:
- created_at(创建时间查询)
- updated_at(更新时间查询)
注意事项
- 层级完整性: 删除部门时需要检查是否有子部门
- 路径一致性: path字段需要与实际层级关系保持一致
- 循环引用: 防止部门层级出现循环引用
- 逻辑删除: 使用deleted_at字段进行逻辑删除,0表示未删除
- 人员迁移: 删除部门前需要处理部门内人员的归属
- 权限更新: 部门变更时需要同步更新相关权限配置
- 路径更新: 修改部门层级时需要更新所有子部门的path
- 名称唯一性: 同级部门名称应保持唯一
- 数据一致性: 部门变更时需要同步更新相关业务数据
- 性能优化: 深层级查询时需要考虑性能优化
- 备份策略: 组织架构数据需要定期备份
- 审计要求: 部门变更操作需要记录详细日志
- 并发控制: 多用户同时修改部门时需要并发控制
- 历史追踪: 重要的部门变更需要保留历史记录