向PowerDesigner中批量导入表的实例应用(原创)

一、总述      

  对数据库设计者来说Powerdesigner是很熟悉的设计工具,最近工作与PowerDesigner打交道比较多。
我在使用powerdesigner建模的过程中,由于涉及到大量的表创建,如果在powerdesigner按步就搬的一张表一个字段的敲,效率实在太低。为了把自己从繁琐重复的工作中解脱出来,我在网上搜集了资料再结合自己以前的VBA功底,

  总结了从excel中批量向PowerDesigner导表的脚本。
       下面我就借助截图加注释来大致讲一下该脚本的使用方法,希望对有同样需求的朋友们有所帮助。

二、环境支持

        脚本下载地址: http://ishare.iask.sina.com.cn/f/23906657.html(不再使用)

        脚本下载新地址:http://download.csdn.net/detail/xjcuiok/9070095

        文件:template.xlsx、import_pdm_script.vbs、pdm_export_script.vbs
        环境:office2010/office2007、PowerDesignger15.1、操作系统:win7、winxp

       注:2012.4.11号修改了代码,现在导入导出两脚本对winxp与win7完美支持 感谢朋友提出宝贵的意见!

三、使用方法

  图1:从PowerDesigner新建一个PDM文件,双击进入到打开状态,如图所示

 
图2:通过tools->Execute Commands->Edit/Run Script
图3:在Edit/Run Script窗口中打开脚本
图4:打开指定目录下的导入excel.vbs
图5:开始执行脚本
图6:脚本执行完毕,会提醒一共导入表的个数,该实例中为7张,如图
图7:验证导入PowerDesigner后表的效果
图8:导入7表成功,与模板中的7个表数量一样,说明导入成功,我们再看一下表的字段情况,是不是与我们当初设想一样
图9:下面对导入excel.vbs脚本中需要注意的地方说明一下,如下图脚本中加黑的部分脚本中记录“模板template.xlsx”
           所在目录位置,如果你要该脚本,一定要改成你模板在你电脑上的目录位置
图10:到这里我们导入excel.vbs的作用已经完成,下一步需要在PowerDesigner中,手工把左侧的导入的表拖到右侧
             来创建表与表的外键关系
图11:拖到右侧,进行表与表的外键关系
四、template.xlsx文件的简要说明
         该脚本只使用template.xlsx的sheet1,工作表,下图是对模板的工作表字段的说明
sheet1中共有6列,如果有多个表则在向下添加行即可(6列不变),表与表之间用空行分隔(空行个数:1行<=空行<=10行,
 这是因为我在脚本中设置超过10行后再有表就不再导入了,当然参数可以脚本修改,我设置的10个),
这里我们拿上图的《统计对象汇总表》表来说,第1行单元格cell(A,1)是表的中文名,单元格cell(A,2)是英文名,就是将来
在数据库中存在的名字,单元格cell(A,3),则说对《统计对象汇总表》表名的注释。
从第三行开始就要要导入数据库中表的字段了,说明如下:
单元格cell(A,3):字段中文名
单元格cell(B,3):字段英文名(与具体所用数据库密切相关)
单元格cell(C,3):字段类型(与具体所用数据库密切相关)
单元格cell(D,3):就是这段注释,可以为空
单元格cell(E,3):字段属性,如果是主键则从选主键即可(联合主键的话就在多个字段上选择)
                               字段不能为空则选非空,如果不填(为空)则说明该字段可以为空
单元格cell(F,3):字段的默认值(sql server不支持、oracle支持)填不填不影响
五、总结
 需要注意的地方:1、同一个pdm模型中表的中文名、英文名不能有重复;同样同一张表中字段也一样;
                                    2、导入的时候如果表对象存的话该脚本不会删除已经存在表对象 (没添加该功能的原因怕对已经
                                           使用的模型造成破坏),所以导入前需要手工删除

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值