PowerDesigner之CDM、PDM、SQL之间转换
使用PowerDesigner来做模型设计时,往往需要考虑模型和数据库之间的转换。我们就来了解一下PowerDesigner里面CDM、PDM、SQL之间转换。
CDM:概念数据模型。CDM就是以其自身方式来描述E-R图。它不考虑物理实现的细节,只表示数据库的整体逻辑结构,独立于任何软件和数据存储结构。
PDM:物理数据模型。考虑了数据库的物理实现,包括软件和数据存储结构,即:PDM与具体的数据库有关。
接下来我们举例说明一下:将MySql中的库表脚本转成相应的Oracle脚本。
所需要的过程是,首先将MySql中的Sql脚本转成其相应的MySql_PDM,然后由这个PDM再转换成CDM,这时由于CDM是与具体的DBMS无关的、所以此时我们将CDM转成Oracle_PDM,最后将这个Oracle_PDM导成OracleSQL文件。
上面的流程强调的是必须转成CDM先,因为CMD不同于PDM,它是与DBMS无关的、只表示数据库的整体逻辑结构。
具体操作如下:
(1)安装PowerDesigner
(2)安装完成后、在数据库中创建好表(以MySQL为例)
(3)打开PowerDesigner然后依次选择 File——>Reverse Engineer——>Database
(4)选择相应的数据库类型(这里测试用的是Mysql5.0):
(5)选择Using Script File
(6)点击确定后将产生相应的MySql_PDM:
(7)选择Tool——>Generate Conceptual Data Model或者是快捷键:Ctrl+Shift+C
说明:PowerDesigner 中的快捷键大致是:
PDM 即:Ctrl+Shift+P
CDM 即:Ctrl+Shift+C
OOM 即:Ctrl+Shift+O
即根据字母来生成;
SQL脚本:Ctrl+G
(8)得到CDM后我们就可以将CDM转为相应DBMS的PDM,即:快捷键Ctrl+Shift+P (这里我们要生成的是Oracle,所以选择了Oracle1g),如下图所示:
(9)点击确定后生成了Oracle_PDM
这时只要使用快捷键Ctrl+G即可将Oracle_PDM转成Oracle脚本sql文件。生成成功后,唯一点不足是:存储过程、触发器等这些的转换。