免费高清特黄a大片,九一h片在线免费看,a免费国产一级特黄aa大,国产精品国产主播在线观看,成人精品一区久久久久,一级特黄aa大片,俄罗斯无遮挡一级毛片

分享

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

 魚非魚 2007-08-14

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

問題的提出

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

請(qǐng)?jiān)试S我先解釋一下這個(gè)問題的概念,我們通過PowerDesigner設(shè)計(jì)oracle數(shù)據(jù)庫(kù),最后得到的腳本可以像下面這樣,其中的comment語句就是我上面指出的在oracle中保存注釋信息的腳本語句,在oracle中執(zhí)行后,可以通過查詢oracle的數(shù)據(jù)字典得到這些信息。這樣做的好處是,以后查看表結(jié)構(gòu)比較方便,不需要從數(shù)據(jù)庫(kù)文檔資料中去尋找了,對(duì)于團(tuán)隊(duì)開發(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 ‘職員編號(hào)

/

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

/

comment on column EMP.SEX is ‘性別  F:  M:

/

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

問題的解決

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

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

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

 

1

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

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

                        2

 

 

                       圖3

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

4 SQL Server 2000在數(shù)據(jù)庫(kù)中保存表和列注釋是通過調(diào)用系統(tǒng)存儲(chǔ)過程sp_addextendedproperty來做的。那么我們只需要,分別寫上

表級(jí)的注釋代碼是:
EXECUTE sp_addextendedproperty N‘MS_Description‘, N‘%COMMENT%‘, N‘user‘, N‘%OWNER%‘, N‘table‘, N‘%TABLE%‘, NULL, NULL

列級(jí)的注釋代碼是
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í)候自動(dòng)替換設(shè)計(jì)模型中替換變量的值。

 

4

 

5

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

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

 

6

7 生成建庫(kù)腳本,菜單Databases->Generate Database。在圖7所示的對(duì)話框中,注意要選中comment選項(xiàng)。點(diǎn)擊確定,就得到最終的建庫(kù)腳本。打開看看,我們看到了PowerDesinger根據(jù)我們告訴它的規(guī)則生成了對(duì)應(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,自動(dòng)增加‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Employee‘, N‘column‘, N‘EmployeeID‘

go

….

8 我們?cè)?/span>SQL Server 2000中執(zhí)行這個(gè)角本,然后通過Enterprise Manager可以看到這些注釋。

 

 

7

 

 

8

小結(jié)

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

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

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多