您的位置:首页 > 其它

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

2011-05-08 19:00 218 查看
一、总述

对数据库设计者来说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、导入的时候如果表对象存的话该脚本不会删除已经存在表对象 (没添加该功能的原因怕对已经
使用的模型造成破坏),所以导入前需要手工删除
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: