詳解PowerDesigner之CDM、PDM、SQL之間轉(zhuǎn)換
詳解PowerDesigner之CDM、PDM、SQL之間轉(zhuǎn)換
前段時間用了下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)建好表(當然這里測試用的MySql,這里只簡述其中一個表了,比方說此時我們已經(jīng)有了該數(shù)據(jù)庫表的Sql腳本文件了,當然也可以在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)。
如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
java基本教程之synchronized關(guān)鍵字 java多線程教程
這篇文章主要介紹了java的synchronized原理、synchronized基本規(guī)則、synchronized方法 和 synchronized代碼塊、實例鎖和全局鎖2014-01-01java連接SQL?Server數(shù)據(jù)庫圖文教程(自用)
在Java應(yīng)用程序中,我們經(jīng)常需要與數(shù)據(jù)庫進行交互,下面這篇文章主要給大家介紹了關(guān)于java連接SQL?Server數(shù)據(jù)庫的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-06-06SpringBoot詳解shiro過濾器與權(quán)限控制
當shiro被運用到web項目時,shiro會自動創(chuàng)建一些默認的過濾器對客戶端請求進行過濾。比如身份驗證、授權(quán)的相關(guān)的,這篇文章主要介紹了shiro過濾器與權(quán)限控制2022-07-07SpringSecurity學習之自定義過濾器的實現(xiàn)代碼
這篇文章主要介紹了SpringSecurity學習之自定義過濾器的實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-01-01MyBatisPlus代碼生成器的原理及實現(xiàn)詳解
這篇文章主要為大家詳細介紹了MyBatisPlus中代碼生成器的原理及實現(xiàn),文中的示例代碼講解詳細,對我們學習MyBatisPlus有一定幫助,需要的可以參考一下2022-08-08SpringBoot實現(xiàn)統(tǒng)一封裝返回前端結(jié)果集的示例代碼
在實際項目開發(fā)過程中,我們經(jīng)常將返回數(shù)據(jù)的基本形式統(tǒng)一為JSON格式的數(shù)據(jù)。但項目可能是由很多人開發(fā)的,所以我們最好將返回的結(jié)果統(tǒng)一起來。本文介紹了SpringBoot實現(xiàn)統(tǒng)一封裝返回前端結(jié)果集的示例代碼,需要的可以參考一下2022-06-06