PowerDesigner是一款功能很強大的建模工具軟件,足以與Rose比肩,相同是當今最著名的建模軟件之中的一個。Rose是專攻UML對象模型的建模工具,之后才向數據庫建模發展,而PowerDesigner則與其正好相反,它是以數據庫建模起家,后來才發展為一款綜合全面的Case工具。
PowerDesigner主要分為7種建模文件:
1. 概念數據模型 (CDM)
對數據和信息進行建模,利用實體-關系圖(E-R圖)的形式組織數據,檢驗數據設計的有效性和合理性。
2. 邏輯數據模型 (LDM)
PowerDesigner 15 新增的模型。邏輯模型是概念模型的延伸,表示概念之間的邏輯次序,是一個屬於方法層次的模型。詳細來說,邏輯模型中一方面顯示了實體、實體的屬性和實體之間的關系,還有一方面又將繼承、實體關系中的引用等在實體的屬性中進行展示。邏輯模型介於概念模型和物理模型之間,具有物理模型方面的特性,在概念模型中的多對多關系,在邏輯模型中將會以添加中間實體的一對多關系的方式來實現。
邏輯模型主要是使得整個概念模型更易於理解,同一時候又不依賴於詳細的數據庫實現,使用邏輯模型能夠生成針對詳細數據庫管理系統的物理模型。邏輯模型並非在整個步驟中必須的,能夠直接通過概念模型來生成物理模型。
3. 物理數據模型 (PDM)
基於特定DBMS,在概念數據模型、邏輯數據模型的基礎上進行設計。由物理數據模型生成數據庫,或對數據庫進行逆向project得到物理數據模型。
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...button→選擇Get/Set Operations→確定
之后生成代碼就可以:Language→Generate Java Code...
【注意:不同語言Add...button下的內容有差別,如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主鍵復選框→雙擊設置為主鍵的字段(在行的頭部雙擊)或者單擊上方的屬性圖標button→在打開的窗體下方(注意不同數據庫不一樣,sql server是identity復選框)選擇sequence,假設沒有則單擊旁邊的新建button創建一個sequence。
9. 怎樣建立視圖
工具欄中單擊視圖(view)button→創建視圖→雙擊視圖打開屬性窗體,當中Usage是表示視圖是僅僅讀的還是可更新的。假設我們僅僅創建一般的視圖,那么選擇query only選項就可以。
切換到SQL Query選項卡,在文本框中能夠設置定義視圖的sql查詢語句,在定義視圖時最好不要使用*,而應該使用各個須要的列名,這樣在視圖屬性的Columns中才干看到每一個列。單擊右下角Edit with SQL Editorbutton,就可以彈出SQL Editor編輯器,編寫SQL語句。也可採用其它sql語句生成器生成sql語句。
10. 怎樣建立索引
雙擊表打開屬性窗體→選擇Indexes選項卡→新建一索引→雙擊該索引打開屬性窗體
選擇Columns選項卡→單擊Add Columns圖標button→選擇要建立索引的字段→確定
這里Column definition就不要選了,會與主鍵沖突。
11. 怎樣建立存儲過程
工具欄中單擊Procedurebutton→創建存儲過程→雙擊存儲過程打開屬性窗體→選擇Definition選項卡,當中在下拉列表框中,有Default Procedure、Default Function這兩個選項,前者是定義過程,后者是定語函數,系統會依據選擇的類型創建SQL語句的模板→編輯存儲過程腳本。
以上就是PowerDesigner物理模型的最主要內容了,事實上這不過滄海一粟罷了,只剛剛涉及到了一個模型,還有其它好多模型值得我們學習,這里要想真的講全面的話,那一篇博文肯定容不下,須要連載了。
PowerDesigner真的非常強大,用它設計UML相同非常牛叉,大家有時間真應該好好學學這個工具怎么使,假設可能,我可能會在今后的博文中介紹下怎樣用PowerDesigner設計對象模型UML,或者搞不好真的要連載了,呵呵。那么小小期待下吧!