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

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	

功能用途

主要功能

  1. 部门层级管理: 管理多级部门组织架构,支持无限级部门嵌套
  2. 部门信息维护: 维护部门名称、上级部门等基本信息
  3. 部门路径管理: 通过path字段记录部门的完整层级路径
  4. 组织架构展示: 为系统提供完整的组织架构数据
  5. 权限范围控制: 为权限管理提供部门范围控制
  6. 人员归属管理: 为人员分配提供部门归属依据
  7. 逻辑删除支持: 支持部门的逻辑删除和恢复
  8. 时间追踪: 记录部门的创建和修改时间

业务场景

  1. 组织架构搭建: 初始化和维护学校的组织架构
  2. 部门人员管理: 为人员分配和管理提供部门依据
  3. 权限分级管理: 基于部门层级进行权限分配和控制
  4. 数据权限控制: 控制用户只能查看本部门及下级部门数据
  5. 报表统计分析: 按部门维度进行各类业务数据统计
  6. 审批流程设计: 为审批流程提供部门层级依据
  7. 成本核算管理: 按部门进行成本分摊和核算
  8. 绩效考核管理: 按部门进行绩效考核和评估
  9. 组织架构调整: 支持部门的新增、修改、删除等调整操作

关联关系

主要关联表

  1. school_personnel: 人员表(部门人员关联)
  2. school_campus: 校区表(校区部门关联)
  3. school_sys_role: 角色表(部门角色权限关联)
  4. school_approval_config: 审批配置表(部门审批流程关联)
  5. school_performance_records: 绩效记录表(部门绩效关联)
  6. school_salary: 薪资表(部门薪资管理关联)
  7. school_course: 课程表(部门课程管理关联)

关联说明

  1. 自关联: parent_department_id与本表id形成父子部门关系
  2. 人员关联: 人员表通过部门ID关联,确定员工所属部门
  3. 权限关联: 与角色权限系统关联,实现基于部门的权限控制
  4. 业务关联: 各业务表通过部门关联实现数据权限控制
  5. 路径关联: path字段存储完整部门路径,便于层级查询
  6. 审批关联: 审批流程中的部门审批人配置
  7. 统计关联: 各类统计报表按部门维度进行数据汇总

索引建议

  1. 主键索引: id(已存在)
  2. 外键索引: parent_department_id(父部门查询)
  3. 普通索引:
    • department_name(部门名称查询)
    • path(路径查询)
    • deleted_at(逻辑删除查询)
  4. 复合索引:
    • (parent_department_id, deleted_at)(父部门有效子部门查询)
    • (path, deleted_at)(路径有效部门查询)
  5. 时间索引:
    • created_at(创建时间查询)
    • updated_at(更新时间查询)

注意事项

  1. 层级完整性: 删除部门时需要检查是否有子部门
  2. 路径一致性: path字段需要与实际层级关系保持一致
  3. 循环引用: 防止部门层级出现循环引用
  4. 逻辑删除: 使用deleted_at字段进行逻辑删除,0表示未删除
  5. 人员迁移: 删除部门前需要处理部门内人员的归属
  6. 权限更新: 部门变更时需要同步更新相关权限配置
  7. 路径更新: 修改部门层级时需要更新所有子部门的path
  8. 名称唯一性: 同级部门名称应保持唯一
  9. 数据一致性: 部门变更时需要同步更新相关业务数据
  10. 性能优化: 深层级查询时需要考虑性能优化
  11. 备份策略: 组织架构数据需要定期备份
  12. 审计要求: 部门变更操作需要记录详细日志
  13. 并发控制: 多用户同时修改部门时需要并发控制
  14. 历史追踪: 重要的部门变更需要保留历史记录