Navicat 16 不支持真正“一键转化”,需右键数据库→“逆向数据库到模型”,并预判权限、字符集、驱动兼容性等断点;导出前须自动布局、切换ER视图、勾选显示字段注释,优先选SVG导出以避免PDF模糊。
navicat 16 不支持“一键转化”——所谓“一键”,实际是右键触发 + 手动确认两步,中间还可能卡在权限、外键识别或字符集兼容性上。真正能跑通的路径,是明确操作顺序 + 预判常见断点。
逆向数据库到模型:触发入口和前置条件
必须先确保数据库连接已建立且测试成功;目标数据库需有 SELECT 权限访问 INFORMATION_SCHEMA(MySQL)或对应系统视图(如 PostgreSQL 的 pg_class)。若使用达梦、TiDB 等国产库,需确认 Navicat 版本 ≥ 16.0.18 且驱动匹配(达梦需 DM8+,TiDB 需 7.0+)。
操作路径固定为:在左侧导航窗格中,右键点击数据库名 → 选择“逆向数据库到模型”。不是右键表、不是右键模式、也不是在“模型”标签页里点新建。
常见失败现象:
- 菜单项灰色不可用 → 数据库连接未激活,或当前用户无查询系统元数据权限
- 弹出空白模型窗口 → 实际已生成但默认不自动打开图表视图,需手动双击模型文件或点击顶部“图表”选项卡
- 只导出部分表 → 外键缺失或引用了不存在的表,Navicat 默认跳过无法解析关系的表(可在逆向设置中勾选“包含无关联表”)
逆向过程中的关键参数控制
点击“逆向数据库到模型”后会弹出对话框,这里几个选项直接影响结果质量:
-
包含视图和包含存储过程:默认不勾选,若需 ER 图体现视图依赖关系,必须手动开启 -
使用表注释作为表名:勾选后,若表COMMENT非空(如COMMENT='用户主表'),模型中显示的将是注释而非物理名t_user,容易导致后续同步失败 -
加载字段注释:影响字段旁是否显示COMMENT,但不会改变字段名本身;若字段注释含中文乱码,需提前确认数据库连接字符集设为utf8mb4或对应编码 -
忽略大小写:对 PostgreSQL/Oracle 等大小写敏感库慎用,可能合并本应区分的user_id和USER_ID
导出 PNG/PDF 前必须处理的视觉陷阱
刚生成的模型图默认紧凑堆叠,直接导出会丢失字段、遮盖连线、外键箭头被截断。这不是导出功能问题,而是画布未适配:
- 先点击顶部菜单“图表” → “自动布局”,让 Navicat 重排元素(但通常仍需人工微调)
- 拖动单个表时按住
Ctrl可多选,再拖动可整体平移;双击表标题可编辑显示名(建议补上前缀如sales_order→sales.order) - 右键表 → “样式” → 勾选“显示字段注释”,否则导出图里看不到
status TINYINT COMMENT '0-待支付,1-已发货'这类关键说明 - 导出前务必切换到“ER 视图”(底部状态栏按钮),而非“表视图”——后者只显示字段列表,不渲染关系线
为什么导出 PDF 后文字模糊或错位
Navicat 16 的 PDF 导出基于本地打印机驱动,非矢量直出。实际生成的是高 DPI 位图嵌入 PDF,所以缩放时失真。更可靠的方式是:
- 优先导出
SVG:支持无损缩放,可直接插入 Confluence 或 Markdown 文档(需用<img src="xxx.svg" alt="Navicat 16 怎么将现有数据库导出为模型图_利用逆向数据库工具一键转化" >) - 若必须 PDF:在导出对话框中将“分辨率”从默认 96 调至 192,同时取消勾选“压缩图像”
- Windows 用户遇到中文字体缺失:需在系统中安装等宽中文字体(如
Microsoft YaHei Mono),Navicat 不自带中文字体渲染引擎
最易被忽略的一点:逆向生成的模型文件(.ndm)不保存外键的 ON DELETE/ON UPDATE 行为,导出图里只显示连线,不标注级联逻辑——如果业务强依赖这个,得手动双击关系线,在弹窗里补全。


















