PowerDesign的使用主要是DBMS的配置
1、修改建表腳本生成規則。如果每個(gè)表格都有相同的字段,可以如下修改:
Database -> Edit Current DBMS 展開(kāi) Script -> Object -> Table -> Create 見(jiàn)右下的Value值,可以直接修改如下:/* tablename: %TNAME% */
create table [%QUALIFIER%]%TABLE% (
%TABLDEFN%
ts char(19) null default convert(char(19),getdate(),20),
dr smallint null default 0
)
[%OPTIONS%]
其中的 ts、dr 兩列會(huì )在生成SQL腳本的時(shí)候自動(dòng)的插入每個(gè)表格中,其中的%TNAME% 變量是給每個(gè)表格的SQL添加一個(gè)該表的Name值注釋。
2、修改字段生成規則。要給每個(gè)字段都添加一個(gè)注釋的話(huà),同一窗口中展開(kāi) Script -> Object -> Column -> Add 的 Value修改為:
%20:COLUMN% [%COMPUTE%?AS (%COMPUTE%):%20:DATATYPE% [%IDENTITY%?%IDENTITY%:[%NULL%][%NOTNULL%]][ default %DEFAULT%]
[[constraint %CONSTNAME%] check (%CONSTRAINT%)]]/*%COLNNAME%*/
其中的%COLNNAME%就是列的Name值(可以是中文)
3、修改外鍵命名規則。選擇Database—>Edit Current DBMS
選擇Scripts-》Objects-》Reference-》ConstName
可以發(fā)現右側的Value為:
FK_%.U8:CHILD%_%.U9:REFR%_%.U8:PARENT%
可見(jiàn),該命名方法是:'FK_'+8位子表名+9位Reference名+8位父表名,你可以根據這中模式自定義為:
FK_%.U7:CHILD%_RELATIONS_%.U7:PARENT%,
可以使FK名稱(chēng)變?yōu)镕K_TABLE_2_RELATIONS_TABLE_1
掌握這種方法后就可以按照自己的想法修改了
生成建庫腳本SQL文件中的表頭注釋很討厭,可以在 Databse -> Generate Database (Ctrl+G)窗口中,選擇Options卡片,去掉Usage的Title鉤選項即可。
4、添加外鍵
Model -> References新建一條外鍵后,雙擊進(jìn)入外鍵屬性,在“Joins”卡片中可以選擇子表的外鍵字段
5、去掉生成的SQL腳本雙引號的問(wèn)題:ORACLE 8I2::Script\Sql\Format\CaseSensitivityUsingQuote改成No,默認是Yes所以會(huì )有雙引號。
在修改name的時(shí)候,code的值將跟著(zhù)變動(dòng),很不方便。修改方法:PowerDesign中的選項菜單里修改,在[Tool]-->[General Options]->[Dialog]->[Operating modes]->[Name to Code mirroring],這里默認是讓名稱(chēng)和代碼同步,將前面的復選框去掉就行了。
6、有關(guān)Powerdesgner數據模型設計中,屬性名同名問(wèn)題的解決方法
PowerDesigner默認在CDM中不能存在相同名稱(chēng)的實(shí)體屬性,這也是考慮到可能產(chǎn)生的一些如主鍵外鍵等名稱(chēng)沖突問(wèn)題,但當我們進(jìn)行實(shí)際數據庫設計時(shí),可能會(huì )多次使用相同數據項(DataItem)便于理解各實(shí)體。為此需要對更改PowerDesigner相關(guān)設置。軟件默認為DataItem不能重復使用(重名),需要進(jìn)行以下操作:
選擇Tools->Model Options,在Model Setting設置目錄中,將Data Item下的Unique Code取消選中即可,系統默認將Unique Code和Allow Reuse均選中。
同時(shí)該設置均是面向特定模型的,即針對當前模型有效,若希望在其它模型中也有此命名設置,則需要重新進(jìn)行設置。不過(guò)在Check Model時(shí),如果選擇全部Check,則依舊會(huì )報DataItem重名的錯誤信息,這時(shí)需要我們在人為檢查確認數據項無(wú)誤時(shí),可以在選擇不對DataItem不檢查,各種數據類(lèi)型對應匹配(這里只給出與SQL Server中的常用對應類(lèi)型,其它DBMS可以使用類(lèi)似處理)