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将根据映射文件,自动为物理模型命名,如下图:


------------------------------------------------------------------------

享受分享的快乐!

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值