用途:在实现或迁移前明确持久化数据结构,产出数据库设计文档、实体模型、数据字典与迁移计划,供后端、数据、测试、安全与运维团队使用。
主要能力:从 SRS 3.2 与 2.0 提取实体候选,结合 business_rules.md 补充实体;用 Mermaid erDiagram 生成 ERD(含类型化属性与基数、多对多中间表);逐表校验 1NF/2NF/3NF 并记录有意反范式的性能理由;定义列类型、可空、默认值与 PK/FK/UNIQUE/CHECK/NOT NULL 约束;定义外键的 ON DELETE/ON UPDATE 规则并索引外键列;给出索引策略(主键、唯一、外键、复合、全文);生成覆盖全部字段的数据字典;定义版本化迁移(up/down)、种子数据与回滚;检测多租户时定义 tenant_id 隔离与复合索引。
使用方式:输入为 projects/<ProjectName>/<phase>/<document>/SRS_Draft.md、HLD.md,以及 projects/<ProjectName>/_context/business_rules.md、tech_stack.md,均必需,缺失即停止。按十一步执行:读上下文、确定数据库平台、提取实体、生成 ERD、校验规范化、生成表定义、定义关系与外键、定义索引、生成数据字典、定义迁移策略、处理多租户并输出。输出 Database_Design.md 与 erd.mmd 至 projects/<ProjectName>/<phase>/<document>/。目标平台为 MySQL 或 MariaDB 时,强制应用 skills/mysql-best-practices/ 规则。
适用场景:HLD 完成后、需在开发与测试前固化 schema 时;可与 API Specification(03-api-specification)并行。
限制:不用于设计 API 载荷、绕过领域归属或凭猜测查询做优化;缺少所有权、生命周期或标识符未决时停止;无容量证据时须限定假设,避免投机索引;默认只读,编辑仅限明确请求的交付物;不得将未评估检查记为通过;不发布、不花费、不改生产、不批准策略或声称认证。货币列用 DECIMAL(19,4),每表含 id、created_at、updated_at,需保留数据的表含 deleted_at。遵循 IEEE 1016-2009 Sec 6.7 与 ISO/IEC 25010。