Files
pj0235-eai_agentplatform/docs/02_Architecture/AR03_数据库架构.md
T
eaiadmin 90031b75f3 docs: 重构仓库文档目录并迁移训练素材
按当前架构重组 docs 目录,统一中文命名与目录分层,并将训练原材料迁移到独立目录以保持架构文档边界清晰。
2026-09-22 23:23:16 +08:00

201 lines
4.6 KiB
Markdown

# AR03 — 数据库架构
> 状态:当前有效
> 最后更新:2026-09-21
>
> 说明:
> 本文档描述当前数据库的真实分层与主对象。
> 历史培训系统版本已归档至 `Historical_Records/AR03_数据库架构-培训系统旧稿.md`。
---
## 1. 当前数据库定位
当前数据库承载的是一套**对象定义 + 任务运行 + 知识底座 + 兼容业务域**并存的单库模型。
数据库当前仍使用:
- SQLite 单文件
- GORM AutoMigrate
- 单体部署
这套数据库一方面支撑当前平台的新主轴,另一方面也兼容尚未完全迁出的历史业务域。
## 2. 当前数据库结构总览
当前数据库可以按五个域来理解:
1. 对象定义域
2. 任务运行域
3. 知识与素材域
4. 组织治理域
5. 兼容业务域
## 3. 对象定义域
当前数据库已经形成一批稳定对象定义表。
### 3.1 专家对象
当前实现表:
- `specialist`
说明:
- 代码仍使用 `specialist`
- 文档统一口径应理解为专家对象
### 3.2 技能对象
当前实现表:
- `skill_definition`
这张表承载:
- 技能元数据
- 输入输出 schema
- starter prompts
- action refs
- policy refs
- object entry route
### 3.3 App 对象
当前实现表:
- `xapp_definition`
- `user_xapp_center`
说明:
- 文档统一口径为 `App`
- 当前落库命名仍是 `xapp`
- `xapp_definition` 当前定义的是成品入口壳对象,不等于任务运行主记录
### 3.4 Action 对象
当前实现表:
- `action_definition`
这张表承接原子执行动作,是技能编排与任务执行的底层动作定义。
## 4. 任务运行域
当前数据库的运行主轴已经切到任务。
核心表包括:
- `task_record`
- `task_run`
- `task_artifact`
- `project`
这组表的职责分别是:
- `task_record`:任务实例
- `task_run`:执行过程记录
- `task_artifact`:任务产物
- `project`:任务容器
这说明当前平台的运行中心是任务实例及其产物。
这里需要明确补上一条:
- `task_record` 当前以 `specialist_key` 为主要执行挂载点
- 当前数据库层的运行主语仍然是 specialist-driven task
- `xapp_definition` 与 `user_xapp_center` 承接的是对象目录和入口壳,而不是运行主键
## 5. 知识与素材域
当前知识底座相关核心表包括:
- `knowledge_space`
- `knowledge_source`
- `knowledge_chunk`
- `knowledge_faq`
- `media_file`
- `study_note`
这一域负责:
- 组织知识空间
- 素材来源管理
- 文本切片
- FAQ 组织
- 文件审批与导入
- 用户知识笔记
知识库是当前数据库中的平台基础域之一。
## 6. 组织治理域
当前组织治理相关表包括:
- `user`
- `department`
- `position`
- `position_knowledge`
- `position_exam_blueprint`
- `system_config`
- `ai_call_log`
这一层负责:
- 用户与组织
- 岗位应学和蓝图
- 系统配置
- AI 调用留痕
这说明当前系统已不只是“员工读资料”,而是有完整组织治理与审计需求。
## 7. 兼容业务域
当前数据库中仍保留一批培训系统时期延续下来的业务表:
- `product`
- `course`
- `question`
- `exam_paper`
- `exam_record`
- `certificate`
- `mistake_record`
- `learning_progress`
- `point_event`
这些表当前承接平台内仍在运行的业务域,其中相当一部分会继续向 App、任务和知识底座收敛。
## 8. 当前数据库的真实形态
当前数据库是**以任务与对象为中心、同时承接历史培训/考试业务域的混合态单库。**
这是当前最准确、也最适合指导后续整理的描述。
## 9. 当前命名映射
当前数据库存在少量术语过渡:
- `specialist` 对应文档中的 `专家`
- `xapp_definition` 对应文档中的 `App`
- `task_record.specialist_key` 对应当前运行主语
后续文档应统一按业务口径解释,但在涉及真实表结构时必须保留当前落库名。
## 10. 当前数据库设计原则
后续数据库演进应继续遵守:
1. 对象定义表与运行记录表分离
2. 任务和项目继续作为运行中心
3. 知识域继续作为基础域保留
4. 培训/考试类业务表可以继续存在,但不再主导总架构描述
5. 新增对象优先进入对象定义域,而不是继续堆入旧业务表
## 11. 与其他文档的关系
- 详细表结构以 `docs/04_Backend/01_平台治理底座/BG04_数据库总览.md` 为准
- 当前对象与任务口径以 `docs/01_System_Overall/SY21_统一角色技能动作架构.md`、`docs/01_System_Overall/SY22_角色技能应用统一任务架构.md` 为准
- 当前后端代码分域,以 `docs/02_Architecture/AR01_后端架构.md` 为准