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

school_campus_person_role 表文档

表概述

表名: school_campus_person_role
功能: 校区人员角色关系表,用于管理人员在不同校区的角色分配和权限设置,支持多校区权限管理和组织架构维护

字段说明

Field	Type	Collation	Null	Key	Default	Extra	Privileges	Comment
id	int	NULL	NO	PRI	NULL	auto_increment	select,insert,update,references	关系编号
campus_id	int	NULL	NO		0		select,insert,update,references	校区ID
person_id	int	NULL	NO		NULL		select,insert,update,references	人员ID
role_id	int	NULL	NO		NULL		select,insert,update,references	角色ID
dept_id	int	NULL	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	逻辑删除时间
phone	varchar(255)	utf8mb4_general_ci	YES		NULL		select,insert,update,references	
task_num	int	NULL	NO		0		select,insert,update,references	

功能用途

主要功能

  • 人员角色分配: 管理人员在不同校区的角色分配和权限设置
  • 多校区权限管理: 支持人员在多个校区拥有不同角色和权限
  • 部门关联管理: 关联人员在特定校区的部门归属关系
  • 任务数量统计: 记录人员在该校区角色下的任务数量
  • 联系方式管理: 存储人员在该校区的联系电话信息
  • 时间追踪: 记录角色分配的创建和更新时间
  • 逻辑删除支持: 支持逻辑删除功能,保留历史角色分配记录
  • 权限继承: 支持角色权限的继承和覆盖机制

业务场景

  • 多校区管理: 集团化运营中人员在不同校区担任不同角色
  • 权限分级管理: 根据校区和角色进行细粒度的权限控制
  • 人员调动: 处理人员在校区间的调动和角色变更
  • 临时授权: 为人员在特定校区临时分配角色和权限
  • 部门协作: 管理跨部门、跨校区的人员协作关系
  • 任务分配: 基于校区角色进行任务的分配和管理
  • 绩效考核: 按校区和角色维度进行人员绩效评估
  • 组织架构管理: 维护复杂的多校区组织架构关系
  • 应急响应: 在紧急情况下快速调配人员和权限

关联关系

主要关联表

  • school_campus: 校区表,关联人员所属的校区信息
  • school_personnel: 人员表,关联具体的人员基本信息
  • school_sys_role: 系统角色表,关联人员被分配的角色
  • school_department: 部门表,关联人员在校区的部门归属
  • school_sys_user: 系统用户表,关联人员的登录账户信息
  • school_permission: 权限表,通过角色关联具体的权限设置
  • school_task: 任务表,关联人员在该角色下的具体任务
  • school_organization: 组织架构表,关联校区的组织结构

关联说明

  • campus_id 关联 school_campus.id,标识人员所属的校区
  • person_id 关联 school_personnel.id,标识被分配角色的人员
  • role_id 关联 school_sys_role.id,标识人员被分配的角色
  • dept_id 关联 school_department.id,标识人员在校区的部门归属
  • 与权限系统关联,实现基于校区和角色的权限控制
  • 与工作流系统关联,支持角色变更的审批流程
  • 与考勤系统关联,按校区角色进行考勤管理

索引建议

  • 主键索引: PRIMARY KEY (id) - 自动创建
  • 校区索引: INDEX idx_campus_id (campus_id) - 支持按校区查询人员角色
  • 人员索引: INDEX idx_person_id (person_id) - 支持按人员查询角色分配
  • 角色索引: INDEX idx_role_id (role_id) - 支持按角色查询人员
  • 部门索引: INDEX idx_dept_id (dept_id) - 支持按部门查询
  • 电话索引: INDEX idx_phone (phone) - 支持按联系方式查询
  • 时间索引: INDEX idx_created_at (created_at) - 支持按创建时间查询
  • 逻辑删除索引: INDEX idx_deleted_at (deleted_at) - 支持逻辑删除查询
  • 复合索引: INDEX idx_campus_person (campus_id, person_id) - 支持校区和人员的复合查询
  • 唯一索引: UNIQUE INDEX uk_campus_person_role (campus_id, person_id, role_id, deleted_at) - 防止重复分配

注意事项

  • 权限冲突检查: 分配角色时需要检查权限冲突,避免权限过度集中
  • 角色继承规则: 明确角色权限的继承和覆盖规则,避免权限混乱
  • 数据一致性: 确保人员、校区、角色数据的一致性和完整性
  • 权限审计: 定期审计人员的角色分配,确保权限的合理性
  • 批量操作控制: 对批量角色分配操作进行严格控制和审批
  • 历史记录保留: 保留角色分配的历史记录,支持权限变更的追溯
  • 并发控制: 在高并发环境下确保角色分配的原子性
  • 权限缓存: 合理使用权限缓存,提高系统性能
  • 安全控制: 严格控制超级管理员等高权限角色的分配
  • 监控告警: 建立权限异常变更的监控告警机制