總結powerdesigner使用技巧,如取消name和code的聯動,去掉雙引號等,方便中國用戶使用數據庫
本身使用的PowerDesigner版本爲16.5數據庫設計
去掉SQL中的雙引號性能
按照圖片圈出來的部分操做spa
修改配置設計
取消name和code的聯動code
依次選擇:Tools->General Operationsblog
出現下圖界面,選擇Dialog,將圖中的複選框選擇取消掉圖片
在表中顯示name和codeci
依次選擇:Tools->Display Preferencesget
出現下圖界面,選擇Table,點擊Advanced
根據圖中圈出來的部分最終肯定顯示的列和前後順序
最終的顯示結果以下:
建立的外鍵關聯不添加物理鏈接
如今一般作數據庫設計的時候再也不須要外鍵,由於外鍵會嚴重下降性能,但powerdesigner的默認配置在使用外鍵時會自動添加物理鏈接,並且刪除外鍵的時候會自動刪掉列,這讓人很痛苦,後來發現用兩種方式能夠避免此問題
1.使用外鍵-reference(實現),但不建立鏈接
PowerDesigner中配置外鍵關係時,若是要刪除配置的外鍵關係,默認設置會一同刪除外鍵列. 要更改此設置,需在菜單欄tools中打開Model Options,在Model Settings中點擊Reference, 而後把"Auto-migrate columns"這個checkbox的勾去掉,便可
2.使用追溯-traceability link(虛線),不會生成外鍵
這樣可能以往在視覺上效果不同,但我建議能夠這樣作,避免別人誤認爲導出來的腳本是含有外鍵的
將name字段值放到comment
中國用戶爲了方便理解,在name字段一般使用中文,最終還但願將中文添加到備註當中去。下面的操做步驟很是重要
1.設計表的時候先不要去添加任何字段的備註,不然一下子執行腳本將name轉換爲字段的時候會將以前的備註所有清除掉
2.執行腳本
3.添加個性化的備註,好比約定枚舉值等
版本一:name覆蓋comment
腳本內容以下:
'****************************************************************************** '* File: name2comment.vbs '* Title: Name to Comment Conversion '* Model: Physical Data Model '* Objects: Table, Column, View '* Author: steveguoshao '* Created: 2013-11-29 '* Mod By: '* Modified: '* Version: 1.0 '* Memo: Modify from name2code.vbs '****************************************************************************** Option Explicit ValidationMode = True InteractiveMode = im_Batch Dim mdl ' the current model ' get the current active model Set mdl = ActiveModel If (mdl Is Nothing) Then MsgBox "There is no current Model " ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then MsgBox "The current model is not an Physical Data model. " Else ProcessFolder mdl End If ' This routine copy name into comment for each table, each column and each view ' of the current folder Private sub ProcessFolder(folder) Dim Tab 'running table for each Tab in folder.tables if not tab.isShortcut then tab.comment = tab.name Dim col ' running column for each col in tab.columns col.comment= col.name next end if next Dim view 'running view for each view in folder.Views if not view.isShortcut then view.comment = view.name end if next ' go into the sub-packages Dim f ' running folder For Each f In folder.Packages if not f.IsShortcut then ProcessFolder f end if Next end sub
版本2:若是comment不爲空,則用name替換
Option Explicit ValidationMode = True InteractiveMode = im_Batch Dim mdl ' the current model ' get the current active model Set mdl = ActiveModel If (mdl Is Nothing) Then MsgBox "There is no current Model " ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then MsgBox "The current model is not an Physical Data model. " Else ProcessFolder mdl End If ' This routine copy name into comment for each table, each column and each view ' of the current folder Private sub ProcessFolder(folder) Dim Tab 'running table for each Tab in folder.tables if not tab.isShortcut then if trim(tab.comment)="" then'若是有表的註釋,則不改變它.若是沒有表註釋.則把name添加到註釋裏面. tab.comment = tab.name end if Dim col ' running column for each col in tab.columns if trim(col.comment)="" then '若是col的comment爲空,則填入name,若是已有註釋,則不添加;這樣能夠避免已有註釋丟失. col.comment= col.name end if next end if next Dim view 'running view for each view in folder.Views if not view.isShortcut and trim(view.comment)="" then view.comment = view.name end if next ' go into the sub-packages Dim f ' running folder For Each f In folder.Packages if not f.IsShortcut then ProcessFolder f end if Next end sub
將上面的內容保存到name2comment.vbs中
進入腳本執行界面
打開選擇腳本窗口
選擇並執行腳本
而後查看你的SQL腳本