有關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等將在后面的文章中分享!!!
