基于PowerDesigner Repository建立模型库
版权所有,欢迎转载,转载请注明转自http://www.suneca.com
PowerDesinger是Sysbase公司最好的产品,至少个人这么认为,呵呵,惭愧!!! 开发这么久,还没有用过Sysbase的数据库,以往开发的系统当中,不是基于Oracle就是Mysql或MSSQLServer,也许Sysbase在中国企业应用还是比较少,当然在某一些领域,比如银行、电信的生产系统等都在使用Sysbase,但至少我还没有接触过这些相关的系统。PowerDesinger是很多设计人员都在使用的一个工具,跟这个工具同一个功能的还有很多,比如Rose、Together、IBM最新的RSA、ERWin等等,但比较过后,还是觉得PowerDesinger更加人性化一些,至少,所见即所得这种方式,深得我个人喜欢,也许,已经习惯了。
公司的管理代码及某些知识库,我们是采用CVS或VSS或SVN来进行管理和维护版本信息,但对于设计模型这一块,我们的做法就是每一个版本我们是以文件名的方式来标识,比如:manbuchina-V1.pdm,manbuchina-V1.1.pdm,manbuchina-V2.pdm等等,然后将该文件保存在公司的CVS服务器上,这种方法相信很多公司都是这么用的;当然有些公司可能根本就没有对设计这一块进行版本管理,这种方式相信在很多刚刚起步,还没有太多技术积累的公司,很多有这种情况,当然,这种情况是非常致命的,当开发到V2版本的时候,V1的模型已经被覆盖掉了,根本找不到,一量客户提出修改意见且需要对模型进行修改的时候,根本无法跟踪。
在默认情况下,CVS会认为一个pdm文件是一个二进制文件,而二进制文件对于CVS来讲,新版本将会把旧版本给替换掉。其实PowerDesigner物理数据库模型文件,本身是一个xml文件,你可以生成一个pdm文件,然后用editplus或UltraEdit打开,你就会知道这一点。那如果是xml文件,那我们当然可以使用cvs或其他版本管理工具来进行版本控制,但要进行配置,告诉CVS服务器这个文件是一个文本文件,要以文本文件的方式来进行版本管理,这个是一种方法。对PowerDesigner有了深入的了解后,发现,PowerDesinger还有更高明更好的办法,那就是基于是PowerDesinger Repository来进立相应的模型库。
PowerDesinger Repository支持多种数据库,你可以将模型库存放在Oracle、Sysbase、Mysql、MSSQLServer上面。本次采用的保存模型库的数据库是Oracle 10g。
第一步,我们需要为模型库建立相应的表空间及用户。
建立用户或表空间我们可以使用Oracle 10g提供的DBConsole、命令行、或其他可视客户端进行创建,为了更清晰地了解创建的过程,我们使用命令行来进行表空间及用户的创建,注意,必须有DBA身份的用户才能使用以下语句。
创建表空间:
Create SMALLFILE TABLESPACE "POWERDESINGERREPOSITORY" DATAFILE 'd:/PowerDesigner.odb' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO
上面的SQL创建了一个名为POWERDESINGERREPOSITORY的表空间,数据库文件是存放于D盘的PowerDesigner.odb上面,表空间的初始化大小为100M,当表空间满的时候,表空间将会自增长10M,最大空间没有限制。
创建用户:
Create USER "POWERDESIGNER" PROFILE "DEFAULT" IDENTIFIED BY "admin" DEFAULT TABLESPACE "POWERDESINGERREPOSITORY" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK;
GRANT "DBA" TO "POWERDESIGNER";
上面SQL创建了一个叫POWERDESIGNER的用户,密码为admin,默认的表空间是POWERDESINGERREPOSITORY,临时表空间是TEMP。并且将DBA的角色指派给POWERDESIGNER用户。注意,直接将DBA指派给POWERDESIGNER不太合理,这里只是为了方便,一般只需要将connect及resource角色指派给用户即可;另外,数据库用户名没有大小写之分。
第二步,创建ODBC数据源
进行控制面板-->管理工具-->数据源(ODBC)
在用户DSN或系统DSN下面,添加一个数据源,数据源名称取名为powerdesinger或其他你喜欢的名字,配置信息如下图所示,配置完Test Connection一下,以便确认是否配置成功。其中,WALK为服务器在本地的命名。
第三步,打开PowerDesigner,定义Repository库,本人用的PowerDesinger是PowerDesinger 12.1。
点击Repository--> Repository Definitions,如下图所示:
将弹出Repository的定义界面,添加一个新的Repository,取名为ManbuChinaRepository
点击属性,对其进行配置,如下图所示
点击Test,测试一下配置是否正确,并点击OK按钮完成Repository的配置。
点击Repository-->Connect,连接数据库,如下图所示:
将弹出如下对话框,如下图所示:
点击OK,在弹出的对话框当中输入数据库用户的密码,如下图所示:
接着点击OK按钮。
由于第一次,PowerDesinger并未初始化表空间及初始化数据,所以将会弹出一个出错对话框,如下图所示:
点击确定,将会弹出一个是否初始化的确认对话框,如下图所示:
点击是(Y),PowerDesinger将会进行初始化,初始化是一个已经定义好的脚本,只要点击Execute即可,如下图所示:
初始化完的Repository菜单:
第四步,创建用户
点击Repository-->users,将弹出用户的管理界面,如下图所示:
创建一个新用户
修改用户信息,如下图所示:
修改用户权限:
将zizz拉到administrator组当中,如下图所示:
最后,点击OK按钮,完成了用户的创建。
第五,将设计的数据库物理模型保存保存到服务器上。
首先检查一下当前的登录用户,点击Repository-->Connection Information,将弹出当前用户的登录信息,如下图所示:
将物理数据模型添加到PowerDesigner Repository当中,在模型当中点击右键,选择Consolidate…,如下图所示:
将弹出如下对话框,如下图所示:
最后,点击确定按钮,完成了将Hibernate RelationShip模型库上传到模型库当中。
第六,查看模型库
对于一般用户,比如开发人员,我们可以为其创建一个只读用户,他可以从模型库当中拿下最新的数据库模型。
PowerDesinger是Sysbase公司最好的产品,至少个人这么认为,呵呵,惭愧!!! 开发这么久,还没有用过Sysbase的数据库,以往开发的系统当中,不是基于Oracle就是Mysql或MSSQLServer,也许Sysbase在中国企业应用还是比较少,当然在某一些领域,比如银行、电信的生产系统等都在使用Sysbase,但至少我还没有接触过这些相关的系统。PowerDesinger是很多设计人员都在使用的一个工具,跟这个工具同一个功能的还有很多,比如Rose、Together、IBM最新的RSA、ERWin等等,但比较过后,还是觉得PowerDesinger更加人性化一些,至少,所见即所得这种方式,深得我个人喜欢,也许,已经习惯了。
公司的管理代码及某些知识库,我们是采用CVS或VSS或SVN来进行管理和维护版本信息,但对于设计模型这一块,我们的做法就是每一个版本我们是以文件名的方式来标识,比如:manbuchina-V1.pdm,manbuchina-V1.1.pdm,manbuchina-V2.pdm等等,然后将该文件保存在公司的CVS服务器上,这种方法相信很多公司都是这么用的;当然有些公司可能根本就没有对设计这一块进行版本管理,这种方式相信在很多刚刚起步,还没有太多技术积累的公司,很多有这种情况,当然,这种情况是非常致命的,当开发到V2版本的时候,V1的模型已经被覆盖掉了,根本找不到,一量客户提出修改意见且需要对模型进行修改的时候,根本无法跟踪。
在默认情况下,CVS会认为一个pdm文件是一个二进制文件,而二进制文件对于CVS来讲,新版本将会把旧版本给替换掉。其实PowerDesigner物理数据库模型文件,本身是一个xml文件,你可以生成一个pdm文件,然后用editplus或UltraEdit打开,你就会知道这一点。那如果是xml文件,那我们当然可以使用cvs或其他版本管理工具来进行版本控制,但要进行配置,告诉CVS服务器这个文件是一个文本文件,要以文本文件的方式来进行版本管理,这个是一种方法。对PowerDesigner有了深入的了解后,发现,PowerDesinger还有更高明更好的办法,那就是基于是PowerDesinger Repository来进立相应的模型库。
PowerDesinger Repository支持多种数据库,你可以将模型库存放在Oracle、Sysbase、Mysql、MSSQLServer上面。本次采用的保存模型库的数据库是Oracle 10g。
第一步,我们需要为模型库建立相应的表空间及用户。
建立用户或表空间我们可以使用Oracle 10g提供的DBConsole、命令行、或其他可视客户端进行创建,为了更清晰地了解创建的过程,我们使用命令行来进行表空间及用户的创建,注意,必须有DBA身份的用户才能使用以下语句。
创建表空间:
Create SMALLFILE TABLESPACE "POWERDESINGERREPOSITORY" DATAFILE 'd:/PowerDesigner.odb' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO
上面的SQL创建了一个名为POWERDESINGERREPOSITORY的表空间,数据库文件是存放于D盘的PowerDesigner.odb上面,表空间的初始化大小为100M,当表空间满的时候,表空间将会自增长10M,最大空间没有限制。
创建用户:
Create USER "POWERDESIGNER" PROFILE "DEFAULT" IDENTIFIED BY "admin" DEFAULT TABLESPACE "POWERDESINGERREPOSITORY" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK;
GRANT "DBA" TO "POWERDESIGNER";
上面SQL创建了一个叫POWERDESIGNER的用户,密码为admin,默认的表空间是POWERDESINGERREPOSITORY,临时表空间是TEMP。并且将DBA的角色指派给POWERDESIGNER用户。注意,直接将DBA指派给POWERDESIGNER不太合理,这里只是为了方便,一般只需要将connect及resource角色指派给用户即可;另外,数据库用户名没有大小写之分。
第二步,创建ODBC数据源
进行控制面板-->管理工具-->数据源(ODBC)
在用户DSN或系统DSN下面,添加一个数据源,数据源名称取名为powerdesinger或其他你喜欢的名字,配置信息如下图所示,配置完Test Connection一下,以便确认是否配置成功。其中,WALK为服务器在本地的命名。
第三步,打开PowerDesigner,定义Repository库,本人用的PowerDesinger是PowerDesinger 12.1。
点击Repository--> Repository Definitions,如下图所示:
将弹出Repository的定义界面,添加一个新的Repository,取名为ManbuChinaRepository
点击属性,对其进行配置,如下图所示
点击Test,测试一下配置是否正确,并点击OK按钮完成Repository的配置。
点击Repository-->Connect,连接数据库,如下图所示:
将弹出如下对话框,如下图所示:
点击OK,在弹出的对话框当中输入数据库用户的密码,如下图所示:
接着点击OK按钮。
由于第一次,PowerDesinger并未初始化表空间及初始化数据,所以将会弹出一个出错对话框,如下图所示:
点击确定,将会弹出一个是否初始化的确认对话框,如下图所示:
点击是(Y),PowerDesinger将会进行初始化,初始化是一个已经定义好的脚本,只要点击Execute即可,如下图所示:
初始化完的Repository菜单:
第四步,创建用户
点击Repository-->users,将弹出用户的管理界面,如下图所示:
创建一个新用户
修改用户信息,如下图所示:
修改用户权限:
将zizz拉到administrator组当中,如下图所示:
最后,点击OK按钮,完成了用户的创建。
第五,将设计的数据库物理模型保存保存到服务器上。
首先检查一下当前的登录用户,点击Repository-->Connection Information,将弹出当前用户的登录信息,如下图所示:
将物理数据模型添加到PowerDesigner Repository当中,在模型当中点击右键,选择Consolidate…,如下图所示:
将弹出如下对话框,如下图所示:
最后,点击确定按钮,完成了将Hibernate RelationShip模型库上传到模型库当中。
第六,查看模型库
对于一般用户,比如开发人员,我们可以为其创建一个只读用户,他可以从模型库当中拿下最新的数据库模型。