erwin中文网站 > 新手入门 > ERWin数据建模外键怎么建 ERWin参照完整性怎么校验
教程中心分类
ERWin数据建模外键怎么建 ERWin参照完整性怎么校验
发布时间:2026/03/09 15:38:47

  ERWin里外键不是单独手工敲出来的字段,而是通过建立关系关系来触发主键或候选键迁移到子表,从而形成外键与约束。参照完整性校验也不是只看图上有没有连线,而是要把默认RI规则、关系级RI动作、以及模型校验一并跑通,才能避免生成DDL后才发现缺外键或规则不一致。

  一、ERWin数据建模外键怎么建

 

  外键建立的核心动作是创建识别关系或非识别关系,让父表键迁移到子表形成外键字段,并在需要时补齐外键约束命名与显示选项。

 

  1、先确认父表已定义主键或候选键

 

  在父表表编辑器里先把主键字段标成PK,或把可替代主键的候选键标成AK;如果父表没有可迁移的键,关系再怎么画也不会形成可用外键,后面校验时也容易报结构问题。

 

  2、在图上用关系工具连接父表与子表

 

  在Diagram里选择识别关系或非识别关系工具,先点击父表再点击子表完成连线;识别关系常用于子表主键包含父表键的场景,非识别关系常用于子表独立主键但仍需要引用父表的场景。

 

  3、确认键迁移到子表并处理同名冲突

 

  建立关系后,ERWin会把父表主键或候选键迁移到子表作为外键字段;如果子表里已经存在同名字段,系统会提示你处理重复,你需要按提示选择用迁移外键替换子表字段,或保留子表字段并调整映射,避免出现你以为有外键但字段没有真正迁移的问题。

 

  4、在关系属性里核对外键约束命名与关系方向

 

  打开【Model】→【Relationships】选择对应关系,在【General】里检查外键约束名相关字段,按你们命名规则补齐父到子与子到父的约束名,保证后续生成DDL时外键约束名称可读且可追踪。

 

  5、如果看不到FK标识或迁移字段先把显示选项打开

 

  你在图上看不到FK字样或看不到迁移属性时,不要先怀疑外键没建,先在图表显示设置里开启显示逻辑外键标识与显示迁移属性等选项,让外键与迁移字段在图上可见,避免误判。

 

  二、ERWin参照完整性怎么校验

 

  参照完整性校验建议分两层做,第一层校验模型结构是否满足生成外键的条件,第二层校验RI规则口径是否一致并能正确生成到DDL。

  1、先设置默认参照完整性规则作为全局口径

 

  点击【Model】→【Model Properties】进入Model Editor,切到【RI Defaults】页签,在网格里设置不同关系类型对应的默认动作口径,并在需要时使用重新绑定按钮把新默认规则应用到现有关系,避免同一模型里不同关系的ON DELETE与ON UPDATE口径各自为政。

 

  2、对关键关系单独设定RI动作并明确业务语义

 

  在关系级属性里为关键关系定义删除与更新时的动作口径,例如限制删除、级联删除、置空等,确保这些动作与业务规则一致;如果你的数据库策略依赖触发器来实现RI动作,也要在关系里把相应触发动作口径配置完整。

 

  3、明确外键生成方式避免DDL里缺失外键语句

 

  在Schema Generation相关的RI选项里确认外键是随CREATE TABLE生成还是以ALTER TABLE补充生成,并核对ON DELETE与ON UPDATE等子句是否会被输出,避免你在模型里看似配置了RI但生成脚本里没有落地。

 

  4、运行模型校验检查参照完整性相关问题

 

  执行【Model】→【Model Validation】或对应的校验入口,在校验列表里选择与关系、键、约束相关的检查项并运行;重点关注父表缺键、子表外键迁移不完整、关系定义缺失等问题,这类问题会直接导致参照完整性无法成立或生成脚本不完整。

 

  5、把校验结果回写到修复动作而不是只看报错文本

 

  校验发现问题后,按报错对象逐条回到表编辑器与关系编辑器修复,例如补齐父表PK或AK、重新建立关系触发迁移、修正外键约束命名、统一RI Defaults口径,然后再次运行校验直到关键项清零,再进入下游的脚本生成与评审环节。

 

  三、外键与参照完整性常见问题定位顺序

 

  你遇到外键没生成或RI校验不过时,按这个顺序查,定位会更快。

 

  1、先查父表是否真的有可迁移的键

 

  优先确认父表PK与AK是否定义完整,这是外键迁移的前提,很多外键缺失问题最终都落在父表键未定义或定义不规范。

 

  2、再查关系类型与迁移是否真的发生

 

  确认关系是从父到子建立,且迁移字段已出现在子表中;遇到同名字段冲突时要按系统提示处理,否则会出现图上有线但子表没有可用外键字段的情况。

 

  3、再查显示选项避免把显示问题当成建模问题

 

  当你看不到FK标识或迁移字段时,先把显示逻辑外键标识与显示迁移属性打开,确认是显示层问题还是建模层问题。

 

  4、最后查RI Defaults与关系级动作是否冲突

 

  默认RI规则与关系级RI动作不一致时,容易造成同类关系生成脚本口径不同或校验项反复出现;统一默认口径后,再对少数关系做例外配置更易维护。

  总结

 

  ERWin里外键建立依赖关系创建与键迁移,先保证父表键定义完整,再用识别或非识别关系把键迁移到子表,并补齐外键约束命名与显示选项。参照完整性校验要同时抓默认RI规则、关系级RI动作、以及模型校验结果,确保模型结构可生成外键、RI口径一致且能正确落到DDL里,才能把缺外键与规则不一致的问题提前拦在建模阶段。

读者也访问过这里:
135 2431 0251