PowerDesigner實用技巧小結(3)
1、PowerDesigner 使用 MySQL 的 auto_increment
◇問題描述:
PD怎樣能使主鍵id使用MySQL的auto_increment呢?
◇解決方法:
開啟tableproperties視窗→columns→選中id列→開啟columnsproperties視窗→勾選identity即可
注意:概念模型沒有此選項,物理模型才有
2、PowerDesigner 去掉 SQL 指令碼中的雙引號
◇問題描述:
PD生成Oracle資料庫建表SQL時,預設會給表名和欄位名加上雙引號,怎樣能去掉SQL指令碼中的雙引號呢?
◇解決方法:
選擇Database->Edit current database->Script->Sql->Format,有一項CaseSensitivityUsingQuote,它的 comment為"Determines if the case sensitivity for identifiers is managed using double quotes",表示是否適用雙引號來規定識別符號的大小寫, 可以看到右邊的values預設值為"YES",改為"No"即可!
或者在開啟pdm的情況下,進入Tools-Model Options-Naming Convention,把Name和Code的標籤的Charcter case選項設定成Uppercase就可以。
3、PowerDesigner 生成S QL 語句時不使用 Domain
◇問題描述:
如果在PD中使用了Domain,生成SQLServer的資料庫SQL的指令碼中會使用與Domain對應的自定義資料型別,而不會使用SQLServer自己的資料型別,怎樣能讓PD生成SQL語句時使用SQLServer自己的資料庫型別,而不是Domain對應的自定義資料型別呢?
◇解決方法:
把Database→EditCurrentDBMS→General→Script→Objects→Domain→Enable設定為NO即可
4、PowerDesigner 中設定 Entity 的預設字型
◇問題描述:
建立Entity時,如果PD預設字型不適合自己的個人習慣,每次建立了一個實體後都要修改實體的字型,非常麻煩,是否有隻修改一次一勞永逸的方法呢?
◇解決方法:
Tools→DisplayPreferences...→Format→Entity→Modity...→Font→進行相應修改並儲存設定→SetAsDefault
5、PowerDesigner中設定 Entity 自動調整尺寸大小
◇問題描述:
當給Entity添加了欄位或其他修改時,Entiry的顯示尺寸大小不會自動調整,怎樣解決呢?
◇解決方法:
在Entity上點選右鍵→單擊Format...選單項→選擇size標籤頁→勾選Autoadjusttotext即可
6、PowerDesigner 中設定表格屬性 preview
◇問題描述:
點選表格屬性preview生成的sql語句要怎麼修改個,怎樣解決呢?
◇解決方法:
在選擇的table上點選右鍵→單擊properties...選單項→選擇physicaloptions就可以設定,設定完再點選左下角的applyto
在preview選項裡面最上面的工具欄,點選showgenerationoptions可以設定其它生產sql語法的格式。
A table should contain at least one column, one index, one key, and one reference.
可以不檢查 Existence of index 這項,也就沒有這個警告錯誤了!
意思是說沒有給表建立索引,而一個表一般至少要有一個索引,這是一個警告,不用管也沒有關係!
PDM Generation Options->Detail->FK index names預設是%REFR%_FK,改為FK_%REFRCODE%,
其中%REFRCODE%指的就是CDM中Relationship的code!另外自動生成的父欄位的規則是
PDM Generation Options->Detail->FK column name template中設定的,預設是%.3:PARENT%_%COLUMN%,
可以改為Par%COLUMN%表示是父欄位!
9、PowerDesigner 生成 SQL 時報錯
◇問題描述:
生成sql的方法是 Database -->Generate Database (Ctrl + G ) 但是提示
Could not load VBScript engine.
Check VBScript installation.
Generation aborted due to errors detected during the verification of the model.
◇解決方法:
檢查了好久 發現將check model 去掉就可以了!其中,
one file on是否需要按照表生成許多個sql(預設選上,即不需要)
odbc generation sql直接生成到資料庫中
Automatic archive 生成sql同時生成apm檔案。
check model
powerdesigner有定義每種資料庫的表名、欄位名等名字的最大長度的,該長度用於powerdesigner作check model的,但是該定義的長度
和資料庫實際允許的長度不一定相同,如果你希望能通過pd的檢查,可以修改pd中的設定(pd對不同資料庫的這種約定實際是在儲存在一個xml檔案中
,副檔名為.xdb)!或者你可以直接在生成資料庫時選擇不check model.
估計pd給出的預設名字長度少於資料庫允許長度是給出一種命名習慣,命名不要太長。
即檔案:C:\Program Files\Sybase\PowerDesigner Trial 11\Resource Files\Report Languages\Chinese.xrl
Tools-Resources-Report Languages-選擇Chinese-單擊Properties或雙擊目標
修改某些物件的名稱:Object Attributes\Physical Data Model\Column\
ForeignKey:外來鍵
Mandatory:為空
Primary:主鍵
Table:表
用查詢替換,把"表格"替換成"表"
修改顯示的內容為別的:Values Mapping\Lists\Standard,新增TRUE的轉化列為是,FALSE的轉化列為空
另外Report-Title Page裡可以設定標題資訊
Script-Objects-Column-Add的Value中開頭增加一行"--%COLNNAME%"以便在指令碼中顯示列的中英文對照 12、允許不同實體存在同名屬性 model options中,將資料項的唯一程式碼和允許重用兩個選項去掉。否則不同實體中的同名屬性會被認為是同一個資料物件, 改一個另外的也會跟著改 。大多數情況下都不需要這種特性,相反它會帶來麻煩。 但是,如果允許不同的表有相同的欄位名, 在建立檢視的時候,需要為重複的欄位名指定別名。 有利有弊啊。 13、將CDM設計的實體在PDM中不生成表 在實體的General選項中,去掉Generate選項,不知PDM中是否也是這樣,需驗證。 14、一個表關聯的表非常多 在物理模型中,對於一個關聯非常多的表,可以使用Ctrl+M 建立這個表的多個快捷方式,然後使用Ctrl+滑鼠拖動已有的聯接矛點. 15、一次鍵入非常多的物件 如果需要一次性加入多個相同型別的物件,可以在左側的視窗右擊模型名稱,選擇List of 想要加入的物件,這樣就可以在一個列 表中使用向下鍵加入了,也可以方便的copy和paste. 使用模型check的功能,可以自動檢查模型存在的一些問題,並可以選擇自動修正操作. 有時PowerDesigner自動生成的唯一約束Key會重複,並且重複的key有時不能夠全部被check出來,需要手動修改. 16、編輯檢視刪除無用欄位 在編輯檢視時,column標籤頁中不能刪除無用的欄位,只能進入SQL Query頁進行編輯,同時,在column頁更改欄位的順序也 無法在實際SQL中生效. 當在SQL Query的欄位列表中使用as語法時,有時更改as後面的列名不能在Column頁中進行同步,導致建立檢視中實際的 列名與想要的不一致.可以通過檢查 Preview標籤,比較快速的判斷是否有這種情況發生,當有不一致時,Preview中的sql會使用這樣的格式: create or replace view v1(column1, column2, ..., columnN) as ... / 如果沒有不一致,則不會生成括號部分. 17、檢視在資料庫中的建立順序 定義的檢視可能互相之間會有引用關係,必須嚴格的按先後順序建立,否則會出錯,但powerDesigner在生成檢視sql時不能指定 先後順序,是以檢視名稱來安排生成順序的. 如果在oracle中,可以指定檢視的屬性 force 為true, 這樣建立檢視引用的物件即使不存在也不會報錯. 18、改變Diagram 的顯示格式 在Diagram的tables 中顯示Schema Tools -> Display Preferences -> Object view -> Table,選中 Owner. 預設地, 這隻改變當前的diagram,如果希望一起變更其他已經建立的diagrams,點選左下角的 Apply To按鈕,然後選擇 希望變更的diagrams。如果希望這個變更對所有新建的diagram都有效,就點選按鈕Set As Default。 預設的References 線條很難看 Tools -> Display Preferences -> Format -> Reference,點選Modify,Line Style. -> Corners,選擇第二個或者 第三個折線格式,OK退出。表的列數太多,導致diagram中物件太長 Tools -> Display Preferences -> Object view -> Table -> Table Columns,uncheck All Columns,選擇Limit, 數值用10或者20。也可以選擇PK Columns 只顯示primary keys,或者選擇Key Columns 只顯示primary keys, foreign keys, alt keys等keys。把整個diagram 或者部分匯出為圖形檔案 選擇要匯出的物件(用shift多選,或者滑鼠劃亮多個) ,如果匯出整個diagram就Ctrl+A,然後Edit -> Export Image, 檔案型別選擇jpeg或者png,儲存。 同時修改多個物件格式 如果使用shift鍵選中多個,然後右鍵->Format,不會同時修改多個物件。但選中多個後,使用Ctrl+T快捷鍵卻可以。 設定命名轉換 設定概念模型Entry只顯示主鍵 設定允許Relationship code重名 設定改面模型允許Data Item Reuse Data Item 似乎是版本11帶來的功能,原來9.5版本的模型沒有這個選項 可以在不同的表之間Reuse Data Item(Column),這樣可以實現一處修改,到處生效。 Reused Data Item,一個表中修改非空約束,不會反映到其它表。
可以在List Of Data Item檢視中刪除重複的專案。
19、PowerDesigner 在設計時,如何顯示錶中的註釋選項
選定一個編輯的表,右鍵- >Properties- >Columns- >Customize Columns and Filter(或直接用快捷鍵Ctrl+U)- >Comment(前面打勾)- >OK