数据建模工具Powerdesigner逆向工程从现有数据库生成PDM

在数据建模过程中,我们建立概念数据模型,通过正向工程生成物理数据模型,生成数据库建库脚本,最后将物理数据模型生成关系数据库,现在反过来,通过逆向工程将关系数据库,生成物理数据模型。
优点:
在丢失数据模型或者数据库模型同现有的数据库不一致,可以通过该方法生成使用中数据库的模型
缺点:
还原回的模型中,可能会没有中文注释,没有表外键对应关系(字段还有,索引关系没了)
前提:
1,确认要生成模型的数据库是最新的,并且可以使用
2,安装powerdesigner软件
具体操作步骤:
一,建立odbc数据源
1, 打开系统odbc数据源,位置“控制面板--管理工具--数据源(odbc)
2,选择系统dsn,点击添加按钮,选择与数据库相匹配的驱动程序
3,点击完成,弹出数据源名称(自定),和选择你要连接的数据库
4,选择确定后,该数据源建立成功,可以双击该数据源名称进行连接测试
5,至此数据源建立完成,当然这些也可以不用在这里建立,在powerdesigner里也可以建立,建立方法为
选择database->configure connections,转到system dsn标签,点击add按钮,选数据库类型db2,点击完成。显 示如下:输入datasource name“pdmtest”;输入servername“database”, 配置完成。
二,在powerdesigner中逆向生成
1,打开powerdesigner工具,创建一个pdm文件,选择与之匹配的数据库类型“ibm db2 udb 8.x common server”。创建方法为:右键点击左侧面板中的workspace---->new------>physical data nodel ,在dbms中选择你要的数据类型,选择好后点击确定,则新建立了一个工作空间。
2,选择“文件”菜单下的reverse engineer - database,弹出database reverse engineering对话框,选using an odbc data source选odbc数据源“s2ms”
3,点击确定后,显示此数据库中所有表、视图、用户(这个选择一下该数据库的用户)。根据需要选择后,转换成pdm。
4,选择好后,点击ok,则生成模型。
三,生成模型后要导出数据库建库脚本
导好的模型,当然是用来修改和导出建库脚本的,操作方法如下
1,选择database--->generate database
在用户的none中选择数据库用户,同时可选要导出的表,最后点击确定,如果不能正常生成脚本提示模型错误,则在上一步中的options中将check modle 的选项去掉,点击确定,生成sql脚本,
这时生成的脚本不要着急去用,因为可能是有问题,用记事本或其它工具打开这个脚本,你会发现在所属名上也就是s2ms上都会加上号,用ctrl+h,将所有替换为空,就大功告成了!
例子
一项目拿到数据库后,涉及到的表太多,领导要求做pdm图,只能用powerdesigner的逆向工程来生成了。
环境:vs2005+sqlserver2005+powerdesigner 12打开powerdesigner 12(以下简称pd),新建pdm工程,如图所示:
注:dbms选择您目前需要转换的类别,我用的是sqlserver2005。然后选择菜单《数据库》《系统dsn》,选择或者添加您需要的数据库,我这里选择的是sql server。如图所示:
ok,配置好连接后,我们就可以生成pdm或者cdm了:依次选择菜单《数据库》《数据库逆向工程》,选择逆向操作的数据源,如图所示:
单击确定后,选择您要生成的表及相关属性设置,如图所示:
ok,大功告成啦,稍等几秒,就可以看到生成的pdm图了: