必须先启用draw.io的“实体关系”形状库,再创建标准实体表、用专用连接线建立1:1/1:n/m:n关系,支持mermaid语法生成和sql ddl自动导入。

一、启用实体关系图形库
draw.io默认未加载数据库专用图形元素,必须手动激活“实体关系”形状库,否则无法使用标准ER符号(如主键钥匙图标、外键标识行、关系连接线等)。该步骤是绘制合规ER图的前提条件。
1、在draw.io界面左侧形状面板底部,点击“更多形状…”。
2、在弹出窗口中,展开“软件”分类,勾选“实体关系”选项。
3、点击“应用”,左侧面板将新增“实体关系”标签页,其中包含“表”“主键行”“外键行”“一对一连接线”等专用图形。
二、创建标准实体表结构
实体表需符合数据库建模规范:表名居顶、字段分行列出、主键明确标识、字段类型可标注。draw.io的“表”形状支持双击编辑与右键属性设置,确保语义准确且视觉专业。
1、从左侧“实体关系”图形库中拖拽“表”形状至画布。
2、双击表头修改为实体名称,例如“orders”或“products”。
3、在表内逐行添加字段:选中表格后按Tab键新增字段行,输入字段名及可选类型,如“order_id:INT”“created_at:DATETIME”。
4、将主键字段设为PK:右键对应字段行,选择“设置为主键”,或直接拖入“主键行”图形替换该行。
三、建立表间关系的三种连接方式
ER图的核心在于准确表达实体间的基数约束(1:1、1:n、m:n)。draw.io提供三类专用连接线,每种对应不同业务语义,不可混用。
1、绘制一对多关系(1:n):从主表的主键字段(如users.id)拖拽“一对多连接线”至从表的外键字段(如orders.user_id)。
2、绘制一对一关系(1:1):使用“一对一连接线”连接两个实体的主键字段,适用于强依赖场景(如user与user_profile)。
3、处理多对多关系(m:n):不直接连线,而是创建中间关联实体(如order_items),分别用两条一对多线连接三方,确保第三范式合规。
四、使用Mermaid语法快速生成ER图
对于已有结构定义的项目,可通过Mermaid文本语法批量生成基础ER图框架,避免手工拖拽耗时。此方法特别适合从需求文档或SQL DDL逆向建模。
1、点击draw.io顶部菜单栏的“+” → “Mermaid”,打开Mermaid代码输入窗口。
2、粘贴标准ER语法,例如:
erDiagram\n CUSTOMER ||--o{ ORDER : places\n ORDER ||--|{ ITEM : contains\n CUSTOMER { string name }\n ORDER { date order_date }
3、点击“Insert”,系统自动渲染为带连接线与标注的ER图,后续可在图形界面上精细调整布局。
五、导入SQL DDL自动生成实体结构
当已有建表语句(CREATE TABLE)时,可跳过手动建表步骤,直接将SQL文本解析为draw.io可识别的实体框架,大幅提升存量数据库可视化效率。
1、在draw.io中点击“排列” → “插入” → “高级” → “SQL”。
2、在弹出窗口中粘贴完整SQL DDL片段,确保包含CREATE TABLE、PRIMARY KEY、FOREIGN KEY等关键子句。
3、勾选“生成实体关系图”选项,点击“确定”,所有表、字段、主外键关系将自动构建并排版。











