Navicat 15 中必须通过“逆向数据库到模型”生成可导出的 ER 图,右下角 ER 图标仅支持临时预览;导入时需勾选“导入到图表”,外键关系依赖数据库真实约束或手动添加,导出前应调整布局、精简字段并同步模型与数据库。
navicat 15 能直接从现有表生成 er 图,但关键在于:**必须走“模型”路径,不能只靠右下角的 er 图标切换视图**。那个图标只是临时预览,不支持导出、编辑或保存布局,真正可用的 er 图只能在模型(model)里生成和导出。
Navicat 15 里怎么把已有表导入模型
你得先让 Navicat 把表结构“搬进模型”,而不是在数据库连接界面点几下就完事。这一步漏掉,后面所有连线、导出都无从谈起。
- 在左侧连接树中,右键目标数据库(比如
my_app_db),选择逆向数据库到模型 - 弹窗里选好连接、数据库名,勾选要导入的表(建议全选,避免漏关键外键表)
- 务必勾选
导入到图表(Import To Diagram),否则模型建好了,画布上还是空的 - 点击
开始,等进度条结束——这时会自动打开一个新模型窗口,表已出现在画布上
为什么关系线没出来?外键才是关键
ER 图里的连线不是靠“画”出来的,而是靠数据库里真实存在的 FOREIGN KEY 约束。Navicat 只是把它可视化,不是凭空推断。
- 如果源库表之间本就有外键,反向建模后关系线会自动出现,不用额外操作
- 如果表之间没定义外键(比如用应用层逻辑维护关联),那画布上就是一堆孤立的表,拖拽字段也连不上线
- 此时必须先在模型里补外键:点工具栏
Add Foreign Keys按钮,再把子表字段拖到父表对应字段上,弹窗里确认参照动作 - 补完外键后,关系线才会实时显示;删掉外键,线也立刻消失
导出前必须检查的三件事
很多人导出后发现图太小、字看不清、连线堆在一起,其实问题都在导出前没调好。
-
手动拖动表位置:别依赖自动布局,尤其字段多的表容易重叠,先拉开间距再调整层级 -
右键表 → Edit Table → Columns里关掉不需要显示的字段(比如created_at、updated_at),减少视觉干扰 - 导出前切到
ER 图视图(顶部菜单View → ER Diagram),确保当前看到的就是你要导出的样子 - 导出格式优先选
PDF或SVG,PNG在缩放时容易模糊
最常被忽略的是:模型里的外键定义和数据库实际 DDL 必须一致。改了模型没同步到库,或者库改了没刷新模型,都会导致关系线错位或消失。导出前最好右键模型 → Sync to Database 核对一次。


















