前段時間用了下PowerDesigner做了一些輔助工作、在此特地小結(jié)一下:
有關(guān)CDM、PDM、SQL之間轉(zhuǎn)換以及不同數(shù)據(jù)庫之間庫表Sql的移植,首先要了解的是它們各自的用途、這里就簡單的描述一下,不做詳細的解釋了。
CDM:概念數(shù)據(jù)模型。CDM就是以其自身方式來描述E-R圖。它不考慮物理實現(xiàn)的細節(jié),只表示數(shù)據(jù)庫的整體邏輯結(jié)構(gòu),獨立于任何軟件和數(shù)據(jù)存儲結(jié)構(gòu)。
PDM:物理數(shù)據(jù)模型??紤]了數(shù)據(jù)庫的物理實現(xiàn),包括軟件和數(shù)據(jù)存儲結(jié)構(gòu),即:PDM與具體的數(shù)據(jù)庫有關(guān)。
下面做了個簡單的例子,簡述了CDM與PDM與Sql之間的轉(zhuǎn)換,以及從MySQL如何轉(zhuǎn)成Oracle
一、MySql_DB——>PDM——>CDM——>Oracle_DB
意思是要將MySql中的庫表腳本轉(zhuǎn)成相應(yīng)的Oracle腳本;
所需要的過程是,首先將MySql中的Sql腳本轉(zhuǎn)成其相應(yīng)的MySql_PDM,然后由這個PDM再轉(zhuǎn)換成CDM,這時由于CDM是與具體的DBMS無關(guān)的、所以此時我們將CDM轉(zhuǎn)成Oracle_PDM,最后將這個Oracle_PDM導(dǎo)成OracleSQL文件。
上面的流程強調(diào)的是必須轉(zhuǎn)成CDM先,因為CMD不同于PDM,它是與DBMS無關(guān)的、只表示數(shù)據(jù)庫的整體邏輯結(jié)構(gòu)。
具體操作如下:
首先安裝PowerDesigner
安裝完成后、在數(shù)據(jù)庫中
創(chuàng)建好表(當(dāng)然這里測試用的MySql,這里只簡述其中一個表了,比方說此時我們已經(jīng)有了該數(shù)據(jù)庫表的Sql腳本文件了,當(dāng)然也可以在PowerDesigner進行連接的。)
打開PowerDesigner然后依次選擇
File——>Reverse Engineer——>Database
選擇相應(yīng)的數(shù)據(jù)庫類型(這里測試用的是Mysql5.0):
然后選擇Using Script File
點擊確定后將產(chǎn)生相應(yīng)的MySql_PDM:
然后選擇Tool——>Generate Conceptual Data Model
或者是快捷鍵:Ctrl+Shift+C
PowerDesigner 中的快捷鍵大致是:
PDM 即:Ctrl+Shift+P
CDM 即:Ctrl+Shift+C
OOM 即:Ctrl+Shift+O
即根據(jù)字母來生成;
SQL腳本:Ctrl+G
得到CDM后我們就可以將CDM轉(zhuǎn)為相應(yīng)DBMS的PDM,即:快捷鍵Ctrl+Shift+P (這里我們要生成的是Oracle,所以選擇了Oracle1g),
如下圖所示
點擊確定后生成了Oracle_PDM
這時只要使用快捷鍵Ctrl+G即可將Oracle_PDM轉(zhuǎn)成Oracle腳本sql文件。
生成成功后,唯一點不足是:存儲過程、觸發(fā)器等這些的轉(zhuǎn)換,正在摸索中。暫時還沒實現(xiàn)。
以上內(nèi)容簡述了CDM與PDM與Sql之間的簡單轉(zhuǎn)換,有關(guān)PowerDesigner連接數(shù)據(jù)庫以及OOM、Entity Class等將在后面的文章中分享?。?!