mcpField
D
data-model-creation

data-model-creation

github.com/tencentcloudbase数据与数据库1.2k50 次安装1 天前更新
代码仓库

关于 data-model-creation

面向编码 Agent 的 CloudBase 技能,用于通过图示设计多实体数据模型。它指导 Mermaid classDiagram 建模和模型工具流程,并将简单 SQL 任务引导至其他技能。

主要功能

  1. 01Mermaid classDiagram 建模
  2. 02多实体关系规划
  3. 03检查现有模型
  4. 04生成模型的操作指导

适用场景

  1. 01设计包含多个实体的关系模型
  2. 02创建可视化 ER 风格架构
  3. 03修改前审查已发布模型

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/tencentcloudbase/cloudbase-ai-toolkit --skill data-model-creation

安装后在 Claude Code 中输入/data-model-creation确认已加载。

详细介绍

同级技能(仅本地)

同级 CloudBase 技能与此技能一同提供。请使用 ../auth-tool-cloudbase/SKILL.md 这类本地相对路径。

如果此环境中缺少所引用的同级技能文件,请让用户安装完整的 CloudBase 插件(或缺失的技能)。不要通过 HTTP 将远程技能或协议 Markdown 获取到 Agent 上下文中。

数据模型创建

激活约定

以下情况优先使用此技能
  • 用户明确需要 Mermaid classDiagram 建模。
  • 任务需要复杂的多实体关系设计、可视化 ER 风格输出,或生成数据模型结构,而不是直接编写 SQL。
  • 你需要通过专用建模工具创建 CloudBase 数据模型,或者需要在规划后续更改前检查现有模型。
编写代码前请先阅读
  • 请求提及数据模型、ER 图、Mermaid、关系图或企业级架构设计。
  • 用户希望复用或更新现有的已发布模型。
此外还需阅读
  • 直接使用 MySQL SQL 创建或更改架构 → ../relational-database-mcp-cloudbase/SKILL.md
  • PostgreSQL / CloudBase PG 架构工作 → ../postgresql-development-cloudbase/SKILL.md
  • 架构工作前需要更全面的功能规划 → ../spec-workflow/SKILL.md
请勿用于
  • 简单的 CREATE TABLE、ALTER TABLE 或 CRUD 任务。
  • 文档数据库集合设计。
  • 没有建模需求的纯前端数据结构讨论。
常见错误 / 注意事项
  • 仅需要一两条 SQL 语句的任务,却使用 Mermaid 建模。
  • 在同一模型中混合 SQL 表设计与 NoSQL 集合设计。
  • 未先确定实体边界和所有权关系就生成图表。
  • 未验证生成的字段和关系就发布新模型。
最简检查清单
  • 确认确实需要 Mermaid 建模。
  • 先列出核心实体及关系。
  • 确定这是新模型还是更新现有模型。
  • 除非用户明确需要大型企业级架构,否则应保持初始模型精简。

概述

此技能是高级建模路径,不是数据库工作的默认路径。

  • 对于大多数 MySQL 数据库任务,请使用 relational-database-mcp-cloudbase 并直接编写 SQL。如果任务提到 PostgreSQL、CloudBase PG、PG 模式、app.rdb()、queryPgDatabase、managePgDatabase 或 RLS,则改用 postgresql-development-cloudbase。
  • 仅在图表驱动的建模能带来价值时使用此技能。

快速路由

以下情况请改用 relational-database-mcp-cloudbase
  • 需要 MySQL CREATE TABLE、ALTER TABLE、INSERT、UPDATE、DELETE 或 SELECT
  • 架构规模较小且已明确
  • 用户从未要求可视化模型
  • 任务未提及 PostgreSQL / CloudBase PG / PG 模式 / app.rdb() / queryPgDatabase / managePgDatabase / RLS
以下情况请使用此技能
  • 需要多实体关系建模
  • 需要 Mermaid classDiagram 输出
  • 需要生成模型结构和文档
  • 需要在 SQL 实现前进行清晰的建模

如何使用此技能(适用于编码 Agent)

  1. 明确实体集合

    • 从请求中提取业务实体、所有权和关系基数。
    • 除非用户明确要求更多,否则优先选择 3-5 个核心实体。
  2. 先建模,再生成

    • 起草 Mermaid classDiagram 内容。
    • 调用建模工具前,先验证名称、字段类型和关系。
  3. 使用正确的工具

    • 读取 / 列出现有模型 → manageDataModel(action="list"|"get"|"docs")
    • 创建新模型 → modifyDataModel(兼容名称;仅用于创建)
  4. 谨慎发布

    • 优先先以未发布或草稿形式创建。
    • 发布前检查字段名称、必需约束和关系方向。

Mermaid 生成规则

命名
  • 类名 -> PascalCase
  • 字段名 -> camelCase
  • 将中文业务描述转换为清晰的英文标识符
  • 必要时,让枚举值保持易读
类型映射
业务含义Mermaid 类型
文本string
数字number
布尔值boolean
枚举x-enum
电子邮件email
电话phone
URLurl
图片x-image
文件x-file
富文本x-rtf
日期date
日期时间datetime
地区x-area-code
位置x-location
数组string[] 或其他明确的数组类型
必需的结构约定
  • 仅对用户明确标记为必填的字段使用 required()。
  • 仅在明确需要唯一性时使用 unique()。
  • 使用 display_field() 标记面向用户的标签字段。
  • 为重要字段添加简洁的 <<description>> 说明。
  • 关系标签应对应实际字段名,而不是含糊的业务描述。

最简示例

classDiagram
    class User {
        username: string <<Username>>
        email: email <<Email>>
        display_field() "username"
        required() ["username", "email"]
        unique() ["username", "email"]
    }

    class Order {
        orderNo: string <<Order Number>>
        totalAmount: number <<Total Amount>>
        userId: string <<User ID>>
        display_field() "orderNo"
        unique() ["orderNo"]
    }

    Order "n" --> "1" User : userId

    %% Class naming
    note for User "用户"
    note for Order "订单"

工具使用指南

读取现有模型

在创建相关模型、检查命名一致性或评估现有模型的定义方式之前,先使用以下工具:

  • manageDataModel(action="list")
  • manageDataModel(action="get", name="ModelName")
  • manageDataModel(action="docs", name="ModelName")
创建模型

使用 modifyDataModel,并提供:

  • 完整的 mermaidDiagram
  • 当需要创建新模型时,设置 action="create"
  • 审慎决定是否发布
  • 明确了解此工具目前不支持更新现有模型结构

最佳实践

  1. 除非用户明确能从模型优先设计中受益,否则优先使用直接 SQL。
  2. 首轮模型迭代应保持精简且易于审查。
  3. 将业务实体与仅用于实现的辅助字段分开。
  4. 发布前验证关系方向和所有权。
  5. 完成建模后,如有需要,将实际的 MySQL SQL/表工作交由 relational-database-mcp-cloudbase 处理。对于 PostgreSQL / CloudBase PG 表,则交由 postgresql-development-cloudbase 处理。

评论

支持 Markdown