`

PD逆向工程从现有数据库生成PDM(转)

 
阅读更多
在数据建模过程中,我们建立概念数据模型,通过正向工程生成物理数据模型,生成数据库建库脚本,最后将物理数据模型生成关系数据库,现在反过来,通过逆向工程将关系数据库,生成物理数据模型。

优点:

         在丢失数据模型或者数据库模型同现有的数据库不一致,可以通过该方法生成使用中数据库的模型

缺点:

         还原回的模型中,可能会没有中文注释,没有表外键对应关系(字段还有,索引关系没了)

前提:

        1,确认要生成模型的数据库是最新的,并且可以使用

        2,安装Powerdesigner软件(我的是12.0版本)

具体操作步骤:

一,建立ODBC数据源

        1, 打开系统ODBC数据源,位置“控制面板--管理工具--数据源(ODBC),要是这一步不会的话,就不用往下看了,看了也是浪费时间。。。。

        2,选择系统DSN,点击添加按钮,会弹出如下界面,选择与数据库相匹配的驱动程序

       3,点击完成,弹出数据源名称(自定),和选择你要连接的数据库

     4,选择确定后,该数据源建立成功,可以双击该数据源名称进行连接测试,只要看到弹出:connection successful 就可以了。

  5,至此数据源建立完成,当然这些也可以不用在这里建立,在powerdesigner里也可以建立,建立方法为

  选择repositroy->connect,,点击setup ..按钮,添加一行。显 示如下:在 repositroy Name 输入“new”;在 repositroy user 输入“heyxnew”,在 database user  输入 "数据库用户" ,第三个:data source name 配置点最右边的(注意找哦),会弹出:select  an  ODBC    data   source      框,有Machine data source:和file data source,而我们在上面早以配好了odbc,则直接选:Machine data source,在下拉框中选 择早以配好的,若是没有配好odbc,则点击add同样可以配只要配好就行了,进行连接测试,只要看到弹出:connection successful 就可以了。

二,在Powerdesigner中逆向生成

      1,打开Powerdesigner工具,创建一个PDM文件,选择与之匹配的数据库类型“Oracle version 9i(这个是我的,我用的是oracle)”。创建方法为:右键点击左侧面板中的WorkSpace---->new------>physical data nodel  ,在DBMS中选择你要的数据类型,选择好后点击确定,则新建立了一个工作空间。

      2,选择Database菜单下的Reverse Engineer Database,弹出Database Reverse Engineering对话框,选Using an ODBC data source选ODBC数据源“new”。

     3,点击确定后,显示此数据库中所有表、视图、用户(这个选择一下该数据库的用户)。根据需要选择后,转换成pdm。图示如下

4,选择好后,点击OK,则生成模型(这个要花点时间生成的)。

三,利用脚本生成模型

       如果你不光有个正在使有的数据库,你还有一下建立库的脚本,那你发财了!因为用.sql的脚本生成的模型,就不存在用数据库生成的缺点了,具体操作如下:

二、 通过SQL脚本逆向工程生成PDM

1、 数据库SQL脚本文件crebas.sql。下为脚本实例:

/*==============================================================*/
/* DBMS name:      ORACLE Version 9i                            */
/* Created on:     2008-12-19 12:42:21                          */
/*==============================================================*/


alter table SYSTEM.HELP
   drop primary key cascade;

drop table SYSTEM.HELP cascade constraints;

drop user SYSTEM;

/*==============================================================*/
/* User: SYSTEM                                                 */
/*==============================================================*/
create user SYSTEM identified by '';

/*==============================================================*/
/* Table: HELP                                                  */
/*==============================================================*/
create table SYSTEM.HELP  (
   TOPIC                VARCHAR2(50)                    not null,
   SEQ                  NUMBER                          not null,
   INFO                 VARCHAR2(80)
)
  pctused 40
initrans 1
maxtrans 255
storage
(
    initial 48K
    minextents 1
    maxextents unlimited
    freelists 1
    freelist groups 1
)
tablespace SYSTEM
logging
  noparallel;

alter table SYSTEM.HELP
   add constraint HELP_TOPIC_SEQ primary key (TOPIC, SEQ)
        using index
    pctfree 10
    initrans 2
    maxtrans 255
    storage
    (
        initial 16K
        minextents 1
        maxextents unlimited
        freelists 1
        freelist groups 1
    )
    tablespace SYSTEM
     logging;



2、 还是创建一个pdm,选择Database--->Reverse Engineer Database,选择Using script files,在点OK。

3、 过一会你会看到由脚本自动生成相关的PDM。  

四,生成模型后要导出数据库建库脚本

    导好的模型,当然是用来修改和导出建库脚本的,操作方法如下

     1,选择database--->generate database弹出如下窗口

  

在用户的none中选择数据库用户,同时可选要导出的表,最后点击确定,如果不能正常生成脚本提示模型错误,则在上图中的options中将check modle 的选项去掉,点击确定,生成sql脚本,如下:

/*==============================================================*/
/* DBMS name:      ORACLE Version 9i                            */
/* Created on:     2008-12-19 13:26:22                          */
/*==============================================================*/


alter table STUDENT
   drop constraint FK_STUDENT_REFERENCE_CLASS;

alter table CLASS
   drop primary key cascade;

alter table STUDENT
   drop primary key cascade;

drop table CLASS cascade constraints;

drop table STUDENT cascade constraints;

drop user SYSTEM;

/*==============================================================*/
/* User: SYSTEM                                                 */
/*==============================================================*/
create user SYSTEM identified by '';

/*==============================================================*/
/* Table: CLASS                                                 */
/*==============================================================*/
create table CLASS  (
   CLASSID              NUMBER(2)                       not null,
   CLASSNAME            VARCHAR2(24)
);

alter table CLASS
   add constraint PK_CLASS primary key (CLASSID);

/*==============================================================*/
/* Table: STUDENT                                               */
/*==============================================================*/
create table STUDENT  (
   STUDENTID            NUMBER(10)                      not null,
   STUDENTNAME          VARCHAR2(4),
   CLASSID              NUMBER(2)
);

alter table STUDENT
   add constraint PK_STUDENT primary key (STUDENTID);

alter table STUDENT
   add constraint FK_STUDENT_REFERENCE_CLASS foreign key (CLASSID)
      references CLASS (CLASSID);



不行的话可以多试几次的哦!!!反正我的是一次就OK了。。。。。
分享到:
评论

相关推荐

    PowerDesigner逆向工程导入MYSQL数据库总结

    ### PowerDesigner逆向工程导入MYSQL数据库详解 #### 一、PowerDesigner与逆向工程...通过以上步骤,我们可以顺利地利用PowerDesigner逆向工程功能从现有的MYSQL数据库中生成数据模型,极大地提高了开发效率和质量。

    pd反向生成

    在数据库设计过程中,"pd反向生成"功能指的是利用PowerDesigner从已有的数据库中逆向工程生成PDM(Physical Data Model),即物理数据模型。这个过程可以帮助开发者快速理解现有数据库的结构,方便进行数据库维护、...

    PD16将ORACLE转成PDM纯图版

    3. **逆向工程**:使用逆向工程功能,通过数据源连接从Oracle数据库中提取元数据,这会生成一个概念数据模型(CDM)或物理数据模型(PDM)的初步版本。 4. **模型转换**:在生成的CDM基础上,根据实际需求进行调整...

    PowerDesigner生成数据字典(包含反向工程生成方法).docx

    它不仅支持正向工程,即从模型到数据库的转换,也支持反向工程,即从现有数据库逆向生成模型,从而极大地提高了数据库设计和管理的效率。 ### 如何使用PowerDesigner生成数据字典 根据给定的部分内容,以下是使用...

    PowerDesigner12.5 数据库建模实例教程

    在数据库建模过程中,理解实体关系(ER)图的绘制,业务规则的表达,以及如何使用PowerDesigner进行逆向工程(从现有数据库生成模型)和正向工程(从模型生成数据库)也是必不可少的知识点。通过这份教程,学习者将...

    PD生成物理数据模型步骤[oracle]

    PowerDesigner 是一款广泛使用的数据库建模工具,它不仅支持正向工程,即根据逻辑数据模型生成物理数据模型,同时也支持逆向工程,即从现有的数据库中提取物理数据模型。本文将详细介绍如何使用 PowerDesigner 反向...

    数据库设计pd建模讲义

    这意味着可以从现有的数据库结构逆向生成PDM甚至CDM。这对于理解和维护现有系统非常有用。 #### 七、案例分析 假设我们需要设计一个关于工程项目的数据库,涉及到工程项目、零件以及供应商等实体。按照以下步骤...

    连接数据库

    PowerDesigner是一款强大的数据库设计工具,它允许用户创建、管理和逆向工程数据库模型。在这个"PowerDesigner连接数据库,导出数据,生成PDM文件的傻瓜式教程"中,我们将详细探讨如何通过PowerDesigner与数据库进行...

    PowerDesigner 设计数据库表

    PowerDesigner 还支持逆向工程,即从现有数据库中生成模型。这对于理解已有的数据库结构或对已有系统进行维护非常有帮助。通过逆向工程,可以快速建立与实际数据库一致的模型,然后在此基础上进行修改和优化。 4. ...

    PowerDesign实例讲解PPT

    4. **逆向工程**:PD也支持从现有数据库中导入结构,生成LDM或PDM。这个功能对于数据库维护和重构非常有用,PPT会展示如何进行逆向工程操作。 5. **图表定制**:PD允许用户自定义数据模型的视图,包括实体形状、...

    powerDesigner连数据库

    完成以上步骤后,PowerDesigner应该已经成功连接到SQL Server数据库,并且你可以开始使用它来设计和逆向工程数据库模型了。这包括查看现有表结构、创建新表、定义字段、建立关系以及生成数据库脚本等。通过...

    powerdesigner连接数据库

    在IT行业中,数据库建模工具...完成以上步骤后,PowerDesigner就能成功连接到MySQL数据库,从而可以进行数据库模型的设计和管理,实现正向工程(根据模型创建数据库)和逆向工程(从现有数据库生成模型)等操作。

    [PowerDesigner建模资料].PD入门演示

    5. PowerDesigner的其他功能:除了基本的建模,PowerDesigner还提供逆向工程,可以从现有数据库生成模型;正向工程,将模型转化为数据库脚本;以及数据流建模,用于描述数据处理过程。 6. 入门学习:本教程通过录像...

    PowerDesigner15建模文件例子

    3. **逆向工程**:PowerDesigner可以对现有数据库进行逆向工程,生成对应的PDM,帮助理解已有的数据库结构。 4. **数据流模型(DFD)**:用于描绘数据在系统中的流动和处理过程,帮助理解业务流程。 5. **业务流程...

    一个毕业设计选题系统的数据库模型

    这里,设计者不仅创建了模型,还可能利用PowerDesigner的逆向工程功能,将已经存在的数据库结构转换为模型,以便于理解和修改。 标签中的“sql”代表Structured Query Language,是用于管理和处理关系数据库的标准...

    PD课间PD课间

    DataArchitect还可以根据现有数据库生成PDM和CDM,以及创建数据库的SQL脚本。 **2. ProcessAnalyst** ProcessAnalyst用于创建功能模型和数据流图,帮助构建“处理层次关系”。这个工具使得用户能够描绘出业务流程,...

    PD1.rar_PowerDesigner_powerdesigner vid

    它支持逆向工程,可以从现有数据库生成模型,也支持正向工程,将模型转换为实际的数据库脚本,极大地提高了开发效率。 【标签】"powerdesigner" 指代该教程的核心内容是 PowerDesigner 这款软件,"powerdesigner_...

    powerdesigner资源下载,解压可用

    1. **逆向工程**:PowerDesigner可以从现有数据库中生成PDM图,方便理解已有系统的结构。 2. **正向工程**:基于CDM图,PowerDesigner可以生成PDM图,并进一步导出为SQL脚本,用于创建数据库。 3. **数据流图**:...

    PD基础培训+PowerDesigner+使用方法

    **逆向工程**是PowerDesigner的一项强大功能,允许用户将现有数据库中的表结构反向生成到PowerDesigner中,便于进行进一步的设计与优化。 1. **操作步骤**: - 在PowerDesigner中选择Database -> UMD。 - 选择已...

    PowerDesigner培训资料

    2. **数据库逆向工程**:可以从现有数据库中导入结构,生成数据模型,方便对现有系统进行分析和优化。 3. **数据库生成与同步**:根据设计的模型,PowerDesigner可以生成多种数据库平台的脚本,如Oracle、SQL ...

Global site tag (gtag.js) - Google Analytics