設計之路:使用Power Designer工具進行數據庫設計
文/阿蜜果
日期:/2013-10-13
使用Power Designer進行數據庫設計已有一段時間,但某些功能卻一直未曾使用,本博文將筆者近期使用Power Designer的某些功能進行詳細講解。
1、使用PD連接Oracle數據庫
前些天跟進一個已經做完一半但是不大的系統,使用Oracle 11g數據庫,因為時間比較緊張,而且項目組人員沒有文檔規范意識,各個模塊的數據庫表都由各個開發人員獨立設計,沒有完整的物理模型設計文檔,給維護造成很大困難。
因為只有Oracle數據庫中有表結構,所以我想通過Oracle數據庫反向生成物理模型,首先需要使用Power Designer連接Oracle數據庫。
1.1 創建新的物理數據模型
點擊“文件”-> “建立新模型”,在彈出的界面中使用默認選擇(“Model”-> “Physical Data Model”-> “Physical Diagram”),修改“Model Name”為系統的名稱,“DBMS”選擇“ORACLE Version 11g”,點擊“OK”按鈕建立新的物理數據模型。如下圖所示:

【說明】筆者使用的Power Designer版本為15.1,鏈接的Oracle版本為Oracle 11g。
1.2 創建Oralce數據源
點擊“數據庫”-> “Configure Data Connections”,在彈出的界面中選擇“Connect Profiles”后點擊“ ”按鈕將彈出創建數據源的界面,如下圖所示:

在“Connection Profile Connection Definition”界面的設置參考如下:

該界面設置需要注意的是:
(1)Connection Profile name:輸入數據庫連接文件名它會自動加上后綴.dcp
(2)Derectory:可以選擇任意目錄;
(3)Connection type:連接類型選擇“JDBC”;
(4)DBMS type:數據庫管理系統選擇“Oracle”;
(5)User name:數據庫用戶名;
(6)Password:數據庫密碼;
(7)JDBC driver class:從下拉中選擇JDBC的驅動類選擇驅動類oracle.jdbc.OracleDriver;
(8)JDBC connection URL:JDBC連接地址,即訪問的服務器路徑,格式為:
jdbc:oracle:thin:@數據庫IP地址數據庫連接端口:orcl
(9)JDBC driver jar files:需要選擇指向ojdbc14.jar或者其他驅動的包的按鈕路徑。
筆者測試過程中發現數據庫連接不上,后來才發現因為新換筆記本后連JDK都未安裝,請確認JDK安裝成功,并正確設置JAVA_HOME、CLASSPATH和PATH環境變量。
若Power Designer找不到所選擇的jar包或jar包不在CLASSPATH環境變量所指定的路徑,將會報錯:Non SQL Error : Could not load class oracle.jdbc.OracleDriver。
在設置CLASSPATH環境變量時將值設置為.;%JAVA_HOME%\lib,其中“.;”表示當前路徑,為了讓Power Designer找到ojdbc14.jar,可將ojdbc14.jar放在Power Designer的安裝目錄下,或放在%JAVA_HOME%\lib目錄下。
【說明】Oracle的驅動jar包ojdbc14.jar讀者可從網上下載,或通過本博客提供的下載鏈接下載(http://files.blogjava.net/amigoxie/20131013_%E8%AE%BE%E8%AE%A1%E4%B9%8B%E8%B7%AF%EF%BC%9A%E4%BD%BF%E7%94%A8Power%20Designer%E5%B7%A5%E5%85%B7%E8%BF%9B%E8%A1%8C%E6%95%B0%E6%8D%AE%E5%BA%93%E8%AE%BE%E8%AE%A1.rar)
1.3 測試鏈接是否成功
可點擊“Connection Profile Connection Definition”界面的“Test Connection”按鈕,進入用戶名/密碼重新輸入頁面,如下圖所示:

若數據庫連接成功,將顯示如下界面提示連接測試成功:

若連接失敗,將提示“Connection test failed”,請確認鏈接地址是否正確。
1.4 連接Oracle數據庫
Oracle數據源創建成功后,可選擇菜單欄“數據庫”->“Connect…”彈出“Connect to a Data Source”界面,在“Connection Profile”下拉中選剛才創建的“xx_portal.dcp”,點擊“Connect”按鈕連接數據庫。如下圖所示:

點擊“Connect”按鈕連接數據庫,連接數據庫成功后,可查看數據庫中的表結構,也可通過Oracle數據庫中的表結構逆向生成PDM文件。
2、連接Oracle數據庫逆向工程生成PDM
使用逆向工程建立物理數據模型PDM文件也可選擇“File”->“Reverse Engineer”-> “Database”,在彈出的界面中將“Model name”輸入為子系統的名稱,“DBMS”選擇“ORACLE Version 11g”,點擊“確定”按鈕進入連接數據源頁面。如下圖所示:

點擊【確定】按鈕逆向工程選項設置界面,如下圖所示:

在“User a data source”中可選擇剛才創建的數據源“xx_portal.dcp”,默認勾選“Reverse engineer user administrator’s permissions”,點擊“確定”按鈕進入數據庫反向工程界面,如下圖所示:

點擊“確定”按鈕生成PDM文件,生成的PDM文件將包含表結構、主鍵、外鍵、索引、約束和其它選項信息。
【說明】因為筆者寫本博文時本機暫時無法連接之前使用的Oracle數據庫,所以上圖從網上拷貝。
3、一個PDM創建多個Diagram進行設計以便查看
將所有的表都放在一個Physical Diagram中,非常不便于查看,Power Designer的一個PDM文件可建立多個Physical Diagram,在創建新的物理數據模型后,可選擇物理模型名稱后點擊右鍵,選擇“New”->“Physical Diagram”創建新的Physical Diagram。
例如筆者為“員工辦公門戶系統物理模型”建立了如下多個Physical Diagram:

選擇不同的“Physical Diagram”,點擊右鍵后選擇“打開圖表”將會看到該Physical Diagram下的表設計。一般按大模塊建立Physical Diagram。
4、使用Ctrl+ K在不同PD中一個表創建多個symbol
多個“Physical Diagram”中可能都與某個“Physical Diagram”中的某個表存在關聯,例如可能“新聞資訊”、“培訓教程、在線考試和問卷調查”這兩個Physical Diagram的用戶ID可能都與“系統管理”中的“用戶表”存在外鍵關聯。
筆者使用的方法是:使用Ctrl+C先復制,再Ctrl+K粘貼到Diagram中。
Ctrl + V:創建一個與復制的實體相同的一個實體,相當于一個新的實體(實體名稱必須唯一);
Ctrl + K:創建一個原實體的快捷方式(修改原實體時新實體也會隨之變化)。
5、附錄:使用PL/SQL連接Oracle數據庫
在1和2章節章需要安裝Oracle客戶端,而后使用PL/SQL連接Oracle查看是否能連接成功。
5.1 下載Oracle免安裝客戶端oracle_instantclient
在Oracle官網那個下載Oracle免安裝客戶端 instantclient basic package,地址如下:
http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html
在該頁面搜索“client”,頁面如下所示:

點擊“Instant Clinet”后進入下載列表,如下圖所示:

筆者的是32位的操作系統,所以選擇“Instant Client for Microsoft Windows(32-bit)”。下載時需要AcceptLicense Agreement, 若沒有oracle帳號,需先注冊一個oracle帳號。頁面如下圖所示:

另外,請選擇合適版本:
instantclient-basic-win32-11.x.x.x.x.zip:支持Oracle 9i以上的版(不包括Oracle9i)
instantclient-basic-win32-10.x.x.x.zip:支持Oracle8i 和Oracle9i 的。
筆者下載的是最新版本instantclient-basic-nt-12.1.0.1.0.zip。
下載完成后,把文件解壓到本地某路徑下,如:D:\software\instantclient_11_2在此路徑下建立:NETWORK/ADMIN文件夾,在ADMIN文件夾下建立tnsnames.ora文件,參考內容如下:
orcl=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=10.28.19.120)(PORT=1521))
)
(CONNECT_DATA=
(SERVICE_NAME=orcl)
)
)
5.2 安裝PL/SQL并進行配置
安裝PLSQL Developer,打開后點擊“取消”按鈕進入。在菜單欄選擇“工具”->“首選項”,設置Oracle主目錄名和OCI庫,如下圖所示:

設置后關閉PL/SQL,再重新打開,在登錄頁面選擇在tnsnames.ora 中設置的“數據庫”,輸入用戶名、密碼即可登錄。如下圖所示:

6、參考文檔
(1)《PowerDesigner15連接Oracle數據庫并導出Oracle的表結構》:
http://wenku.baidu.com/view/4f819a24af45b307e87197ea.html
(2)《如何用Powerdesigner的PDM(物理數據模型)生成數據庫及逆向工程(將現有的數據庫生成PDM)》:http://blog.csdn.net/jiang_ideal/article/details/3838806
(3)《在powerdesigner中,一個table,怎么在diagram中創建多個symbol》:
http://tyj06102000.blog.163.com/blog/static/1269328620107236446346/
(4)《Oracle免安裝客戶端oracle_instantclient的安裝和配置》:
http://wenku.baidu.com/view/bf396d6858fafab069dc0228.html
posted on 2013-10-13 12:23
阿蜜果 閱讀(22739)
評論(5) 編輯 收藏 所屬分類:
架構師之路