首先,这是我从我本身的希赛BLOG上搬来并稍稍修改滴,本人自从上了csdn,感受仍是把blog搬到csdn比较好!嘿嘿!下面是正文:node
pdm作好后,最终是要将其转化为数据库实体的。这里pdm想必你们都知道是什么文件,对的,英文是physiyc data model 也就是物理数据模型。
1.确认当前Powerdesigner设置的dbms是否正确,便是否是咱们要生成的数据库类型,我在这里使用的是sqlserver2000:
Powerdesigner->数据库->更改当前dbms,选择您的数据库类型。sql
2.配置Powerdesigner与数据源的链接
Powerdesigner->数据库->配置链接->用户dsn(或系统dsn)->选择、添加您的数据源
3.链接
Powerdesigner->数据库->链接->设置好您刚才创建的dsn肯定。
OK,设置好链接后咱们就能够将pdm生成sql语句了。
4.数据库生成
Powerdesigner->数据库->生成数据库->配置好(默认就能够)后选择肯定就行了。
拿到sql脚本语句,你们都知道应当如何作了吧,放到sql查询分析器里执行吧。数据库
Powerdesigner逆向工程从现有数据库生成PDM工具
在数据建模过程当中,咱们创建概念数据模型,经过正向工程生成物理数据模型,生成数据库建库脚本,最后将物理数据模型生成关系数据库,如今反过来,经过逆向工程将关系数据库,生成物理数据模型。
优势:sqlserver
在丢失数据模型或者数据库模型同现有的数据库不一致,能够经过该方法生成使用中数据库的模型测试
缺点:spa
还原回的模型中,可能会没有中文注释,没有表外键对应关系(字段还有,索引关系没了)server
前提:blog
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,选择Database菜单下的Reverse Engineer Database,弹出Database Reverse Engineering对话框,选Using an ODBC data source选ODBC数据源“s2ms”,以下图所示:
3,点击肯定后,显示此数据库中全部表、视图、用户(这个选择一下该数据库的用户)。根据须要选择后,转换成pdm。图示以下
4,选择好后,点击OK,则生成模型。
三,利用脚本生成模型
若是你不光有个正在使有的数据库,你还有一下创建库的脚本,那你发财了!由于用.sql的脚本生成的模型,就不存在用数据库生成的缺点了,具体操做以下:
2、 经过SQL脚本逆向工程生成PDM
一、 数据库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")
/
二、 仍是建立一个pdm,选择Database--->Reverse Engineer Database,选择Using files。
三、 看到由脚本自动生成相关的PDM以下所示:
四,生成模型后要导出数据库建库脚本
导好的模型,固然是用来修改和导出建库脚本的,操做方法以下
1,选择database--->generate database弹出以下窗口
在用户的none中选择数据库用户,同时可选要导出的表,最后点击肯定,若是不能正常生成脚本提示模型错误,则在上图中的options中将check modle 的选项去掉,点击肯定,生成sql脚本,
这时生成的脚本不要着急去用,由于多是有问题,用记事本或其它工具打开这个脚本,你会发如今所属名上也就是s2ms上都会加上""号,用Ctrl+H,将全部"替换为空,就大功告成了