Navicat 16 不支持在已有模型中切换 Crow’s Foot 与 IE 符号风格,仅能在新建模型时指定;需通过 Navicat Data Modeler 的“工具→转换模型”功能,选择 Crow's Foot 类型生成新 .nm 文件方可启用乌鸦脚表示法。
Navicat 16 不支持在已有模型中切换乌鸦脚(Crow’s Foot)与经典(IE)符号风格
这不是操作路径没找对,而是功能根本不存在——navicat 16 的 er 图只允许在新建模型时指定符号标准,创建后无法更改。你看到的“经典”矩形框+菱形关系图,是 ie(information engineering)风格;而带分叉线段的“乌鸦脚”是 crow’s foot 风格。两者底层渲染逻辑不同,模型文件(.nm)一旦生成,符号体系就已固化。
常见误操作包括:在模型属性面板里翻遍“显示选项”“布局设置”“关系样式”,甚至尝试右键表节点调出样式菜单——这些地方都没有切换开关。
必须通过“转换模型”新建一个 Crow’s Foot 模型才能启用乌鸦脚法
真正可行的路径是用 Navicat Data Modeler 的模型转换功能,把当前模型导出为新格式。注意:这不是简单复制粘贴,而是重建符号映射关系。
- 确保你使用的是
Navicat Data Modeler(不是基础版 Navicat Premium),只有它才内置转换能力 - 打开原模型 → 顶部菜单选择
工具 → 转换模型 - 在弹窗中:
- 目标数据库类型选和原库一致(如
MySQL 8.0) - 关键一步:勾选
转换相关图表,否则只转结构不转图形布局 - 模型类型下拉框里选择
Crow's Foot(不是“IE”或“UML”)
- 目标数据库类型选和原库一致(如
- 转换完成后,新模型会以独立
.nm文件保存,打开即显示乌鸦脚连线
转换后外键线样式异常?检查源库外键定义是否完整
即使成功转成 Crow’s Foot 模型,仍可能出现关系线缺失、端点无鱼尾纹、或基数标注(0..1 / 1..N)不显示——这通常不是转换失败,而是源库元数据本身缺关键信息。
- MySQL 中:确认外键约束用了
ADD CONSTRAINT显式命名,而非仅靠列名隐式关联 - PostgreSQL 中:执行过
COMMENT ON CONSTRAINT并非必需,但必须确保pg_constraint表中有对应记录 - 字段级
NOT NULL和UNIQUE约束必须存在,Crow’s Foot 的“一端”和“多端”依赖这些标记推断基数 - 如果某张表的关系线全变成单向直线(无鱼尾/无圆圈),大概率是该表在
information_schema.KEY_COLUMN_USAGE中未被识别为外键子表
别指望从数据库节点下的“ER 图”标签页直接切风格
很多人试图右键数据库连接 → “ER 图”,然后在那个标签页里找风格切换按钮。这个视图只是只读快照,由 Navicat 实时查询元数据生成,它压根不走模型层逻辑,也不支持 Crow’s Foot 渲染。所有样式控制权只存在于 .nm 模型文件中。
顺带提醒:转换模型后,原模型里的字段注释、自定义颜色(需手动改 XML)、分组折叠状态等都不会继承过去——这些都得在新模型里重新配置。


















