File contents 数据库设计
根据需求和 API 设计文档,创建数据库设计方案。
PDLC 前置检查(必须执行,不可跳过)
从用户输入中提取功能名称关键词
在 docs/01_requirements/prd/ 目录下搜索包含该关键词的 PRD 文档
匹配新格式:F<日期>-<编号>-*<关键词>*-prd.md
匹配旧格式:YYYYMMDD-*<关键词>*-prd.md
同时检查文件内容中是否包含该关键词
未找到 → 输出以下信息后立即停止,不继续执行 :⛔ PDLC 守卫:未找到与「<功能名>」相关的 PRD 文档。
数据库设计必须基于已有的 PRD。请先运行:
👉 /pdlc-prd <需求描述>
找到 → 提取功能ID(如 F20260326-090000),读取该 PRD 内容,继续执行
工作流程
阅读需求 : 阅读找到的 PRD 文档
阅读 API 设计 : 阅读 docs/02_design/api/ 下同功能ID的 API 设计文档(如有)
梳理数据模型 : 识别实体、属性、关系
ER 图 : 用文本方式描绘实体关系图
表结构定义 : 逐表定义字段、类型、约束
索引设计 : 根据查询场景设计索引
输出设计文档 : 在 docs/02_design/database/ 下创建数据库设计文档
文档内容
ER 图格式
[用户] 1──N [订单] N──N [商品]
│ │
└───N [地址] [库存] 1─┘
表结构格式
必须包含
公共字段约定(id、created_at、updated_at、deleted_at 等)
主键策略(自增/UUID/雪花ID)
软删除策略
分表分库策略(如数据量大)
数据迁移方案(DDL 变更脚本)
要求
字段命名使用 snake_case
枚举值必须有中文说明
考虑数据量增长后的性能影响
设计目标: $ARGUMENTS
本命令的 handoff 输出:
✅ 数据库设计文档 完成
📦 产出:docs/02_design/database/<功能ID>-<功能名>-db.md
👉 下一步:(本次流程结束,无后续)
1 --- 2 name: pdlc-db-design 3 description: 数据库设计 4 --- 5 6 # 数据库设计 7 8 <!-- @include templates/prompts/iron-law.md --> 9 10 根据需求和 API 设计文档,创建数据库设计方案。 11 12 ## PDLC 前置检查(必须执行,不可跳过) 13 14 1. 从用户输入中提取功能名称关键词 15 2. 在 `docs/01_requirements/prd/` 目录下搜索包含该关键词的 PRD 文档 16 - 匹配新格式:`F<日期>-<编号>-*<关键词>*-prd.md` 17 - 匹配旧格式:`YYYYMMDD-*<关键词>*-prd.md` 18 - 同时检查文件内容中是否包含该关键词 19 3. **未找到** → 输出以下信息后**立即停止,不继续执行**: 20 ``` 21 ⛔ PDLC 守卫:未找到与「<功能名>」相关的 PRD 文档。 22 数据库设计必须基于已有的 PRD。请先运行: 23 👉 /pdlc-prd <需求描述> 24 ``` 25 4. **找到** → 提取功能ID(如 `F20260326-090000`),读取该 PRD 内容,继续执行 26 27 ## 工作流程 28 29 1. **阅读需求**: 阅读找到的 PRD 文档 30 2. **阅读 API 设计**: 阅读 `docs/02_design/api/` 下同功能ID的 API 设计文档(如有) 31 3. **梳理数据模型**: 识别实体、属性、关系 32 4. **ER 图**: 用文本方式描绘实体关系图 33 5. **表结构定义**: 逐表定义字段、类型、约束 34 6. **索引设计**: 根据查询场景设计索引 35 7. **输出设计文档**: 在 `docs/02_design/database/` 下创建数据库设计文档 36 37 ## 文档内容 38 39 - **文件名格式**: `<功能ID>-<功能名>-db.md`(如 `F20260326-090000-user-auth-db.md`) 40 - 若 PRD 为旧格式无功能ID,则使用旧格式 `YYYYMMDD-<模块名>-db.md` 41 - **文档顶部必须包含 PDLC 追溯头**: 42 ``` 43 <!-- PDLC-TRACE --> 44 <!-- 功能ID: F20260326-090000 --> 45 <!-- 功能名称: user-auth --> 46 <!-- 阶段: 设计 --> 47 <!-- 前置文档: docs/01_requirements/prd/F20260326-090000-user-auth-prd.md --> 48 ``` 49 50 ### ER 图格式 51 ``` 52 [用户] 1──N [订单] N──N [商品] 53 │ │ 54 └───N [地址] [库存] 1─┘ 55 ``` 56 57 ### 表结构格式 58 | 字段 | 类型 | 可空 | 默认值 | 索引 | 描述 | 59 |------|------|------|--------|------|------| 60 61 ### 必须包含 62 - 公共字段约定(id、created_at、updated_at、deleted_at 等) 63 - 主键策略(自增/UUID/雪花ID) 64 - 软删除策略 65 - 分表分库策略(如数据量大) 66 - 数据迁移方案(DDL 变更脚本) 67 68 ## 要求 69 70 <!-- @include templates/prompts/output-language.md --> 71 - 字段命名使用 snake_case 72 - 枚举值必须有中文说明 73 - 考虑数据量增长后的性能影响 74 75 设计目标: $ARGUMENTS 76 77 <!-- @include templates/prompts/handoff.md --> 78 79 **本命令的 handoff 输出:** 80 81 ``` 82 ✅ 数据库设计文档 完成 83 📦 产出:docs/02_design/database/<功能ID>-<功能名>-db.md 84 👉 下一步:(本次流程结束,无后续) 85 ```
kanfu-panda/pdlc-skills/tree/main/skills/pdlc-db-design commit 19aa93a96f
Frequently asked questions How do I install the Pdlc DB Design skill? Run npx skillmds@latest add kanfu-panda/pdlc-db-design in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
What does the Pdlc DB Design skill do? 数据库设计 It is listed under Coding & Dev Tools on SkillMD.
Is Pdlc DB Design safe to use? This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
Which AI agents work with Pdlc DB Design? This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Is Pdlc DB Design free to use? Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
Who published Pdlc DB Design? kanfu-panda (@kanfu-panda) published this skill. Their other Agent Skills are listed on their SkillMD profile.