SQL to ER Diagram:把 CREATE TABLE 语句秒变交互式 ER 图,全程本地不联网
📅 2026年06月20日 · 技术
接手一个有上百张表的数据库时,最让人头疼的不是写 SQL,而是搞清楚表与表之间的关系。ER 图(实体关系图)本来是干这事的利器,但现实里大多数 SQL 转 ER 图的工具要么收费、要么界面难看、要么拖到卡顿。SQL to ER Diagram 这个开源项目想把这些毛病一次解决。
一个静态页解决战斗
它的定位很直接:你把 CREATE TABLE 语句粘进去,立刻得到一张干净、可交互的 ER 图。整个工具就是一个静态网页,没有注册、没有账号、不上传任何东西——你的 schema 从头到尾都待在浏览器里,不经过任何服务器。
这对很多公司来说其实是个刚需:生产库的表结构往往属于敏感信息,能用一个纯前端的工具来可视化,省去了合规审查的麻烦。
多方言解析与高性能渲染
解析层面,它支持标准 CREATE TABLE / ALTER TABLE DDL,覆盖五大主流数据库方言:
- PostgreSQL
- MySQL
- SQLite
- SQL Server
- Snowflake
渲染层面,它没有用常见的 SVG 方案,而是自研了Canvas 渲染器,配合位图缓存和视口裁剪。官方给的基准是:在缩放查看 300 张表、593 条外键时仍能保持约 120fps。对于动辄几百张表的企业级 schema,这种性能意味着不会一打开就卡成幻灯片。
看图体验的细节
大库的 ER 图通常是"一团乱麻"。这个工具的处理方式是:外键连线默认压暗,鼠标悬停某张表时高亮它相关的关系,点击则锁定焦点、淡化和它无关的所有表和连线。这种"按需聚焦"的交互,比把所有线都铺开来要好读得多。
此外它还支持双向编辑——既能在图上拖拽、缩放、平移,也能直接改 SQL,两边实时同步;支持把整张图浓缩进一个链接里分享,无需对方注册账号。自动排版采用"中心表感知的分层布局",把连接数最多的核心表放在一侧,相关表围绕它展开,布局更符合直觉。
工程上的克制
值得一提的是它的依赖控制:仅依赖 2 个库,打包后只有 32KB(gzip)。在动辄引入一堆前端框架的今天,这种克制本身就是一个亮点——更小的体积意味着更快的加载和更少的维护负担。
项目用 HTML/JS 编写,已上线 sqltoerdiagram.com 可直接使用,同时也开源了源码供本地部署或二次开发。