PowerDesigner是一款功能非常強大的模組化工具軟體,足以與Rose比肩,同樣是當今最著名的模組化軟體之一。Rose是專攻UML對象模型的模組化工具,之後才向資料庫模組化發展,而PowerDesigner則與其正好相反,它是以資料庫模組化起家,後來才發展為一款綜合全面的Case工具。以下基于PowerDesigner16.5說明。
該版本主要分為10種模組化檔案:
1. 業務流程模型(Business Process Model, BPM)
2. 概念資料模型(Conceptual Data Model, CDM)
3. 資料傳送模型(Data Movement Model, DMM)
4. 企業架構模型(Enterprise Architecture Model, EAM)
5. 自由模型(Free Model, FM)
6. 邏輯資料模型(Logical Data Model, LDM)
7. 面向對象模型(Object-Oriented Model, OOM)
8. 實體資料模型(Physical Data Model, PDM)
9. 需求模型(Requirements Model, RM )
10. 可拓展标記語言模型(XML Model)
1. 概念資料模型 (CDM)
對資料和資訊進行模組化,利用實體-關系圖(E-R圖)的形式組織資料,檢驗資料設計的有效性和合理性。
2. 邏輯資料模型 (LDM)
PowerDesigner 15 新增的模型。邏輯模型是概念模型的延伸,表示概念之間的邏輯次序,是一個屬于方法層次的模型。具體來說,邏輯模型中一方面顯示了實體、實體的屬性和實體之間的關系,另一方面又将繼承、實體關系中的引用等在實體的屬性中進行展示。邏輯模型介于概念模型和實體模型之間,具有實體模型方面的特性,在概念模型中的多對多關系,在邏輯模型中将會以增加中間實體的一對多關系的方式來實作。
邏輯模型主要是使得整個概念模型更易于了解,同時又不依賴于具體的資料庫實作,使用邏輯模型可以生成針對具體資料庫管理系統的實體模型。邏輯模型并不是在整個步驟中必須的,可以直接通過概念模型來生成實體模型。
3. 實體資料模型 (PDM)
基于特定DBMS,在概念資料模型、邏輯資料模型的基礎上進行設計。由實體資料模型生成資料庫,或對資料庫進行逆向工程得到實體資料模型。
4. 面向對象模型 (OOM)
包含UML常見的所有的圖形:類圖、對象圖、包圖、用例圖、時序圖、協作圖、互動圖、活動圖、狀态圖、元件圖、複合結構圖、部署圖(配置圖)。OOM 本質上是軟體系統的一個靜态的概念模型。
5. 業務程式模型 (BPM)
BPM 描述業務的各種不同内在任務和内在流程,而且客戶如何以這些任務和流程互相影響。 BPM 是從業務合夥人的觀點來看業務邏輯和規則的概念模型,使用一個圖表描述程式,流程,資訊和合作協定之間的互動作用。
6. 資訊流模型(ILM)
ILM是一個高層的資訊流模型,主要用于分布式資料庫之間的資料複制。
7. 企業架構模型(EAM):
從業務層、應用層以及技術層的對企業的體系架構進行全方面的描述。包括:組織結構圖、業務通信圖、程序圖、城市規劃圖、應用架構圖、面向服務圖、技術基礎架構圖。
下面就一些比較進階型的用法和技巧我着重說明下。
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,或者搞不好真的要連載了,呵呵。那麼小小期待下吧!