Navicat 的“模型规范”功能即其规范检查器,可自动识别命名、结构、类型三类问题并支持实时检查;需手动启用,优先保留MQ-0、MQ-3、MQ-7、MQ-10等关键规则,禁用MQ-12、MQ-15等经验型规则;错误编号对应明确修正操作,支持导出HTML/XML报告用于评审与协作。

Navicat 本身没有“规范检查器”这个独立模块,但它的 模型规范 功能就是专为这类审查场景设计的——它能自动识别命名、结构、类型三类硬性问题,且支持开启实时检查,适合带教初级开发者。
启用模型规范检查并配置风险等级
模型规范检查默认是关闭的,必须手动打开。在 Navicat Data Modeler 中打开物理模型后,底部标签页切换到 模型规范,点击 开始检查 才会触发扫描。首次使用建议先点 选项,取消勾选 MQ-12(“索引数不超过 3 个”)和 MQ-15(“分区不能使用 DATE 类型”)这类偏重 DBA 经验的规则,避免初级开发者被大量低优先级警告干扰。
- 真正影响上线质量的规则集中在 MQ-0(表名不能为空)、MQ-3(字段物理名不能含中文)、MQ-7(建议有主键)、MQ-10(不建议用 TEXT/BLOB)这几条,应保持启用
- 勾选
实时检查后,每新增一个字段或修改表名,错误提示会立刻出现在画布右上角气泡中,比等“开始检查”更及时 - 规则列表顶部有搜索框,输入
MQ-7可快速定位主键规则,不用滚动查找
把检查结果直接映射到建模动作
初级开发者常把“检查报错”当成黑盒反馈,实际每个错误都对应可操作的修正路径。例如 MQ-7:表缺少主键 不是让你去猜,而是右键该表 → 编辑表 → 在字段列表中勾选某列的 PRI 复选框即可解决;MQ-3:字段名含中文 则双击字段名,把“用户昵称”改成 nickname 就自动消红。
- 错误信息里带编号(如 MQ-7)是关键线索,对照文档能查到具体约束条件
- 部分规则如 MQ-19(“DECIMAL 精度不能超过长度”)需要改两个值:
length和scale,只调一个会持续报错 - 画布上表名/字段名出现红色下划线,鼠标悬停就能看到完整错误描述,不必切到下方面板
导出检查报告用于 Code Review
单靠画布上的红黄提示不够存档或跨人协作,需导出结构化报告。点击 模型规范 标签页右上角的 导出 按钮,选择 HTML 或 XML 格式。HTML 报告会按错误、警告、提示三级分类,列出每张表违反了哪条规则;XML 则可用于脚本解析,比如用 Python 提取所有 MQ-0 错误表名做批量提醒。
- 导出前务必确认已执行过一次
开始检查,否则报告为空 - HTML 报告里的链接能跳转到对应模型元素,评审时可直接定位问题位置
- 不要依赖截图——截图无法体现“哪些规则被禁用”,而导出的 XML 文件里明确记录了
enabled="false"的规则项
最易被忽略的是:模型规范检查只作用于当前打开的物理模型文件,不会跨模型生效。团队共用一套规则时,必须把 选项 里配置好的规则集导出为 .xml,再让其他人导入,否则每人看到的“标准”其实是不一样的。











