受限说一下怎么装吧,我用的是powerdesigner12.5的,因为这个版本可以破解可以汉化,可以到迅雷上搜一下,这里就不给下载地址了,n多了都。也装了一个powerdesigner15的,可能版本太高了,仅仅有破解的,还没有汉化的。不过汉化的有好处也有不好,对于初学者来说,汉化的可以帮助很多,不用看到那些专业名词两眼发直,口吐白沫了,但是如果你接下来开始看某些文档的时候你就痛苦了,因为很多文档上给注明操作步骤的时候用的是英文的项目名称,而汉化的名称不一定跟真是的意思对照,所以你就痛苦中挣扎吧。我觉得过一阵子还是选用英文版的好。
一、创建概念模型就不说了,我这里有另外两篇文章写的有步骤,忒详细的步骤,且是图文并茂的。
二、概念模型向物理模型转。
先空着。。。。。。后续工作再填上。
三。物理模型(pdm)生成数据库及逆向工程
pdm做好后,最终是要将其转化为数据库实体的。
1.确认当前Powerdesigner设置的dbms是否正确,即是否是我们要生成的数据库类型,我在这里使用的是sqlserver2000:
Powerdesigner->数据库->更改当前dbms,选择您的数据库类型。
(这个地方要加个小广告的了,怎么设置dbms,有些同学的可能选择dbms的地方都是空白哦。选择安装文件夹的里面PowerDesigner 12/Resource Files/DBMS目录,问题解决)
2.配置Powerdesigner与数据源的连接
Powerdesigner->数据库->配置连接->用户dsn(或系统dsn)->选择、添加您的数据源
3.连接
Powerdesigner->数据库->连接->设置好您刚才建立的dsn确定。
OK,设置好连接后我们就可以将pdm生成sql语句了。
4.数据库生成
Powerdesigner->数据库->生成数据库->配置好(默认就可以)后选择确定就好了。
拿到sql脚本语句,大家都知道应当如何做了吧,放到sql查询分析器里执行吧。
四、Powerdesigner逆向工程从现有数据库生成PDM
在数据建模过程中,我们建立概念数据模型,通过正向工程生成物理数据模型,生成数据库建库脚本,最后将物理数据模型生成关系数据库,现在反过来,通过逆向工程将关系数据库,生成物理数据模型。
优点:
在丢失数据模型或者数据库模型同现有的数据库不一致,可以通过该方法生成使用中数据库的模型
缺点:
还原回的模型中,可能会没有中文注释,没有表外键对应关系(字段还有,索引关系没了)
具体操作步骤:
一,建立ODBC数据源
在powerdesigner里也可以建立数据源,建立方法为:
选择Database->configure connections,转到system dsn标签,点击Add按钮,选数据库类型DB2,点击完成。显 示如下:输入DataSource Name“PDMTest”;输入ServerName“Database”, 配置完成。
(如果是连接mysql,可以看一下这里的哈。。。。。PowerDesigner连接MySQL。。。。。。
在使用PowerDesigner对MySQL进行数据库建模时,连接MySQL只能使用ODBC的方式,但MySQL本身在安装的时候是不会安装ODBC的驱动程序的,因此要先下载MySQL的ODBC驱动程序并安装。http://dev.mysql.com/get/Downloads/Connector-ODBC/5.1/mysql-connector-odbc-5.1.5-win32.msi/from/http://mysql.he.net/)
二,在Powerdesigner中逆向生成
1,打开Powerdesigner工具,创建一个PDM文件。创建方法为:右键点击左侧面板中的WorkSpace---->new------>physical data nodel ,在DBMS中选择你要的数据类型,选择好后点击确定,则新建立了一个工作空间。
2,选择Database菜单下的Reverse Engineer Database,弹出Database Reverse Engineering对话框,选Using an ODBC data source选ODBC数据源“s2ms”。
3,点击确定后,显示此数据库中所有表、视图、用户(这个选择一下该数据库的用户)。根据需要选择后,转换成pdm。
4,选择好后,点击OK,则生成模型。
(我用的时候,本来是选择了数据库选择了数据表的,但是生成的模型总是是全部的数据库数据表,包括系统表都生成模型,相当痛苦。)
三,利用脚本生成模型
如果你不光有个正在使有的数据库,你还有一下建立库的脚本,那你发财了!因为用.sql的脚本生成的模型,就不存在用数据库生成的缺点了,具体操作如下:
二、 通过SQL脚本逆向工程生成PDM
1、 数据库SQL脚本文件crebas.sql。下为脚本实例:
/*==============================================================*/
/* Database name: PhysicalDataModel_1 */
/* DBMS name: ORACLE Version 9i */
/* Created on: 2003-07-13 10:49:08 */
/*==============================================================*/
/*==============================================================*/
/* Table: "class" */
/*==============================================================*/
create table "class" (
"classID" NUMBER(2) not null,
"className" VARCHAR2(24),
constraint PK_CLASS primary key ("classID")
)
/
/*==============================================================*/
/* Table: "student" */
/*==============================================================*/
create table "student" (
"studentID" NUMBER(10) not null,
"studentName" VARCHAR2(4),
"classID" NUMBER(2),
constraint PK_STUDENT primary key ("studentID")
)
/
alter table "student"
add constraint FK_STUDENT_REFERENCE_CLASS foreign key ("classID")
references "class" ("classID")
/
2、 还是创建一个pdm,选择Database--->Reverse Engineer Database,选择Using script files。
3、 看到由脚本自动生成相关的PDM如下所示:
四,生成模型后要导出数据库建库脚本
导好的模型,当然是用来修改和导出建库脚本的,操作方法如下
1,选择database--->generate database弹出如下窗口
在用户的none中选择数据库用户,同时可选要导出的表,最后点击确定,如果不能正常生成脚本提示模型错误,则在上图中的options中将check modle 的选项去掉,点击确定,生成sql脚本,
这时生成的脚本不要着急去用,因为可能是有问题,用记事本或其它工具打开这个脚本,你会发现在所属名上也就是s2ms上都会加上""号,用Ctrl+H,将所有"替换为空,就大功告成了!