DiagramPreview
稳定渲染器No AILocal previewExportSEO tool

SQL 转 ER 图

把 CREATE TABLE 和外键定义变成 ER 图,适合数据库设计 review、文档生成、迁移前检查和 AI 生成 SQL 校验。

示例
ER 图就绪
你的 ER 图会显示在这里。

下一步可以继续

把当前预览结果带到相关工具里继续转换、排查或导出。

使用方法

  1. 1粘贴包含 CREATE TABLE、PRIMARY KEY 和 FOREIGN KEY 的 SQL。
  2. 2检查表名、字段、主键、外键、nullable 字段和关系方向。
  3. 3为大型 schema 选择一个业务域,避免一次性生成过大的 ER 图。
  4. 4将图和原始 DDL 一起保存,方便后续迁移和 review。

常见场景

数据库设计 reviewSQL DDL 文档化外键关系检查AI 生成 SQL 校验数据模型 onboarding

常见问题

没有外键还能生成关系吗?

可以显示表和字段,但关系推断会有限。明确 FOREIGN KEY 通常能得到更可靠的 ER 图。

适合粘贴完整生产 schema 吗?

不建议。生产 schema 可能很大且包含敏感命名,最好按业务域拆分并脱敏。

ER 图能证明数据库约束正确吗?

不能。它帮助 review 结构,最终仍要依赖数据库实际约束、迁移脚本和测试。

AI 生成的 SQL 需要可视化吗?

建议需要。可视化能更快发现缺失主键、错误外键、重复字段和不合理 nullable 设计。

把 CREATE TABLE SQL 转成 Mermaid ER 图。

粘贴 SQL DDL,可视化表、字段、主键和外键关系。

DiagramPreview keeps the workflow editable so you can revise the source and regenerate the visualization quickly.

Demo:从订单 SQL 生成 ER 图

订单、用户和订单项是最常见的数据建模示例。ER 图能快速暴露一对多、多对多和缺失约束。

  • 确认每个表都有主键。
  • 订单项应通过外键连接订单和商品。
  • nullable 字段应符合真实业务含义。
CREATE TABLE users (id INT PRIMARY KEY, email TEXT);
CREATE TABLE orders (id INT PRIMARY KEY, user_id INT REFERENCES users(id));
CREATE TABLE order_items (id INT PRIMARY KEY, order_id INT REFERENCES orders(id));

Review 清单:不要只看字段名

数据模型 review 应同时看关系、约束和业务规则。字段名正确但外键缺失,后续仍会带来数据一致性问题。

  • 检查主键和唯一约束。
  • 检查外键方向是否符合 ownership。
  • 检查软删除、租户边界和审计字段。
tenant_id should appear on tenant-scoped tables
unique(user_id, organization_id) prevents duplicate membership

迁移模式:先画局部模型

大型数据库不适合一次生成完整 ER 图。按业务域或迁移范围生成局部图更适合 review。

  • 一次只画 checkout、billing 或 identity 等子域。
  • 把跨域表作为外部依赖标注。
  • PR 中附上 DDL diff 和 ER 图截图。
Scope: checkout only
Tables: carts, cart_items, orders, payments
External: users

SQL 转 ER 图 检查清单

当你需要在文档、PR、故障复盘或交接材料发布前检查源码内容时,可以使用 SQL 转 ER 图。从 CREATE TABLE SQL 生成 ER 图,检查表、主键、外键和关系。

导出前建议检查标签是否可读、关系是否和源码一致、示例是否包含敏感信息,以及修改输入后预览是否仍然成立。

限制与排查

如果预览失败,先把输入缩小到最小完整示例,确认格式语法,再逐段加回内容。很多失败来自不完整文件、缩进错误、缺少图表头,或复制了依赖隐藏上下文的片段。

请把预览结果当作 review 界面,而不是生产事实来源。生成的图表、转换文件、看板和规则示例在进入正式文档或运维流程前仍需要人工确认。

可测试的示例输入

  • 电商: CREATE TABLE customers ( id INT PRIMARY KEY, email VARCHAR(255) NOT NULL UNIQUE, name VARCHAR(120) ); CREATE TABLE orders ( id INT PRIMARY KEY, customer_id INT NOT NULL REFERENCES ...
  • 博客: CREATE TABLE authors ( id INTEGER PRIMARY KEY, display_name TEXT NOT NULL ); CREATE TABLE posts ( id INTEGER PRIMARY KEY, author_id INTEGER REFERENCES authors(id), slug TEXT NOT NU...
  • 计费: CREATE TABLE accounts ( id BIGINT PRIMARY KEY, plan VARCHAR(40) NOT NULL ); CREATE TABLE invoices ( id BIGINT PRIMARY KEY, account_id BIGINT NOT NULL, amount_cents INT NOT NULL, FO...

工具完成度

稳定渲染器

稳定工具

这个工具已有专用渲染或预览界面,支持常用导出,适合浏览器内反复预览、修改和发布前检查。

分级不是质量打分,而是告诉用户当前工具更适合稳定导出、深度调试、快速解析,还是 AI 辅助生成。