ERwin根据映射文件,自动为物理模型命英文名

在以前的帖子中说过,要整理下ERwin由逻辑模型到物理模型的映射,一直没时间,今天终于整理了,如下:

项目的建模工具,用的较多的有PD、Rose,我学生时代,就没听说过ERwin,这个工具也是进入项目组之后才了解到的。ERwin中分为逻辑模型和物理模型两种。在创建逻辑模型时,我们都是通过中文设计,这样就更直观的显示模型的作用;物理模型,是直接对数据库进行关联,对数据库进行操作,因此在给物理模型命名时,需要使用英文(不嫌麻烦、不嫌累,用中文也可以)。问题随之而来,如何将逻辑层的中文名,通过映射文件,直接生成物理层的英文名。对,需要映射文件,而且不是一个,,是两个,一个定义表名,一个定义字段名。下面,将解释具体如何实现。

1)、打开ERwin,创建一个逻辑模型(可以使用我前面介绍的方法,通过脚本导入SQL建表语句,来批量创建逻辑模型),如下图:

2)、点击菜单栏’Tool’->’Names’,选择’Model Naming Options’,将弹出新对话框,选择‘Name Mapping’ 选项卡,

在’Entity to Table ‘ 和 ‘Attribute to Column’,对应的Macro Name 中分别将 TXT1、TXT2的信息考入

TXT1:%Decl(test,_)%=(test,%Lookup(%substitute(%currentfile,.erwin,_TABLE.txt),%EntityName()))%If(%==(%Substr(%:test,1,1),_){%Substr(%:test,2)}%else{%:test} TXT2:%Decl(test,_)%=(test,%Lookup(%substitute(%currentfile,.erwin,_FIELD.txt),%AttName))%If(%==(%Substr(%:test,1,1),_)){%Substr(%:test,2)}%else{%:test}

如下图:

注,在‘physical’选项卡中,case选项中包括 None、UPPER、lower、initial四种,具体含义为:如图

None:映射信息不表

UPPER:将映射字符全部转为大写

lower:将映射字符全部转为小写

initial:将映射字符的首字母转为大写

3)、接下来,首先要保持ERWin模型,保持文件名为XXX.erwin。Next,要新建两个txt映射文件,文件命名有约束,表名映射映射文件名为XXX_TABLE.txt(XXX为ERwin文件名),字段级文件映射文件名为XXX_FIELD.txt,并且要将这两个文件和XXX.erwin放在同一目录下。

XXX_TABLE.txt 文件内容为:

客户信息基表,CUST_INFO_TBL

XXX_FIELD.txt 文件内容为:

客户编号,CUST_ID客户名称,CUST_NAME年龄,AGE性别,SEx生日,BIRTH_DT邮箱,EMAIL

注:ERwin根据映射文件,为物理模型命名时,是按照映射文件中映射先后顺序依次映射的,因此,要根据中文映射字符的长度减序排列。这点很重要,读者要在实际操作中体会这句话的含义。

4)、按照上述步骤设置完后,关闭ERwin模型,重新启动,因为,ERwin只在启动时读取映射文件,以后,修改了映射文件内容后,都要重启ERwin。点击‘Physical’,进入物理模型,ERwin将根据映射文件,自动为物理模型命名,如下图:

————————————————————————

享受分享的快乐!

坚韧是成功的一大要素,只要在门上敲得够久够大声,终会把人唤醒的。

ERwin根据映射文件,自动为物理模型命英文名

相关文章:

你感兴趣的文章:

标签云: