PowerDesigner是一款功能很是強大的建模工具軟件,足以與Rose比肩,一樣是當今最著名的建模軟件之一。Rose是專攻UML對象模型的建模工具,以後才向數據庫建模發展,而PowerDesigner則與其正好相反,它是以數據庫建模起家,後來才發展爲一款綜合全面的Case工具。html
PowerDesigner主要分爲7種建模文件:sql
1. 概念數據模型 (CDM)數據庫
對數據和信息進行建模,利用實體-關係圖(E-R圖)的形式組織數據,檢驗數據設計的有效性和合理性。架構
2. 邏輯數據模型 (LDM)框架
PowerDesigner 15 新增的模型。邏輯模型是概念模型的延伸,表示概念之間的邏輯次序,是一個屬於方法層次的模型。具體來講,邏輯模型中一方面顯示了實體、實體的屬性和實體之間的關係,另外一方面又將繼承、實體關係中的引用等在實體的屬性中進行展現。邏輯模型介於概念模型和物理模型之間,具備物理模型方面的特性,在概念模型中的多對多關係,在邏輯模型中將會以增長中間實體的一對多關係的方式來實現。編輯器
邏輯模型主要是使得整個概念模型更易於理解,同時又不依賴於具體的數據庫實現,使用邏輯模型能夠生成針對具體數據庫管理系統的物理模型。邏輯模型並非在整個步驟中必須的,能夠直接經過概念模型來生成物理模型。分佈式
3. 物理數據模型 (PDM)ide
基於特定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,或者搞很差真的要連載了,呵呵。那麼小小期待下吧!
補充:
一、在pdm模型中,當創建兩個表的關係時,有以下的級聯關係:
雙擊2個表之間的關聯關係 彈出表信息窗口,選擇identity選項卡可看到 如下是幾個參數,含義以下: None:父表修改,子表不影響。 Restrict:父表修改,若是子表存在,則出錯。 Cascade:父表修改,若是子表存在,則相應的修改。 Set Null:父表修改,若是子表存在,則相應置空。 Set Default:父表修改,若是子表存在,則相應置默認值。