PowerDesigner實(shí)用的幾個(gè)小技巧
name和code同步更新問題
在顯示的視圖里,顯示的是name,code對應(yīng)的是數(shù)據(jù)庫實(shí)際的列或表,由于中文使用的問題,通常是name里填中文意思,code填英文的列名(一般不會用中文來命名列名)。在編輯Name的時(shí)候,Code就自動更新為Name中相同的值,這顯示不是我們期望的,設(shè)置的方法是Tools=>General Options=>Dialog中的Name To mirroing復(fù)選框把勾去掉即可。
反向得到中文注釋的表名和列名
如果不使用反向工程的話,一般PDM的更新在開發(fā)過程中會成為一個(gè)負(fù)擔(dān),尤其是表較多,有一定更新頻率的時(shí)候。現(xiàn)實(shí)中有的情況就是PDM只在設(shè)計(jì)時(shí),在軟件開發(fā)后期和維護(hù)過程中,就不在進(jìn)行更新了。反向的操作是在File=》Revers Engnieer=>Database中進(jìn)行,可以按照數(shù)據(jù)創(chuàng)建的sql在反向,也可以直接連接到數(shù)據(jù)庫進(jìn)行反向。
默認(rèn)反向過來的name和code是相同的,這肯定無法滿足現(xiàn)實(shí)的要求。通常先進(jìn)行了數(shù)據(jù)庫設(shè)計(jì),生成了PDM,中文注釋已寫好了,不可能反向回來,name又變成英文的了。這里需要做的就是更改配置,操作的地方在Tools=>Resources=>DBMS里,打開后會出現(xiàn)所有內(nèi)置的DBMS的不同廠商的不同版本的產(chǎn)品,可以直接更改其屬性,但最好還是以某一個(gè)為模板新增一個(gè)自己使用的DBMS。
建好后,在配置窗體的Script的Column下,如下圖Column的節(jié)點(diǎn)的Commnet定義了一些系統(tǒng)內(nèi)置的常量,具體做什么用可以接著往下看。
在Column里找到SqlListQuery,Value中最上面用大括號括起來的,就是一些內(nèi)置的變量,對應(yīng)數(shù)據(jù)庫列的參數(shù),下面的sql就是怎么去取的相應(yīng)的值到變量中去(如sys.all_tab_columns )。在變量列表中COMMENT(注釋)前增加COLNNAME(表示列的Name字段),然后下面sql的對應(yīng)順序的位置增加m.comments即可。同樣的在Script的Table節(jié)點(diǎn)的SqlListQuery中進(jìn)行更改即可:
{OWNER, TCODE,TLABL,TNAME}
select
t.owner,
t.table_name,
p.comments,
p.comments
from
sys.all_all_tables t,
sys.all_tab_comments p
where
not exists (select 1 from sys.all_mviews s where s.owner = t.owner and t.table_name in (s.mview_name, s.update_log))
and t.iot_name is null
and nvl(t.dropped, 'NO') = 'NO'
and t.TABLE_NAME= p.table_name
and t.owner = p.owner
[ and t.table_name=%.q:TABLE%]
[ and t.owner=%.q:SCHEMA%]
order by
t.owner, t.table_name
最終效果如下,正是我們想要的。
PDM的更新和維護(hù)
有了以上內(nèi)容,要維護(hù)PDM就比較好辦了,操作時(shí)在Database的Generate Database、Apply Mode to Database、Update Model from Database。第一種相當(dāng)于初始化操作,生成的sql語句里會先drop掉表,再create表,第二種就是根據(jù)差異來更新數(shù)據(jù)庫,第三種就是從數(shù)據(jù)庫得到Model里。
發(fā)布為HTML格式
做好的數(shù)據(jù)庫設(shè)計(jì)當(dāng)然不是只給自己看的,設(shè)計(jì)、開發(fā)、測試人員都可以參考,但有時(shí)候?qū)Ψ诫娔X上不一定會安裝PowerDesign,如測試人員那就一般不會去安裝。這時(shí)候,我們可以發(fā)布為HTML格式的文檔給對方,操作是Report菜單中,按照向?qū)б徊讲絹砭托辛恕?/p>
設(shè)置自己的樣式
做程序員的有時(shí)還真的鍛煉下自己的美感,搞點(diǎn)DIY,PDM也最好可以弄成統(tǒng)一的風(fēng)格,比如一個(gè)公司內(nèi),一個(gè)大的團(tuán)隊(duì)內(nèi)。這樣就能形成鮮明特色,如淘寶UED Team做的PPT就有自己的一套風(fēng)格。我用的是青花瓷和玉白色,這也是我們公司產(chǎn)品的主色調(diào),青色象征著堅(jiān)強(qiáng)、希望、古樸和莊重。






浙公網(wǎng)安備 33010602011771號