8.9 KiB
8.9 KiB
校园思政新闻平台 - ER关系图
核心模块关系图
erDiagram
%% 用户体系
tb_sys_user ||--|| tb_sys_user_info : "1对1"
tb_sys_user ||--o{ tb_sys_login_log : "1对多"
tb_sys_user ||--o{ tb_sys_user_dept_role : "1对多"
%% 权限体系
tb_sys_dept ||--o{ tb_sys_dept : "父子关系"
tb_sys_dept ||--o{ tb_sys_dept_role : "1对多"
tb_sys_role ||--o{ tb_sys_dept_role : "1对多"
tb_sys_role ||--o{ tb_sys_user_dept_role : "1对多"
tb_sys_role ||--o{ tb_sys_role_permission : "1对多"
tb_sys_permission ||--o{ tb_sys_role_permission : "1对多"
tb_sys_permission ||--o{ tb_sys_menu_permission : "1对多"
tb_sys_menu ||--o{ tb_sys_menu : "父子关系"
tb_sys_menu ||--o{ tb_sys_menu_permission : "1对多"
%% 资源体系
tb_resource_category ||--o{ tb_resource_category : "父子关系"
tb_resource_category ||--o{ tb_resource : "1对多"
tb_resource ||--o{ tb_resource_tag : "1对多"
tb_resource ||--o| tb_resource_recommend : "1对1"
tb_resource ||--o| tb_banner : "1对1"
tb_tag ||--o{ tb_resource_tag : "1对多"
%% 课程体系
tb_course ||--o{ tb_course_chapter : "1对多"
tb_course ||--o{ tb_course_tag : "1对多"
tb_course ||--o{ tb_course_dept : "1对多"
tb_tag ||--o{ tb_course_tag : "1对多"
tb_sys_dept ||--o{ tb_course_dept : "1对多"
%% 学习体系
tb_learning_task ||--o{ tb_task_resource : "1对多"
tb_learning_task ||--o{ tb_task_course : "1对多"
tb_learning_task ||--o{ tb_task_user : "1对多"
tb_resource ||--o{ tb_task_resource : "1对多"
tb_course ||--o{ tb_task_course : "1对多"
tb_sys_user ||--o{ tb_task_user : "1对多"
tb_sys_user ||--o{ tb_learning_record : "1对多"
tb_sys_user ||--o{ tb_learning_statistics : "1对多"
%% 个人中心
tb_sys_user ||--o{ tb_user_collection : "1对多"
tb_sys_user ||--|| tb_user_points : "1对1"
tb_sys_user ||--o{ tb_points_record : "1对多"
tb_sys_user ||--o{ tb_user_achievement : "1对多"
tb_sys_user ||--o{ tb_user_browse_record : "1对多"
tb_achievement ||--o{ tb_user_achievement : "1对多"
%% 智能体
tb_sys_user ||--o{ tb_ai_conversation : "1对多"
tb_sys_user ||--o{ tb_ai_upload_file : "1对多"
tb_sys_user ||--o{ tb_ai_usage_statistics : "1对多"
tb_ai_conversation ||--o{ tb_ai_message : "1对多"
%% 系统
tb_sys_user ||--o{ tb_sys_operation_log : "1对多"
tb_sys_user ||--o{ tb_sys_notification : "1对多"
用户权限体系详细关系
graph TB
User[用户 tb_sys_user]
UserInfo[用户信息 tb_sys_user_info]
UDR[用户部门角色 tb_sys_user_dept_role]
Dept[部门 tb_sys_dept]
Role[角色 tb_sys_role]
RolePerm[角色权限 tb_sys_role_permission]
Perm[权限 tb_sys_permission]
MenuPerm[菜单权限 tb_sys_menu_permission]
Menu[菜单 tb_sys_menu]
User -->|1:1| UserInfo
User -->|1:N| UDR
Dept -->|1:N| UDR
Role -->|1:N| UDR
Role -->|1:N| RolePerm
Perm -->|1:N| RolePerm
Perm -->|1:N| MenuPerm
Menu -->|1:N| MenuPerm
style User fill:#e1f5ff
style Role fill:#fff4e1
style Perm fill:#ffe1f5
style Menu fill:#e1ffe1
资源课程学习体系
graph TB
Resource[资源 tb_resource]
Course[课程 tb_course]
Chapter[章节 tb_course_chapter]
Category[分类 tb_resource_category]
Tag[标签 tb_tag]
Task[学习任务 tb_learning_task]
TaskUser[任务用户 tb_task_user]
User[用户 tb_sys_user]
Record[学习记录 tb_learning_record]
Category -->|1:N| Resource
Resource -->|M:N| Tag
Course -->|M:N| Tag
Course -->|1:N| Chapter
Task -->|M:N| Resource
Task -->|M:N| Course
Task -->|M:N| User
Task --> TaskUser
User -->|1:N| Record
Resource -.->|记录| Record
Course -.->|记录| Record
style Resource fill:#e1f5ff
style Course fill:#ffe1f5
style Task fill:#fff4e1
style User fill:#e1ffe1
智能体对话体系
graph TB
User[用户 tb_sys_user]
Config[AI配置 tb_ai_agent_config]
Knowledge[知识库 tb_ai_knowledge]
Conversation[对话会话 tb_ai_conversation]
Message[对话消息 tb_ai_message]
File[上传文件 tb_ai_upload_file]
Stats[使用统计 tb_ai_usage_statistics]
User -->|1:N| Conversation
User -->|1:N| File
User -->|1:N| Stats
Conversation -->|1:N| Message
File -.->|关联| Message
Knowledge -.->|引用| Message
Config -.->|配置| Message
style User fill:#e1f5ff
style Conversation fill:#ffe1f5
style Knowledge fill:#fff4e1
style Config fill:#e1ffe1
个人中心体系
graph TB
User[用户 tb_sys_user]
Collection[收藏 tb_user_collection]
Points[积分 tb_user_points]
PointsRecord[积分记录 tb_points_record]
Achievement[成就 tb_achievement]
UserAchievement[用户成就 tb_user_achievement]
Browse[浏览记录 tb_user_browse_record]
Resource[资源]
Course[课程]
User -->|1:N| Collection
User -->|1:1| Points
User -->|1:N| PointsRecord
User -->|1:N| UserAchievement
User -->|1:N| Browse
Achievement -->|1:N| UserAchievement
Resource -.->|收藏| Collection
Course -.->|收藏| Collection
Resource -.->|浏览| Browse
Course -.->|浏览| Browse
style User fill:#e1f5ff
style Points fill:#ffe1f5
style Achievement fill:#fff4e1
表关系类型说明
1对1关系 (1:1)
tb_sys_user↔tb_sys_user_info: 用户与用户信息tb_sys_user↔tb_user_points: 用户与积分tb_resource↔tb_resource_recommend: 资源与推荐(可选)tb_resource↔tb_banner: 资源与Banner(可选)
1对多关系 (1:N)
tb_sys_user→tb_sys_login_log: 用户的登录记录tb_sys_dept→tb_sys_dept: 部门的子部门tb_resource_category→tb_resource: 分类下的资源tb_course→tb_course_chapter: 课程的章节tb_ai_conversation→tb_ai_message: 会话的消息
多对多关系 (M:N)
tb_sys_user↔tb_sys_role: 通过tb_sys_user_dept_roletb_sys_role↔tb_sys_permission: 通过tb_sys_role_permissiontb_resource↔tb_tag: 通过tb_resource_tagtb_course↔tb_tag: 通过tb_course_tagtb_learning_task↔tb_resource: 通过tb_task_resourcetb_learning_task↔tb_course: 通过tb_task_coursetb_learning_task↔tb_sys_user: 通过tb_task_usertb_sys_user↔tb_achievement: 通过tb_user_achievement
核心业务流程关系
用户学习流程
- 用户登录 →
tb_sys_user+tb_sys_login_log - 查看任务 →
tb_learning_task+tb_task_user - 学习资源 →
tb_resource/tb_course - 记录学习 →
tb_learning_record - 更新进度 →
tb_task_user+tb_learning_statistics - 获得积分 →
tb_user_points+tb_points_record - 解锁成就 →
tb_user_achievement
资源管理流程
- 数据采集 →
tb_data_collection_config+tb_data_collection_log - 创建资源 →
tb_resource - 设置分类 →
tb_resource_category - 添加标签 →
tb_tag+tb_resource_tag - 推荐资源 →
tb_resource_recommend - 设置Banner →
tb_banner - 记录操作 →
tb_sys_operation_log
智能体交互流程
- 创建会话 →
tb_ai_conversation - 发送消息 →
tb_ai_message - 上传文件 →
tb_ai_upload_file - 检索知识库 →
tb_ai_knowledge - 生成回复 →
tb_ai_message - 记录统计 →
tb_ai_usage_statistics
数据流向图
flowchart LR
A[用户操作] --> B{操作类型}
B -->|学习| C[学习记录]
B -->|浏览| D[浏览记录]
B -->|收藏| E[收藏记录]
B -->|对话| F[对话记录]
C --> G[学习统计]
D --> H[访问统计]
C --> I[积分系统]
I --> J[成就系统]
F --> K[AI统计]
G --> L[数据大屏]
H --> L
K --> L
style A fill:#e1f5ff
style L fill:#ffe1e1
性能优化关键点
-
高频查询表
tb_sys_user: 用户信息(添加缓存)tb_resource: 资源列表(分页+缓存)tb_course: 课程列表(分页+缓存)
-
大数据量表
tb_learning_record: 学习记录(分表+归档)tb_sys_operation_log: 操作日志(分表+归档)tb_user_browse_record: 浏览记录(分表+归档)tb_ai_message: 对话消息(分表+归档)
-
实时统计表
tb_learning_statistics: 预聚合统计tb_sys_visit_statistics: 预聚合统计tb_ai_usage_statistics: 预聚合统计
-
关联查询优化
- 用户权限查询:缓存权限信息
- 任务详情查询:适当冗余字段
- 资源推荐查询:使用物化视图