如何用Powerdesigner的PDM生成数据库及逆向生成

首先,这是我从我本身的希赛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,将全部"替换为空,就大功告成了