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.6 KiB
4.6 KiB
school_resource_sharing 表文档
表概述
表名: school_resource_sharing
功能: 资源共享管理表,用于管理教育资源在用户、角色和校区之间的共享权限和访问控制
字段说明
Field Type Collation Null Key Default Extra Privileges Comment
id int NULL NO PRI NULL auto_increment select,insert,update,references 共享记录编号
resource_id int NULL NO NULL select,insert,update,references 资源ID
user_id int NULL YES NULL select,insert,update,references 用户ID(可为空)
role_id int NULL YES NULL select,insert,update,references 角色ID(可为空)
shared_by int NULL NO 0 select,insert,update,references 共享人ID
shared_at timestamp NULL YES CURRENT_TIMESTAMP DEFAULT_GENERATED select,insert,update,references 共享时间
campus_id int NULL YES NULL select,insert,update,references 所属校区
功能用途
主要功能
- 资源共享管理: 管理教育资源在不同用户和角色之间的共享
- 权限控制: 控制资源的访问权限和使用范围
- 用户共享: 支持向特定用户共享资源的功能
- 角色共享: 支持向特定角色批量共享资源
- 校区共享: 管理资源在不同校区之间的共享
- 共享追踪: 记录资源共享的操作人和时间
- 访问控制: 实现细粒度的资源访问控制
- 共享历史: 维护资源共享的历史记录
- 权限继承: 支持基于角色的权限继承机制
业务场景
- 教学资源共享: 教师之间共享课件、教案等教学资源
- 课程资源共享: 不同课程之间共享通用的教学材料
- 校区资源共享: 总部向各分校区共享标准化教学资源
- 管理资源共享: 管理人员共享制度文件、表格模板等
- 学员资源共享: 向学员开放特定的学习资源和材料
- 部门资源共享: 不同部门之间共享工作资源和文档
- 临时资源共享: 为特定项目或活动临时共享资源
- 批量资源共享: 基于角色批量共享多个资源
- 权限回收: 取消或修改已共享资源的访问权限
关联关系
主要关联表
school_resources: 资源表(被共享的资源信息)school_sys_user: 系统用户表(共享目标用户)school_sys_role: 系统角色表(共享目标角色)school_personnel: 人员表(共享操作人员)school_campus: 校区表(资源所属校区)school_member: 会员表(学员用户关联)school_course: 课程表(课程相关资源)school_class: 班级表(班级资源共享)
关联说明
- 资源关联: resource_id关联到具体的资源记录
- 用户关联: user_id关联到接收共享的用户
- 角色关联: role_id关联到接收共享的角色
- 操作人关联: shared_by关联到执行共享操作的人员
- 校区关联: campus_id限定资源共享的校区范围
- 时间关联: shared_at记录资源共享的具体时间
- 权限关联: 通过用户和角色实现灵活的权限控制
索引建议
- 主键索引: id(已存在)
- 外键索引:
- resource_id(资源查询)
- user_id(用户查询)
- role_id(角色查询)
- shared_by(操作人查询)
- campus_id(校区查询)
- 时间索引: shared_at(共享时间查询)
- 复合索引:
- (resource_id, user_id)(资源用户查询优化)
- (resource_id, role_id)(资源角色查询优化)
- (user_id, campus_id)(用户校区查询)
- (role_id, campus_id)(角色校区查询)
- (shared_by, shared_at)(操作人时间查询)
- (campus_id, shared_at)(校区时间查询)
注意事项
- 权限验证: 共享操作前需要验证操作人的权限
- 重复共享: 避免向同一用户或角色重复共享相同资源
- 权限冲突: 处理用户权限和角色权限的冲突情况
- 校区限制: 确保资源共享符合校区管理规则
- 数据一致性: 保证共享记录与实际权限的一致性
- 权限回收: 提供便捷的权限回收和修改机制
- 审计追踪: 详细记录所有共享操作,支持审计
- 性能优化: 大量共享记录时需要优化查询性能
- 安全控制: 防止未授权的资源共享操作
- 批量操作: 支持批量共享和批量回收权限
- 通知机制: 资源共享时及时通知相关用户
- 有效期管理: 考虑实现资源共享的有效期控制
- 继承关系: 处理角色权限的继承和传递
- 监控告警: 监控异常的共享行为和权限变更
- 数据备份: 重要的权限数据需要定期备份