国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 數(shù)據(jù)庫(kù) > SQL Server > 正文

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

2024-08-31 00:48:22
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

翁 彥

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)上看到有朋友問起,在powerdesigner的physical 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語(yǔ)句就是我上面指出的在oracle中保存注釋信息的腳本語(yǔ)句,在oracle中執(zhí)行后,可以通過查詢oracle的數(shù)據(jù)字典得到這些信息。這樣做的好處是,以后查看表結(jié)構(gòu)比較方便,不需要從數(shù)據(jù)庫(kù)文檔資料中去尋找了,對(duì)于團(tuán)隊(duì)開發(fā)來(lái)說,有應(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也有這樣的語(yǔ)句,但是,大家往往發(fā)現(xiàn)選擇了數(shù)據(jù)庫(kù)模型是sql server,在自動(dòng)生成建庫(kù)腳本的時(shí)候,即使你選上了生成comment語(yǔ)句的選項(xiàng),powerdesigner也不會(huì)幫你自動(dòng)生成,是powerdesigner不支持sql server么,答案顯然是否定的。

問題的解決

powerdesigner這個(gè)工具可以支持任何一種關(guān)系型數(shù)據(jù)庫(kù)的模型設(shè)計(jì),因?yàn)?,在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)就包含了原來(lái)sql server2000模型擁有的所有特征(圖3)。



                        圖2

 

 



                       圖3

3 接下來(lái),我們就需要為sql server 2000(extended)添加支持自動(dòng)生成表和列注釋代碼的特性。powerdesinger把定義的特性用樹狀結(jié)構(gòu)組織了起來(lái)(圖4),本篇要做的工作就是定義script代碼特征。我們需要修改script/objects/table/tablecomment和script/objects/column/columncomment中的腳本特征代碼。

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


表級(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è)趕ql server 2000中執(zhí)行這個(gè)角本,然后通過enterprise manager可以看到這些注釋。

 



 

圖7

 



 

圖8

小結(jié)

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

 
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 息烽县| 礼泉县| 汝城县| 江西省| 阿尔山市| 廉江市| 平罗县| 昌黎县| 宜兴市| 集安市| 溧水县| 南岸区| 大名县| 日喀则市| 昌黎县| 北京市| 来凤县| 拜泉县| 嘉峪关市| 周至县| 崇州市| 广南县| 襄垣县| 湟源县| 郁南县| 巴彦淖尔市| 南城县| 延寿县| 平邑县| 永仁县| 佛学| 无棣县| 孙吴县| 安化县| 本溪| 湛江市| 拉孜县| 尚义县| 讷河市| 英吉沙县| 黔西|