久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

如何讓PowerDesigner支持自動生成含SQL Server 2000的表和列注釋的...

 魚非魚 2007-08-14

PowerDesigner是Sybase公司著名的產(chǎn)品,,我從16-bit的windows開始,,就接觸并使用這個工具,應(yīng)該說是有很深的感情,。PowerDesigner是DBA和軟件架構(gòu)師設(shè)計的利器,,隨著版本的不斷升級,PowerDesigner提供了更多更強(qiáng)大的功能,。僅以本篇為開始,,向大家介紹一些PowerDesinger中的使用技巧,幫助大家更好地更有效率地使用這個CASE工具,。

問題的提出

我曾經(jīng)在很多網(wǎng)上看到有朋友問起,,在PowerDesignerPhysical Model design中,,除了Oracle外,選擇其他數(shù)據(jù)庫模型,,最后生成建數(shù)據(jù)庫腳本的時候,,不會自動生成記錄表和列注釋信息的數(shù)據(jù)庫腳本代碼。

請允許我先解釋一下這個問題的概念,,我們通過PowerDesigner設(shè)計oracle數(shù)據(jù)庫,,最后得到的腳本可以像下面這樣,其中的comment語句就是我上面指出的在oracle中保存注釋信息的腳本語句,,在oracle中執(zhí)行后,,可以通過查詢oracle的數(shù)據(jù)字典得到這些信息。這樣做的好處是,,以后查看表結(jié)構(gòu)比較方便,,不需要從數(shù)據(jù)庫文檔資料中去尋找了,對于團(tuán)隊開發(fā)來說,,有應(yīng)用的意義,。

/*===============================================*/

/* Table: EMP                                                   */

/*==============================================*/

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也有這樣的語句,但是,,大家往往發(fā)現(xiàn)選擇了數(shù)據(jù)庫模型是SQL Server,,在自動生成建庫腳本的時候,即使你選上了生成comment語句的選項,,powerdesigner也不會幫你自動生成,,是PowerDesigner不支持SQL Server么,答案顯然是否定的,。

問題的解決

PowerDesigner這個工具可以支持任何一種關(guān)系型數(shù)據(jù)庫的模型設(shè)計,,因為,在PowerDesigner中每一種數(shù)據(jù)庫模型的特性定義都存儲在一個xdb文件中,,我們可以在[PowerDesigner_Install_Home]/Resource Files/DBMS下可以找到,。當(dāng)然,我們也可以自己創(chuàng)建一個新的xdb,,定義好我們想支持的數(shù)據(jù)庫模型的特性,。明白了這一點(diǎn),這個問題的答案就顯而易見,。

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

1 從菜單TOOLS->RESOUCES->DBMS,進(jìn)入自定義數(shù)據(jù)模型,,參見圖1,。

 

1

2 PowerDesigner彈出一個對話框,,列表框中列出了當(dāng)前PowerDesigner支持的

數(shù)據(jù)庫模型(圖2)。我們選擇創(chuàng)建一個新的,。輸入名字SQL SERVER 2000(EXTENDED),,選擇從現(xiàn)有的SQL SERVER 2000復(fù)制,這樣SQL SERVER 2000(EXTENDED)就包含了原來SQL SERVER2000模型擁有的所有特征(圖3),。

                        2

 

 

                       圖3

3 接下來,,我們就需要為SQL Server 2000(Extended)添加支持自動生成表和列注釋代碼的特性。PowerDesinger把定義的特性用樹狀結(jié)構(gòu)組織了起來(4),,本篇要做的工作就是定義Script代碼特征,。我們需要修改Script\Objects\Table\TableCommentScript\Objects\Column\ColumnComment中的腳本特征代碼。

4 SQL Server 2000在數(shù)據(jù)庫中保存表和列注釋是通過調(diào)用系統(tǒng)存儲過程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%之類的就是相當(dāng)于替換變量,,PowerDesigner在生成腳本的時候自動替換設(shè)計模型中替換變量的值。

 

4

 

5

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

6 現(xiàn)在,,我們可以創(chuàng)建一個新的Physical Data Model了,數(shù)據(jù)庫模型選SQL Server 2000(Extended),。建立一個表,,需要提醒的是,一定要指定一個數(shù)據(jù)庫使用者,,一般用dbo(圖6),。我們可以為表和列都添加上注釋,。

 

6

7 生成建庫腳本,,菜單Databases->Generate Database。在圖7所示的對話框中,,注意要選中comment選項,。點(diǎn)擊確定,就得到最終的建庫腳本,。打開看看,,我們看到了PowerDesinger根據(jù)我們告訴它的規(guī)則生成了對應(yīng)的代碼

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中執(zhí)行這個角本,然后通過Enterprise Manager可以看到這些注釋,。

 

 

7

 

 

8

小結(jié)

通過這個實踐,,我們可以了解PowerDesigner是如何處理不同數(shù)據(jù)庫的SQL語法差異的,這和我們開發(fā)應(yīng)用中的參數(shù)文件的思路基本一致,。同時,,我們也應(yīng)該認(rèn)識到,,PowerDesinger的功能還是比較多和復(fù)雜的,只有熟悉這個工具的功能使用,,才能真真提高生產(chǎn)效率,。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多