Navicat ER图的关键在于外键建模而非手动绘图:有外键则反向工程自动生成关系线,无外键需用Add Foreign Keys工具真实创建约束;导出前须确认视图、范围及格式,且模型修改后必须保存.nm文件。
navicat 画 er 图的关键不在“画”,而在“建模”——关系线不会凭空出现,它依赖外键定义是否真实存在。有外键,反向工程就能带出关系;没外键,就得手动补,否则连线只是视觉装饰,不反映真实约束。
用 Reverse Engineering 反向生成模型(推荐起点)
这是最稳的入口,尤其当你已有数据库结构时。不要先新建空白图再拖表,容易漏对象、缺关系。
- 右键已连接的数据库 →
Reverse Database to Model,或主菜单Tools→Reverse Engineering→Reverse Database to Model - 向导里务必勾选
Import To Diagram,否则模型建好了,画布还是空的 - 选表时可全选,但注意:如果表间无外键,生成后仍看不到连线——这不是 Bug,是事实
关系线为什么没出来?检查外键是否存在
Navicat 的关系线本质是 foreign key 的可视化映射。它不靠“拖拽字段连虚线”来定义逻辑关系,而是读取数据库元数据或模型中显式声明的外键。
- 若源库已有外键,反向后自动带出连线,且线上会标注
1:N或N:1 - 若源库没外键,画布上所有表都是孤立矩形,此时点击工具栏
Add Foreign Keys按钮,再从子表字段拖到父表主键字段,才真正建立约束 - 仅用鼠标在图上“画线”(比如用
Relationship工具连两个字段)不会生成外键语句,导出 SQL 时也不会包含FOREIGN KEY
导出前必须确认的三件事
导出图片或 PDF 看似简单,但常因视图状态或范围设置导致内容缺失。
- 确保当前激活的是
ER Diagram视图(不是列表视图),可通过菜单View→ER Chart切换,或点击右下角ER图标 - 导出范围默认是“整个模型”,但如果只选了部分表做布局,记得在导出对话框里勾选
Selected Objects Only,否则可能导出一堆没显示的表 - 导出格式优先选
PNG(兼容性好)或PDF(矢量清晰),避免用JPEG——中文字段易糊,且不支持透明背景
真正容易被忽略的点是:Navicat 的 ER 图不是“所见即所得”的绘图工具,而是一个建模界面。你拖动表位置、调整大小、隐藏字段,这些只影响展示;但关系是否成立,只取决于外键有没有在模型里被正确定义。改完外键后,记得保存模型(.nm 文件),否则下次打开又得重配。


















