过去,我们让 AI 帮忙设计数据库,往往会得到一大段 SQL。

它看起来很完整,却很难回答几个关键问题:这些表真的已经进入设计工具了吗?外键是否有效?有没有覆盖已有结构?多人同时修改时会不会冲突?如果结果不满意,能不能安全撤销?

这正是 EZDML MCP 想解决的问题。

在这里插入图片描述

EZDML MCP 将数据库建模能力通过 Model Context Protocol 提供给 AI。AI 不再只是“建议你怎么建表”,而是可以在 EZDML 中读取现有模型、理解对象关系、提出修改方案、展示差异、执行变更、自动布局并完成校验。整个过程保留 revision、preview、checkpoint 和历史记录,让 AI 从聊天窗口里的 SQL 生成器,变成真正参与建模工作的工程助手。

从“生成 SQL”到“完成设计闭环”

传统的 AI 建库流程通常是:描述需求,生成 DDL,人工复制执行。模型与 SQL 很快就会分离,后续修改也难以追踪。

EZDML MCP 提供的是另一条路径:

读取当前模型
  -> 理解表、字段和关系
  -> 生成设计方案
  -> Preview 查看差异与风险
  -> Apply 原子应用
  -> 自动布局与校验
  -> 保存、生成 SQL 或代码

这条链路的重点不只是“自动”,而是“可控”。AI 的每次写入都基于当前 revision;模型发生变化时,旧操作会因冲突而停止。批量变更先在内存副本中执行,只有 preview 通过后才会正式应用。提交前自动生成完整历史 checkpoint,任何一步失败都不会留下半套表结构。

AI 可以通过 EZDML MCP 做什么

1. 读懂现有数据模型

AI 可以读取当前文件、模型图、逻辑表、字段、索引、外键和布局,也可以使用 EZDML 特有的 Describe 描述字快速理解大型模型。

Describe 是一种接近 Markdown 的表结构表达方式。它比数据库方言相关的 DDL 更紧凑,也更适合人与 AI 一起审阅:

mes_work_order(生产工单)
-------------------------------------
work_order_id(工单ID)       PKInteger
product_id(产品ID)          FKInteger  //<<Relation:mes_material.material_id>>
plan_qty(计划数量)          Float(18,6)
status(工单状态)            String(20)

模型不再是一堆难以完整放进上下文的 JSON,而是一份人和机器都容易理解的设计语言。

2. 安全地创建和修改模型

EZDML MCP 支持模型、表、字段和图形实例的完整操作,包括:

  • 创建、修改和删除模型图;
  • 创建逻辑表,或把已有逻辑表 attach 到另一个模型图;
  • 新增、重命名、修改、删除和重排字段;
  • 设置主键、外键、唯一索引、普通索引和复合索引;
  • 批量 changeset preview/apply;
  • Describe 文本 preview/apply。

跨模型出现的同名表仍是同一个逻辑对象。业务字段会保持同步,而每张模型图可以拥有独立布局。这让“基础权限模型”“业务模型”“报表模型”等视图可以共享真实表定义,不必复制出多套逐渐失控的结构。

3. 自动梳理关系和模型图

创建几十张表并不难,难的是让它们最终成为一张可读的关系图。

EZDML MCP 可以查询表的出入关系、多对多关系和弱关联,并调用 EZDML 的网状、流式或网格布局算法。网状布局会根据外键关联权重展开对象并生成连线路由,相关表还可以自动着色。

AI 完成建表后,无需把一堆重叠的方框留给用户收拾。

4. 校验、历史与撤销

模型变更完成后,EZDML MCP 可以检查:

  • 模型、表和字段名称是否重复;
  • 字段类型、长度和精度是否合法;
  • 外键目标表和目标字段是否存在;
  • 复合索引字段是否完整;
  • 删除或重命名是否产生悬空引用。

每次正式写入都会生成历史 checkpoint。用户可以查看历史版本、预览差异、恢复旧版本,也可以撤销最近一次 MCP changeset。AI 做得再快,也不应该拿数据模型去赌运气——能预览、能回滚,才是工程工具与演示脚本的分界线。

5. 连接真实数据库

在建立数据库连接后,EZDML MCP 还可以:

  • 查询数据库、用户或 Schema;
  • 列出并检查数据库对象;
  • 批量逆向工程现有表;
  • 比较模型与数据库,生成增量同步 SQL;
  • 生成单表 DDL、DROP、查询和测试数据 SQL;
  • 执行受确认保护的 SQL;
  • 运行受行数限制的只读查询。

模型设计、数据库现状和升级脚本由此进入同一个工作流。需要特别强调的是:生成 SQL 与执行 SQL 是两件事。EZDML MCP 默认保留这条边界,真正修改外部数据库必须得到明确确认。

6. 从模型继续生成代码

EZDML 原有的 JavaScript、PascalScript 和代码模板能力也可以通过 MCP 使用。AI 能够查询可用模板,选择指定表批量生成代码,并获取生成日志。

这意味着工作并不止于 ER 图:经过校验的数据模型可以继续驱动 Java、C#、Pascal、前端页面、接口模型或企业自定义模板。团队仍然掌握模板和工程规范,AI 负责把重复操作串成流程。

一个真实案例:在若依模型上设计 MES

我们刚刚使用 EZDML MCP / OpenCode / DeepSeek 完成了一次完整操作:

  1. 开启EZDML MCP服务:
    在这里插入图片描述

  2. 创建测试项目ezmcptest,并配置EZDML MCP服务地址;
    在这里插入图片描述

  3. 从 EZDML 官方在线示例中查找并加载若依数据模型进行扩展设计;

    • 一句话需求:请在EZDML中打开在线示例Ruoyi模型文档,以若依的组织用户角色权限为基础,新建MES模型,设计一个生产制造管理的数据表结构
      在这里插入图片描述
  4. 保留若依原有的部门、用户、岗位、角色和菜单权限结构;
    在这里插入图片描述

  5. 新建MES模型,attach 4 张若依基础权限表;
    在这里插入图片描述

  6. 一次性加入 16 张 MES 核心表,覆盖工位、物料、BOM、工艺路线、工序、工单、派工、报工、设备和维护;
    在这里插入图片描述

  7. 建立制造对象与 sys_deptsys_usersys_postsys_role的关系;
    在这里插入图片描述

  8. 自动执行关系权重布局;

  9. 完成全文件校验,结果为 0 错误、0 警告;
    在这里插入图片描述

  10. 保存为新的 EZDML 模型文件,并保留每个阶段的历史 checkpoint。

这项工作不仅生成了表,还落实了生产级设计中经常被忽略的内容:BOM 和工艺版本冻结、工单用料与工序快照、报工幂等,以及功能权限和数据权限的分离。

换句话说,AI 没有停在“给你一个 MES Demo”,而是沿着真实业务约束把设计推进到了可以继续评审和实施的状态。

为什么是本地的 EZDML MCP

数据模型经常包含企业最核心的业务结构。EZDML MCP 默认只接受本机请求,模型写入发生在正在运行的 EZDML 中。文件是否保存、SQL 是否执行、脚本是否运行、代码是否生成,都有清晰的权限边界。

这种本地优先的方式带来几个直接好处:

  • 不需要为了使用 AI 改变原有模型文件格式;
  • AI 与设计人员看到的是同一份模型和同一 revision;
  • 所有修改会立即反映在 EZDML 图形界面中;
  • 可以沿用已有数据库连接、脚本和代码模板;
  • 历史、校验和回滚仍由建模工具负责。

AI 获得了足够的行动能力,却不需要绕开成熟工具重新发明一套建模系统。

哪些团队适合使用

EZDML MCP 特别适合以下场景:

  • 需要快速梳理旧系统数据库的研发团队;
  • 正在建设 ERP、MES、WMS、CRM 等复杂业务系统的架构师;
  • 需要维护多模型图和共享逻辑表的数据设计人员;
  • 希望从数据库模型批量生成项目代码的团队;
  • 需要让 AI 参与设计,同时重视审计、校验和可恢复性的企业用户;
  • 希望用自然语言完成重复建模操作,又不愿放弃专业工具控制力的个人开发者。

让 AI 从回答问题,走进工程现场

AI 的价值不应该止于“写一段看起来正确的 SQL”。真正有用的工程助手,需要理解现状、遵守边界、展示影响、完成操作,并为结果负责。

EZDML MCP 把数据库模型、图形设计、历史版本、数据库工程、脚本模板和代码生成连接到 AI 工作流中。人负责业务判断和最终决策,AI 负责分析、执行和验证,EZDML 则提供可靠的领域模型与安全边界。

当一句“请在若依基础上设计一套生产级 MES 数据结构”,能够变成一份可视、可审、可校验、可撤销的正式模型时,AI 辅助设计才真正从概念走进了工程现场。

如果你已经在使用 EZDML,不妨开启 MCP 服务,让 AI 读一读手头那份模型。也许数据库设计的下一次效率跃迁,就从这次连接开始。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐