PowerDesigner 生成數據庫方法(轉)

第一步:File菜單選中New,而後選中Physical Data Model 選項,在右方的DBMS裏面選擇要使用的數據庫,例如:sqlserver 2000   
     第二步:創建本身所須要的表結構,保存sql

     第三步:測試數據庫鏈接 DataBase菜單下的Connection,打開後,有個Modify,點擊以後,選擇數據庫,輸入用戶名和密碼,測試是否能夠鏈接數據庫

     第四步:若能夠正常鏈接後,DataBase菜單下的Generate Database ,生成SQl腳本,能夠選擇Sql腳本名稱和保存的路徑oracle

    最後,將生成的sql腳本在查詢分析器中執行,相信你們都知道,就不說了工具

問題的提出sqlserver

我曾經在不少網上看到有朋友問起,在PowerDesigner的Physical Model design中,除了Oracle外,選擇其餘數據庫模型,最後生成建數據庫腳本的時候,不會自動生成記錄表和列註釋信息的數據庫腳本代碼。測試

請容許我先解釋一下這個問題的概念,咱們經過PowerDesigner設計oracle數據庫,最後獲得的腳本能夠像下面這樣,其中的comment語句就是我上面指出的在oracle中保存註釋信息的腳本語句,在oracle中執行後,能夠經過查詢oracle的數據字典獲得這些信息。這樣作的好處是,之後查看錶結構比較方便,不須要從數據庫文檔資料中去尋找了,對於團隊開發來講,有應用的意義。spa

/*===============================================*/設計

/* Table: EMP                                                   */server

/*==============================================*/ip

create table EMP  (

   "EmpID"              NUMBER,

   "EmpName"            VARCHAR2(50),

   SEX                  CHAR(1)

)

/

comment on table EMP is '職員信息'

/

comment on column EMP."EmpID" is '職員編號'

/

comment on column EMP."EmpName" is '職員姓名'

/

comment on column EMP.SEX is '性別  F:女  M:男'

/
 


SQL Server也有這樣的語句,可是,你們每每發現選擇了數據庫模型是SQL Server,在自動生成建庫腳本的時候,即便你選上了生成comment語句的選項,powerdesigner也不會幫你自動生成,是PowerDesigner不支持SQL Server麼,答案顯然是否認的。

問題的解決

PowerDesigner這個工具能夠支持任何一種關係型數據庫的模型設計,由於,在PowerDesigner中每一種數據庫模型的特性定義都存儲在一個xdb文件中,咱們能夠在[PowerDesigner_Install_Home]/Resource Files/DBMS下能夠找到。固然,咱們也能夠本身建立一個新的xdb,定義好咱們想支持的數據庫模型的特性。明白了這一點,這個問題的答案就顯而易見。

下面我就簡單地說明一下,我使用的是PowerDesinger9.5企業版。Sybase有些簡化版本(如SQL Moduler)就不能自定義xdb,請你們注意。

1 從菜單TOOLS->RESOUCES->DBMS,進入自定義數據模型,參見圖1。

 

 

圖1

 

2 PowerDesigner彈出一個對話框,列表框中列出了當前PowerDesigner支持的

數據庫模型(圖2)。咱們選擇建立一個新的。輸入名字SQL SERVER 2000(EXTENDED),選擇從現有的SQL SERVER 2000複製,這樣SQL SERVER 2000(EXTENDED)就包含了原來SQL SERVER2000模型擁有的全部特徵(圖3)

 圖2

 

 

 

                       圖3

3 接下來,咱們就須要爲SQL Server 2000(Extended)添加支持自動生成表和列註釋代碼的特性。PowerDesinger把定義的特性用樹狀結構組織了起來(圖4),本篇要作的工做就是定義Script代碼特徵。咱們須要修改Script\Objects\Table\TableComment和Script\Objects\Column\ColumnComment中的腳本特徵代碼。

4 SQL Server 2000在數據庫中保存表和列註釋是經過調用系統存儲過程sp_addextendedproperty來作的。那麼咱們只須要,分別寫上

表級的註釋代碼是:
EXECUTE sp_addextendedproperty N'MS_Description', N'%COMMENT%', N'user', N'%OWNER%', N'table', N'%TABLE%', NULL, NULL

列級的註釋代碼是
EXECUTE sp_addextendedproperty N'MS_Description', N'%COMMENT%', N'user', N'%OWNER%', N'table', N'%TABLE%', N'column', N'%COLUMN%'
 


你們看看這些代碼,馬上就明白是怎麼回事了(圖5)。%COMMENT%之類的就是至關於替換變量,PowerDesigner在生成腳本的時候自動替換設計模型中替換變量的值。

 

 

圖4

 

圖5

5 保存SQL Server 2000(Extended)成一個xdb文件。

6 如今,咱們能夠建立一個新的Physical Data Model了,數據庫模型選SQL Server 2000(Extended)。創建一個表,須要提醒的是,必定要指定一個數據庫使用者,通常用dbo(圖6)。咱們能夠爲表和列都添加上註釋。

 

 

圖6

7 生成建庫腳本,菜單Databases->Generate Database。在圖7所示的對話框中,注意要選中comment選項。點擊肯定,就獲得最終的建庫腳本。打開看看,咱們看到了PowerDesinger根據咱們告訴它的規則生成了對應的代碼

EXECUTE sp_addextendedproperty N'MS_Description', N'僱員信息', N'user', N'dbo', N'table', N'Employee', NULL, NULL

go

EXECUTE sp_addextendedproperty N'MS_Description', N'主鍵ID,自動增長', N'user', N'dbo', N'table', N'Employee', N'column', N'EmployeeID'

go

….
 


8 咱們在SQL Server 2000中執行這個角本,而後經過EntERPrise Manager能夠看到這些註釋。

 

 

圖7

 

 

圖8

小結

經過這個實踐,咱們能夠了解PowerDesigner是如何處理不一樣數據庫的SQL語法差別的,這和咱們開發應用中的參數文件的思路基本一致。同時,咱們也應該認識到,PowerDesinger的功能仍是比較多和複雜的,只有熟悉這個工具的功能使用,才能真真提升生產效率。

相關文章
相關標籤/搜索