详解PowerDesigner之CDM、PDM、SQL之间转换

 更新时间:2017年10月18日 15:47:26   投稿:lqh  
这篇文章主要介绍了详解PowerDesigner之CDM、PDM、SQL之间转换的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下

详解PowerDesigner之CDM、PDM、SQL之间转换

前段时间用了下PowerDesigner做了一些辅助工作、在此特地小结一下:

有关CDM、PDM、SQL之间转换以及不同数据库之间库表Sql的移植,首先要了解的是它们各自的用途、这里就简单的描述一下,不做详细的解释了。

CDM:概念数据模型。CDM就是以其自身方式来描述E-R图。它不考虑物理实现的细节,只表示数据库的整体逻辑结构,独立于任何软件和数据存储结构。

PDM:物理数据模型。考虑了数据库的物理实现,包括软件和数据存储结构,即:PDM与具体的数据库有关。

下面做了个简单的例子,简述了CDM与PDM与Sql之间的转换,以及从MySql如何转成Oracle

一、MySql_DB——>PDM——>CDM——>Oracle_DB
意思是要将MySql中的库表脚本转成相应的Oracle脚本;

所需要的过程是,首先将MySql中的Sql脚本转成其相应的MySql_PDM,然后由这个PDM再转换成CDM,这时由于CDM是与具体的DBMS无关的、所以此时我们将CDM转成Oracle_PDM,最后将这个Oracle_PDM导成OracleSQL文件。

上面的流程强调的是必须转成CDM先,因为CMD不同于PDM,它是与DBMS无关的、只表示数据库的整体逻辑结构。

具体操作如下:

首先安装PowerDesigner


安装完成后、在数据库中

创建好表(当然这里测试用的MySql,这里只简述其中一个表了,比方说此时我们已经有了该数据库表的Sql脚本文件了,当然也可以在PowerDesigner进行连接的。)


打开PowerDesigner然后依次选择

File——>Reverse Engineer——>Database


选择相应的数据库类型(这里测试用的是Mysql5.0):


然后选择Using Script File


点击确定后将产生相应的MySql_PDM:


然后选择Tool——>Generate Conceptual Data Model

或者是快捷键:Ctrl+Shift+C

PowerDesigner 中的快捷键大致是:

PDM 即:Ctrl+Shift+P

CDM 即:Ctrl+Shift+C

OOM 即:Ctrl+Shift+O

即根据字母来生成;

SQL脚本:Ctrl+G


得到CDM后我们就可以将CDM转为相应DBMS的PDM,即:快捷键Ctrl+Shift+P (这里我们要生成的是Oracle,所以选择了Oracle1g),

如下图所示


点击确定后生成了Oracle_PDM


这时只要使用快捷键Ctrl+G即可将Oracle_PDM转成Oracle脚本sql文件。

生成成功后,唯一点不足是:存储过程、触发器等这些的转换,正在摸索中。暂时还没实现。

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • Java中Map遍历的九种方式汇总

    Java中Map遍历的九种方式汇总

    这篇文章主要介绍了Java中九种 Map 的遍历方式汇总的相关资料,需要的朋友可以参考下
    2022-11-11
  • java基本教程之synchronized关键字 java多线程教程

    java基本教程之synchronized关键字 java多线程教程

    这篇文章主要介绍了java的synchronized原理、synchronized基本规则、synchronized方法 和 synchronized代码块、实例锁和全局锁
    2014-01-01
  • log4j与slf4j的使用与区别详解

    log4j与slf4j的使用与区别详解

    这篇文章主要介绍了log4j与slf4j的使用与区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • java连接SQL Server数据库图文教程(自用)

    java连接SQL Server数据库图文教程(自用)

    在Java应用程序中,我们经常需要与数据库进行交互,下面这篇文章主要给大家介绍了关于java连接SQL Server数据库的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-06-06
  • SpringBoot详解shiro过滤器与权限控制

    SpringBoot详解shiro过滤器与权限控制

    当shiro被运用到web项目时,shiro会自动创建一些默认的过滤器对客户端请求进行过滤。比如身份验证、授权的相关的,这篇文章主要介绍了shiro过滤器与权限控制
    2022-07-07
  • Java实现快速并查集

    Java实现快速并查集

    这篇文章主要为大家详细介绍了Java实现快速并查集,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • SpringSecurity学习之自定义过滤器的实现代码

    SpringSecurity学习之自定义过滤器的实现代码

    这篇文章主要介绍了SpringSecurity学习之自定义过滤器的实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • Java多线程事务管理的实现

    Java多线程事务管理的实现

    本文主要介绍了Java多线程事务管理的实现,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2021-07-07
  • MyBatisPlus代码生成器的原理及实现详解

    MyBatisPlus代码生成器的原理及实现详解

    这篇文章主要为大家详细介绍了MyBatisPlus中代码生成器的原理及实现,文中的示例代码讲解详细,对我们学习MyBatisPlus有一定帮助,需要的可以参考一下
    2022-08-08
  • SpringBoot实现统一封装返回前端结果集的示例代码

    SpringBoot实现统一封装返回前端结果集的示例代码

    在实际项目开发过程中,我们经常将返回数据的基本形式统一为JSON格式的数据。但项目可能是由很多人开发的,所以我们最好将返回的结果统一起来。本文介绍了SpringBoot实现统一封装返回前端结果集的示例代码,需要的可以参考一下
    2022-06-06

最新评论