前段时间用了下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文件。
生成成功后,唯一点不足是:存储过程、触发器等这些的转换,正在摸索中。暂时还没实现。
以上内容简述了CDM与PDM与Sql之间的简单转换,有关PowerDesigner连接数据库以及OOM、Entity Class等将在后面的文章中分享!!!