PowerDesigner使用教程

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,或者搞很差真的要連載了,呵呵。那麼小小期待下吧!


基礎部分:


 

首先咱們須要建立一個測試數據庫,爲了簡單,咱們在這個數據庫中只建立一個Student表和一個Major表.其表結構和關係以下所示.

看看怎樣用PowerDesigner快速的建立出這個數據庫吧.

1.如今開始使用PowerDesigner建立數據庫,首先運行程序,進入主界面:

2.File—New Model—Physical Data Model—Physical Diagram—Model name 設置爲test,DBMS屬性設置爲Microsoft SQL Server 2005:

3.首先用表格工具建立一個表格模板:

4.雙擊表格模板,設置屬性,咱們首先設置Major表:

5.設置好表名,點擊Columns標籤,設置字段屬性,設置如圖所示:

6.由於MajorID字段咱們要設置爲自動增加,因此要設置它的高級屬性,選擇MajorID字段,點擊屬性按鈕,在General面板中勾選上Identity複選框:

7.肯定後咱們再建立一個Student表,字段設置如圖所示:

8.接着是爲Student建立一個MajorID外鍵,使用PowerDesigner能夠很輕鬆的完成這個工做,選擇關係設置工具,在Student表上按住左鍵不放,拖拽至Major表,即可爲Student表添加一個MajorID的外鍵:

9.哈哈,如今測試表已經設置好了,接着設置一下咱們要生成的數據庫吧,這些表都將被建立到該數據庫中,咱們在設計面板空白處右鍵—Properties,在彈出的屬性設置對話框設置以下:

 

10好了,在此咱們對新數據庫的設置已經完成,可是在SQL中仍是空空如也啊,咱們要怎麼把這邊設計好的結構移植到SQLServer 2005中呢?執行操做:Database—Generate Database,設置好存儲過程導出目錄和文件名,點擊肯定便可:

11.到你的導出目錄,就能夠看見導出的數據庫建立存儲過程了,打開SQL,執行一下,你就會看到數據庫被神奇的建立好了:

12.好了,數據庫的準備工做作好了,下一篇咱們就將使用該數據庫結合CodeSmith自動批量生成代碼啦~

上述實踐中生成的源代碼:

複製代碼
/* ============================================================== */
/*  Database name: PD_test  */
/*  DBMS name: Microsoft SQL Server 2005  */
/*  Created on: 2010/6/13 星期日 17:27:17  */
/* ============================================================== */


drop database  PD_test
go

/* ============================================================== */
/*  Database: PD_test  */
/* ============================================================== */
create database  PD_test
go

use  PD_test
go

/* ============================================================== */
/*  Table: Major  */
/* ============================================================== */
create table  Major (
MajorID 
int identity ,
Name 
nvarchar ( 20 not null ,
Remark 
nvarchar ( Max null ,
constraint  PK_MAJOR  primary key  (MajorID)
)
go

/* ============================================================== */
/*  Table: Student  */
/* ============================================================== */
create table  Student (
StudentID 
nvarchar ( 20 not null ,
MajorID 
int null ,
Name 
nvarchar ( 20 not null ,
Sex 
bit not null ,
Age 
int null ,
Remark 
nvarchar ( Max null ,
constraint  PK_STUDENT  primary key  (StudentID)
)
go

alter table  Student
add constraint  FK_STUDENT_REFERENCE_MAJOR  foreign key  (MajorID)
references  Major (MajorID)
go
複製代碼
相關文章
相關標籤/搜索