PowerDesigner是一款功能非常強大的建模工具軟件,足以與Rose比肩,同樣是當今最著名的建模軟件之一。Rose是專攻UML對象模型的建模工具,之后才向數據庫建模發展,而PowerDesigner則與其正好相反,它是以數據庫建模起家,后來才發展為一款綜合全面的Case工具。
PowerDesigner主要分為7種建模文件:
1. 概念數據模型 (CDM)
對數據和信息進行建模,利用實體-關系圖(E-R圖)的形式組織數據,檢驗數據設計的有效性和合理性。
2. 邏輯數據模型 (LDM)
PowerDesigner 15 新增的模型。邏輯模型是概念模型的延伸,表示概念之間的邏輯次序,是一個屬於方法層次的模型。具體來說,邏輯模型中一方面顯示了實體、實體的屬性和實體之間的關系,另一方面又將繼承、實體關系中的引用等在實體的屬性中進行展示。邏輯模型介於概念模型和物理模型之間,具有物理模型方面的特性,在概念模型中的多對多關系,在邏輯模型中將會以增加中間實體的一對多關系的方式來實現。
邏輯模型主要是使得整個概念模型更易於理解,同時又不依賴於具體的數據庫實現,使用邏輯模型可以生成針對具體數據庫管理系統的物理模型。邏輯模型並不是在整個步驟中必須的,可以直接通過概念模型來生成物理模型。
3. 物理數據模型 (PDM)
基於特定DBMS,在概念數據模型、邏輯數據模型的基礎上進行設計。由物理數據模型生成數據庫,或對數據庫進行逆向工程得到物理數據模型。
4. 面向對象模型 (OOM)
包含UML常見的所有的圖形:類圖、對象圖、包圖、用例圖、時序圖、協作圖、交互圖、活動圖、狀態圖、組件圖、復合結構圖、部署圖(配置圖)。OOM 本質上是軟件系統的一個靜態的概念模型。
5. 業務程序模型 (BPM)
BPM 描述業務的各種不同內在任務和內在流程,而且客戶如何以這些任務和流程互相影響。 BPM 是從業務合伙人的觀點來看業務邏輯和規則的概念模型,使用一個圖表描述程序,流程,信息和合作協議之間的交互作用。
6. 信息流模型(ILM)
ILM是一個高層的信息流模型,主要用於分布式數據庫之間的數據復制。
7. 企業架構模型(EAM):
從業務層、應用層以及技術層的對企業的體系架構進行全方面的描述。包括:組織結構圖、業務通信圖、進程圖、城市規划圖、應用架構圖、面向服務圖、技術基礎框架圖。
正所謂“工欲善其事必先利其器”,PowerDesigner就是一把強大的“神器”,若能運用自如,再身懷“絕世武功”,那你基本就遇神殺神遇佛殺佛了!
關於PowerDesigner物理數據模型的基本使用,我這里就不廢話了,給出個連接,地球人看完都知道:http://www.cnblogs.com/huangcong/archive/2010/06/14/1757957.html
下面就一些比較高級型的用法和技巧我着重說明下。
1. 生成sql腳本
Database→Generate Database
選擇要輸出的文件路徑,即文件存儲路徑,並根據需要修改文件名,單擊確定后便會生成sql腳本。
在Options選項卡里,可以個性化選擇和配置sql腳本,如取消外鍵,去除drop語句等。
Selection選項卡中可以選擇哪些表要生成sql腳本。
在Preview選項卡可以預覽將要生成的sql腳本。
2. 將所有名詞轉化為大寫
tools→Model Options...→Naming Convention→Code→Uppercase。
3. 表字段設計窗口顯示comment來編寫注釋
雙擊表打開表的屬性窗口→Columns選項卡→單擊上排倒數第二個圖標(Customize Columns and Filter)→勾選comment
4. 修改表的字段Name的時候,Code不自動跟着變
tools→General Options...→Dialog→取消勾選Name to Code mirroring
5. 不同數據庫之間的轉化
Database→Change Current DBMS→選擇要轉換成的目標數據庫
6. 導入sql腳本生成相應的數據庫表模型圖
File→Reverse Engineer→Database...→修改模塊名稱並選擇DBMS
Using script files→點擊下方圖標(Add Files)來添加sql腳本文件→確定
7. 由物理模型生成對象模型,並生成相應的get、set方法
tools→Generate Object-Oriented Model...→選擇語言→修改Name和Code→(Selection選項卡→選擇要生成對象模型的表)→確定
雙擊生成的某張表的類圖打開屬性窗口→選中全部字段→將字段Visibility全部改為private→單擊下方Add...按鈕→選擇Get/Set Operations→確定
之后生成代碼即可:Language→Generate Java Code...
【注意:不同語言Add...按鈕下的內容有區別,如C#是Property】
6. 生成數據庫文檔
Report→Generate Report...→選擇Generate RTF→修改Repor namet→語言選擇Chinese→選擇文件存放位置→確定
PowerDesigner還提供了文檔編輯功能:Report→Reports...→點擊New Report圖標→修改Repor namet→語言選擇Chinese→Report template選擇Full Physical Report
之后即可打開文檔編輯窗口,不過限於篇幅這里就不再詳細說明如何編輯了,大家自己看看吧。
8. 如何建立自增主鍵
雙擊表打開屬性窗口→勾選P主鍵復選框→雙擊設置為主鍵的字段(在行的頭部雙擊)或者單擊上方的屬性圖標按鈕→在打開的窗口下方(注意不同數據庫不一樣,sql server是identity復選框)選擇sequence,如果沒有則單擊旁邊的新建按鈕創建一個sequence。
9. 如何建立視圖
工具欄中單擊視圖(view)按鈕→創建視圖→雙擊視圖打開屬性窗口,其中Usage是表示視圖是只讀的還是可更新的。如果我們只創建一般的視圖,那么選擇query only選項即可。
切換到SQL Query選項卡,在文本框中可以設置定義視圖的sql查詢語句,在定義視圖時最好不要使用*,而應該使用各個需要的列名,這樣在視圖屬性的Columns中才能看到每個列。單擊右下角Edit with SQL Editor按鈕,即可彈出SQL Editor編輯器,編寫SQL語句。也可采用其他sql語句生成器生成sql語句。
10. 如何建立索引
雙擊表打開屬性窗口→選擇Indexes選項卡→新建一索引→雙擊該索引打開屬性窗口
選擇Columns選項卡→單擊Add Columns圖標按鈕→選擇要建立索引的字段→確定
這里Column definition就不要選了,會與主鍵沖突。
11. 如何建立存儲過程
工具欄中單擊Procedure按鈕→創建存儲過程→雙擊存儲過程打開屬性窗口→選擇Definition選項卡,其中在下拉列表框中,有Default Procedure、Default Function這兩個選項,前者是定義過程,后者是定語函數,系統會根據選擇的類型創建SQL語句的模板→編輯存儲過程腳本。
以上就是PowerDesigner物理模型的最主要內容了,其實這只是滄海一粟罷了,僅僅剛剛涉及到了一個模型,還有其他好多模型值得我們學習,這里要想真的講全面的話,那一篇博文肯定容不下,需要連載了。
PowerDesigner真的非常強大,用它設計UML同樣很牛叉,大家有時間真應該好好學學這個工具怎么使,如果可能,我可能會在今后的博文中介紹下如何用PowerDesigner設計對象模型UML,或者搞不好真的要連載了,呵呵。那么小小期待下吧!