# 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` 为准