在erwin Data Modeler中,数据域可以统一约束一类属性或字段的数据类型、默认值、校验规则、定义等信息,适合处理身份证号、金额、日期、状态码这类重复出现的数据标准。字段关联数据域后,可以继承其中允许继承的属性,但已经被单独覆盖的字段不会继续跟随数据域变化。围绕“erwin怎么创建数据域,erwin数据域修改后字段属性为什么没有同步更新”,关键是判断字段当前仍处于继承状态,还是已经形成了自己的属性值。
一、erwin怎么创建数据域
erwin可以在逻辑模型和物理模型中创建自定义Domain。逻辑模型更关注逻辑数据类型、定义和规则,物理模型还会结合目标数据库设置实际数据类型、空值等属性。不同模型层次中的Domain参数并不完全相同。
1、创建新的数据域
①打开目标模型,点击【模型】→【域】,进入【域编辑器】。
②点击【新建】,输入数据域名称,例如“金额”“客户编号”或“业务日期”。
③在【常规】中选择合适的父域,例如String、Number或Datetime,并设置逻辑数据类型。
④在物理模型中继续设置对应的物理数据类型、长度、精度、是否允许空值等参数。
⑤根据项目标准补充定义、默认值和验证规则,保存数据域。
系统默认提供Default、Blob、Datetime、Number和String等基础域,自定义数据域可以建立在这些域或其他自定义域之下,并继承父域中允许继承的属性。
2、把数据域分配给属性或字段
①双击目标实体,打开【属性编辑器】。
②选中需要统一的数据属性,在【父域】中选择刚建立的数据域。
③检查【逻辑数据类型】是否已经继承数据域设置。
④切换到物理模型后,再检查对应Column的数据类型、空值和默认值等属性。
⑤对同类属性重复分配相同Domain,使后续调整可以通过域统一管理。
erwin允许属性选择Parent Domain;字段与域保持继承关系时,相关物理属性也能够从Domain获得,例如数据类型和空值设置。
二、erwin数据域修改后字段属性为什么没有同步更新
数据域已经修改,但部分字段仍保留原值,最常见的原因是字段曾经被单独修改,继承关系因此被覆盖。除此之外,还要检查Parent Domain以及修改发生在逻辑模型还是物理模型。
1、字段已经覆盖了域属性
①打开没有同步的属性或字段,进入对应的属性编辑器。
②检查数据类型、名称、默认值等目标属性是否处于继承状态。
③如果字段曾手动设置过该属性,它可能已经覆盖Domain中的继承值。
④点击相应属性的【恢复继承】,再查看字段是否重新采用Domain设置。
erwin的字段编辑器提供恢复属性继承功能,可以将已覆盖的字段属性重新恢复为从Domain继承。
2、字段关联的不是当前数据域
①在【属性编辑器】或【列编辑器】中查看【父域】。
②将正常同步和未同步字段进行对比,确认两者引用的是同一个Domain。
③如果字段仍关联旧Domain,重新选择正确的父域。
④存在多级Domain时,继续检查当前Domain自身的父域是否正确。
父域发生变化后,可继承属性会沿Domain层级传递,因此同名Domain或层级关系错误也可能造成字段表现不同。
3、修改了逻辑属性但检查的是物理字段
①确认本次修改发生在逻辑Domain还是物理Domain。
②修改逻辑数据类型后,先查看逻辑属性是否已经继承。
③再进入物理模型检查对应Column的物理数据类型。
④如果物理字段曾被单独覆盖,恢复其继承后重新检查。
逻辑模型与物理模型中的Domain承担不同层次的属性定义,不能仅凭逻辑Domain变化就认为所有物理字段都会无条件改写。
三、怎样批量检查数据域继承是否正常
模型中只有几个字段时,可以逐项检查;如果几十张表都使用同一个Domain,仅凭肉眼对比很容易漏掉已经覆盖继承的字段。更稳妥的做法是先明确Domain应该统一哪些属性,再集中找出例外对象,而不是看到一个异常就手动改一个。
1、恢复异常字段的继承关系
①选中存在问题的字段,打开字段属性编辑器。
②使用【恢复属性继承】检查当前字段中被覆盖的属性。
③只恢复需要继续受Domain控制的项目,避免覆盖确实需要保留的字段级例外。
④恢复后再次修改Domain进行小范围验证,确认字段能够跟随变化。
2、区分统一标准和字段例外
①列出数据类型、默认值、校验规则等必须统一的Domain属性。
②对业务上确实需要不同设置的字段保留覆盖,并记录原因。
③同一Domain出现大量人工覆盖时,考虑拆分新的子Domain,而不是继续增加字段级例外。
④完成调整后抽查不同实体中的字段,确认继承链和实际结果一致。
这种方式可以避免为了追求“全部同步”而误删合理的字段差异,同时也能减少Domain已经失去统一管理作用却没有被发现的情况。
总结
erwin怎么创建数据域,重点是根据业务标准建立合适的Domain层级,并把相同类型的属性或字段关联到统一父域;erwin数据域修改后字段属性为什么没有同步更新,则要重点检查字段是否覆盖了继承属性、Parent Domain是否正确,以及逻辑模型和物理模型是否处于同一继承链。数据域真正的价值在于集中维护公共规则,因此出现大量不同步字段时,应先整理继承关系和合理例外,再决定是否恢复属性或拆分新的子域。希望本文对大家进行erwin数据标准维护有所帮助,如需进一步了解erwin数据域创建与字段属性未同步更新的排查方法,欢迎联系咨询。
