PowerDesigner小技巧
1. 附加:工具欄不見了
調(diào)色板(Palette)快捷工具欄不見了
PowerDesigner 快捷工具欄 palette 不見了,怎么重新打開,找回來呢
上網(wǎng)搜索了一下”powerdesigner 圖形工具欄”,找到了找回PowerDesigner工具欄palette的方法
Tools(工具欄)
customsize toolbars(自定義工具欄)
palette(調(diào)色板)勾選
?
2. 修改外鍵命名規(guī)則
選擇Database—>Edit Current DBMS
選擇Scripts-》Objects-》Reference-》ConstName
可以發(fā)現(xiàn)右側(cè)的Value為:
FK_%.U8:CHILD%_%.U9:REFR%_%.U8:PARENT%
可見,該命名方法是:'FK_'+8位子表名+9位Reference名+8位父表名,你可以根據(jù)這中模式自定義為:
FK_%.U7:CHILD%_RELATIONS_%.U7:PARENT%,
可以使FK名稱變?yōu)镕K_TABLE_2_RELATIONS_TABLE_1
掌握這種方法后就可以按照自己的想法修改了
生成建庫腳本SQL文件中的表頭注釋很討厭,可以在 Databse -> Generate Database (Ctrl+G)窗口中,選擇Options卡片,去掉Usage的Title鉤選項即可。
3.?添加外鍵
Model -> References新建一條外鍵后,雙擊進入外鍵屬性,在“Joins”卡片中可以選擇子表的外鍵字段
?
4. 如何實現(xiàn)Name和code不自動相等
如何實現(xiàn)在CDM中創(chuàng)建Entity時,Name和Code不自動對應(yīng)
設(shè)置tools--Gerneral options--->dialog---->name to code mirroring
?
5. 如何把NAME 列在 scrip里顯示出來
修改字段生成規(guī)則。要給每個字段都添加一個注釋的話,同一窗口中展開 Script -> Object -> Column -> Add 的 Value修改為:
%20:COLUMN% [%COMPUTE%?AS (%COMPUTE%):%20:DATATYPE% [%IDENTITY%?%IDENTITY%:[%NULL%][%NOTNULL%]][ default %DEFAULT%]
???? [[constraint %CONSTNAME%] check (%CONSTRAINT%)]]
其中的%COLNNAME%就是列的Name值(可以是中文)
?
6. POWERdESIGEN 自增長列的設(shè)置
PDM里查看表的屬性,Columns選項卡,選中整列,查看列屬性,點左上方的properties圖標(biāo)(有手形圖案的那個),此時打開一個設(shè)置窗口,General選項卡里面進行設(shè)置.?
在列屬性的General標(biāo)簽頁里有個Identity復(fù)選框,勾上就行了
?
7.? 如何在PowerDesigner下建索引
1 雙擊表設(shè)計圖,出來Table Properties,在Tab 頁中選擇 Indexes
2 單擊新建索引的屬性,出現(xiàn)Indexex Properties
3 增加一個索引包含的字段
?
8. 如何在PowerDesigner 下建自增列
使用SqlServer 數(shù)據(jù)庫中的下列語句來完成
建表語句中,在要做為自增列的字段中,加上如下
IDENTITY(1,1)
還有可以使用下面語句,重置自增種子
dbcc checkident(ConfigSys,reseed,0);
9. 如何在PowerDesigner 下檢查設(shè)計模型
1 在菜單欄中選擇 Tools -? Check Model, 如下圖
2 選擇要檢查的每項設(shè)置
3 確定后,將出來檢查結(jié)果匯總信息
?
10. 設(shè)置CDM生成PDM時的錯誤檢查
Tools --> Check Model
?
11. 如何防止一對一的關(guān)系生成兩個引用(外鍵)
要定義關(guān)系的支配方向,占支配地位的實體(有D標(biāo)志)變?yōu)楦副怼?br />在cdm中雙擊一對一關(guān)系->Detail->Dominant role選擇支配關(guān)系
?
12. PowerDesigner8中的CDM設(shè)計的外鍵作主鍵的問題
兩個實體之間是一對一的關(guān)系。兩個實體的標(biāo)識符是“一樣的”--但是好像CDM中不允許相同。這樣的情況怎么處理?
CDM里好像沒有外鍵,我是說轉(zhuǎn)換成PDM之后,外鍵又要做表的主鍵,在對應(yīng)的CDM里是怎么設(shè)置的?
雙擊關(guān)系,在彈出的Relationship Properties窗口中選擇Detail選項,然后將Dependent復(fù)選框選中,即可
?
13. 禁止根據(jù)name自動輸入code
Tools --> General Options --> Dialog --> 取消選中Name to Code mirroring
?
14。使用PowerDesigner檢查數(shù)據(jù)庫設(shè)計錯誤~
PowerDesigner 還可用于快速檢測新模型中的數(shù)據(jù)庫設(shè)計錯誤。
檢查新的模式:
從 [Tools] 菜單中選擇 [Check Model]。
此時,就會出現(xiàn) [Check Model Parameters] 對話框。可以使用缺省參數(shù)。
另外也可以直接在空白處單擊右鍵,選擇Check Model...即可,我一般喜歡這樣用。
單擊 [確定]。
此時,在 [Result List] 中就會顯示 [Check Model] 的結(jié)果。
?
15。如何將Conceptual Data Model (CDM)轉(zhuǎn)換成Physical Data Model(PDM)?
即將概念數(shù)據(jù)模型轉(zhuǎn)換成物理數(shù)據(jù)模型。
二者的區(qū)別是,CDM是純粹概念上的模型,PDM是和具體的數(shù)據(jù)庫類型相關(guān)的,比如SQL Server 2000或者Oracle。生成SQL語句當(dāng)然也就需要從PDM生成。
在菜單上選擇Tools -> Generate Phisical Data Model
最后選擇你的數(shù)據(jù)庫類型,即可。
?
16。使用PowerDesigner生成SQL語句~
可以使用 PowerDesigner 生成一個 SQL 腳本,該腳本用于實施模型的所有組件。然后,使用 SQL 腳本生成一個數(shù)據(jù)庫。
這時候要確保你用的是PDM。
生成 SQL 腳本以新建數(shù)據(jù)庫:
從 [Database] 菜單中選擇 [Generate Database]。
此時,就會出現(xiàn) [Database Generation] 對話框
在 [Directory] 字段中鍵入 c:Temp,并在 [File Name] 字段中鍵入 NewDemo.sql。
確保選中了 [ Generation]。
單擊 [Database] 選項卡,并確保選中了 [Create Database]。
瀏覽其它選項卡,以查看控制所生成腳本的許多其它屬性的選項。
單擊 [確定]。
創(chuàng)建腳本后,就會出現(xiàn) [Result] 對話框。
?
17。為什么出現(xiàn)Warning : table Existence of index 表名 ?
說明該表沒有建立索引。不過這是一個警告,不是錯誤,可以不用理會它。
?
18。如何建立聯(lián)合主鍵?
聯(lián)合主鍵就是一個表里面有多個主鍵,比如一份學(xué)生選課的表里面,學(xué)生ID和課程ID就同時是主鍵。
在設(shè)置Attributes,把2個字段的P那項都勾上,P表示Primary Key主鍵。
?
19。如何建立外鍵Foreign Key?
在PowerDesigner中,通過建立關(guān)系Relationship就可以自動建立外鍵,不需要手動添加。
而建立Relationship有2種辦法:可以通過菜單選擇Model -> Relationships...,也可以通過在右邊的工具欄中拖拽Relationship控件。
?
20。如何生成數(shù)據(jù)字典?
通過菜單Report -> Report Wizard...可以生成
注意可以選擇Template.因為我是通過PDM生成,所以選擇了Standard Physical Template~
1、安裝PD v11.0版
2、由生成建表腳本時,字段超過15字符就發(fā)生錯誤()
原因未知,解決辦法是打開PDM后,會出現(xiàn)Database的菜單欄,進入Database - Edit Current DBMS -script-objects-column-maxlen,把value值調(diào)大(原為30),比如改成60。出現(xiàn)表或者其它對象的長度也有這種錯誤的話都可以選擇對應(yīng)的objects照此種方法更改!
或者使用下面的這種方法:
生成建表腳本時會彈出Database generation提示框:把options - check model的小勾給去掉,就是不進行檢查(不推薦)!
或者可以修改C:/Program Files/Sybase/PowerDesigner Trial 11/Resource Files/DBMS/oracl9i2.xdb文件
修改好后,再cdm轉(zhuǎn)為pdm時,選擇“Copy the DBMS definition in model”把把這個資源文件拷貝到模型中。
3、生成的建表腳本中如何把對象的雙引號去掉?
打開cdm的情況下,進入Tools-Model Options-Naming Convention,把Name和Code的標(biāo)簽的Charcter case選項設(shè)置成Uppercase或者Lowercase,只要不是Mixed Case就行!
或者選擇Database->Edit current database->Script->Sql->Format,有一項CaseSensitivityUsingQuote,它的 comment為“Determines if the case sensitivity for identifiers is managed using double quotes”,表示是否適用雙引號來規(guī)定標(biāo)識符的大小寫,可以看到右邊的values默認值為“YES”,改為“No”即可!
或者在打開pdm的情況下,進入Tools-Model Options-Naming Convention,把Name和Code的標(biāo)簽的Charcter case選項設(shè)置成Uppercase就可以!
4、建立一個表后,為何檢測出現(xiàn)Existence of index的警告
A table should contain at least one column, one index, one key, and one reference.
可以不檢查 Existence of index 這項,也就沒有這個警告錯誤了!
意思是說沒有給表建立索引,而一個表一般至少要有一個索引,這是一個警告,不用管也沒有關(guān)系!
5、創(chuàng)建一個表在修改字段的時候,一修改name的內(nèi)容,code也跟著變化,如何讓code不隨著name變化
Name和Code 的右側(cè)都有一個按鈕“=”,如果需要不同步的話,把這個按鈕彈起來就可以了。
Tools->General Options->Dialog->Name to Code Mirroring (去掉)
6、由CDM生成PDM時,自動生成的外鍵的重命名
PDM Generation Options->Detail->FK index names默認是%REFR%_FK,改為FK_%REFRCODE%,其中%REFRCODE%指的就是CDM中Relationship的code!另外自動生成的父字段的規(guī)則是PDM Generation Options->Detail->FK column name template中設(shè)置的,默認是%.3:PARENT%_%COLUMN%,可以改為Par%COLUMN%表示是父字段!
7、如何防止一對一的關(guān)系生成兩個引用(外鍵)
要定義關(guān)系的支配方向,占支配地位的實體(有D標(biāo)志)變?yōu)楦副怼?br />在cdm中雙擊一對一關(guān)系->Detail->Dominant role選擇支配關(guān)系
8、修改報表模板中一些術(shù)語的定義
即文件:C:/Program Files/Sybase/PowerDesigner Trial 11/Resource Files/Report Languages/Chinese.xrl
Tools-Resources-Report Languages-選擇Chinese-單擊Properties或雙擊目標(biāo)
修改某些對象的名稱:Object Attributes/Physical Data Model/Column/
??????? ForeignKey:外鍵
??????? Mandatory:為空
??????? Primary:主鍵
??????? Table:表
用查找替換,把“表格”替換成“表”
修改顯示的內(nèi)容為別的:Values Mapping/Lists/Standard,添加TRUE的轉(zhuǎn)化列為是,FALSE的轉(zhuǎn)化列為空
另外Report-Title Page里可以設(shè)置標(biāo)題信息
?
1。pd中復(fù)制一列是,實際上是一個鏈接。源列的變動同時體現(xiàn)在復(fù)制列上
2。數(shù)據(jù)庫設(shè)計通常步驟:CDM確定主要結(jié)構(gòu)--》生成PDM--》在PDM上修改,必要時生成CDM
3。若由pdm生成cdm再生成pdm,在pdm中修改過的外鍵名將被改回到默認值
4。必要時可以通過修改模板(Database-Edit Current DataBase)改變腳本的格式。例如:
Script-Objects-Column-Add的Value中開頭增加一行“--%COLNNAME%”以便在腳本中顯示列的中英文對照
5。去掉討厭的name、code映射:Tools-General Options-clear the Name to Code mirroring check box
6。對于大小寫不敏感的數(shù)據(jù)庫(如Oracle),PowerDesign在創(chuàng)建腳本時自動給表名和字段名加上雙引號,以“強字符串”形式來獲取區(qū)分大小寫,這樣給SQL語句的編寫制造很多麻煩。去掉這個添足的功能:
Database -〉Edit Current DBMS -〉Script. -〉Sql -〉Format -〉CaseSensitivityUsingQuote
右邊面板參數(shù)值 Value 選擇No
7。由cdm生成pdm,可以控制是否將關(guān)系生成引用;由pdm生成腳本,可以控制是否將引用生成外鍵
8。對于oracle而言,為表設(shè)置選項(如tablespace GPSSYSTEM)可使其創(chuàng)建到正確的表空間;為主鍵設(shè)置選項(using index tablespace GPSINDEX)使索引創(chuàng)建到正確的表空間中
?
1、安裝PD v12.0版
2、由pdm生成建表腳本時,字段超過15字符就發(fā)生錯誤(oracle)
原因未知,解決辦法是打開PDM后,會出現(xiàn)Database的菜單欄,進入Database - Edit Current DBMS -script-objects-column-maxlen,把value值調(diào)大(原為30),比如改成60。出現(xiàn)表或者其它對象的長度也有這種錯誤的話都可以選擇對應(yīng)的objects照此種方法更改!
或者使用下面的這種方法:
生成建表腳本時會彈出Database generation提示框:把options - check model的小勾給去掉,就是不進行檢查(不推薦)!
或者可以修改C:Program FilesSybasePowerDesigner Trial 11Resource FilesDBMSoracl9i2.xdb文件
修改好后,再cdm轉(zhuǎn)為pdm時,選擇“Copy the DBMS definition in model”把把這個資源文件拷貝到模型中。
3、生成的建表腳本中如何把對象的雙引號去掉?
打開cdm的情況下,進入Tools-Model Options-Naming Convention,把Name和Code的標(biāo)簽的Charcter case選項設(shè)置成Uppercase或者Lowercase,只要不是Mixed Case就行!
或者選擇Database->Edit current database->Script->Sql->Format,有一項CaseSensitivityUsingQuote,它的comment為“Determines if the case sensitivity for identifiers is managed using double quotes”,表示是否適用雙引號來規(guī)定標(biāo)識符的大小寫,可以看到右邊的values默認值為“YES”,改為“No”即可!
或者在打開pdm的情況下,進入Tools-Model Options-Naming Convention,把Name和Code的標(biāo)簽的Charcter case選項設(shè)置成Uppercase就可以!
4、建立一個表后,為何檢測出現(xiàn)Existence of index的警告
A table should contain at least one column, one index, one key, and one reference.
可以不檢查 Existence of index 這項,也就沒有這個警告錯誤了!
意思是說沒有給表建立索引,而一個表一般至少要有一個索引,這是一個警告,不用管也沒有關(guān)系!
5、創(chuàng)建一個表在修改字段的時候,一修改name的內(nèi)容,code也跟著變化,如何讓code不隨著name變化
Name和Code 的右側(cè)都有一個按鈕“=”,如果需要不同步的話,把這個按鈕彈起來就可以了。
Tools->General Options->Dialog->Name to Code Mirroring (去掉)
6、由CDM生成PDM時,自動生成的外鍵的重命名
PDM Generation Options->Detail->FK index names默認是%REFR%_FK,改為FK_%REFRCODE%,其中%REFRCODE%指的就是CDM中Relationship的code!另外自動生成的父字段的規(guī)則是PDM Generation Options->Detail->FK column name template中設(shè)置的,默認是%.3:PARENT%_%COLUMN%,可以改為Par%COLUMN%表示是父字段!
7、如何防止一對一的關(guān)系生成兩個引用(外鍵)
要定義關(guān)系的支配方向,占支配地位的實體(有D標(biāo)志)變?yōu)楦副怼?/p>
在cdm中雙擊一對一關(guān)系->Detail->Dominant role選擇支配關(guān)系
8、修改報表模板中一些術(shù)語的定義
即文件:C:Program FilesSybasePowerDesigner Trial 11Resource FilesReport LanguagesChinese.xrl
Tools-Resources-Report Languages-選擇Chinese-單擊Properties或雙擊目標(biāo)
修改某些對象的名稱:Object AttributesPhysical Data ModelColumn
ForeignKey:外鍵
Mandatory:為空
Primary:主鍵
Table:表
用查找替換,把“表格”替換成“表”
修改顯示的內(nèi)容為別的:Values MappingListsStandard,添加TRUE的轉(zhuǎn)化列為是,FALSE的轉(zhuǎn)化列為空
另外Report-Title Page里可以設(shè)置標(biāo)題信息。
?
PowerDesign的使用主要是DBMS的配置
1、修改建表腳本生成規(guī)則。如果每個表格都有相同的字段,可以如下修改:
Database -> Edit Current DBMS 展開 Script -> Object -> Table -> Create 見右下的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 兩列會在生成SQL腳本的時候自動的插入每個表格中,其中的%TNAME% 變量是給每個表格的SQL添加一個該表的Name值注釋。
2、修改字段生成規(guī)則。要給每個字段都添加一個注釋的話,同一窗口中展開 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、修改外鍵命名規(guī)則。選擇Database—>Edit Current DBMS
選擇Scripts-》Objects-》Reference-》ConstName
可以發(fā)現(xiàn)右側(cè)的Value為:
FK_%.U8:CHILD%_%.U9:REFR%_%.U8:PARENT%
可見,該命名方法是:'FK_'+8位子表名+9位Reference名+8位父表名,你可以根據(jù)這中模式自定義為:
FK_%.U7:CHILD%_RELATIONS_%.U7:PARENT%,
可以使FK名稱變?yōu)镕K_TABLE_2_RELATIONS_TABLE_1
掌握這種方法后就可以按照自己的想法修改了
生成建庫腳本SQL文件中的表頭注釋很討厭,可以在 Databse -> Generate Database (Ctrl+G)窗口中,選擇Options卡片,去掉Usage的Title鉤選項即可。
4、添加外鍵
Model -> References新建一條外鍵后,雙擊進入外鍵屬性,在“Joins”卡片中可以選擇子表的外鍵字段
5、去掉生成的SQL腳本雙引號的問題:ORACLE 8I2::Script/Sql/Format/CaseSensitivityUsingQuote改成No,默認是Yes所以會有雙引號。
在修改name的時候,code的值將跟著變動,很不方便。修改方法:PowerDesign中的選項菜單里修改,在[Tool]-->[General Options]->[Dialog]->[Operating modes]->[Name to Code mirroring],這里默認是讓名稱和代碼同步,將前面的復(fù)選框去掉就行了。
6、有關(guān)Powerdesgner數(shù)據(jù)模型設(shè)計中,屬性名同名問題的解決方法
PowerDesigner默認在CDM中不能存在相同名稱的實體屬性,這也是考慮到可能產(chǎn)生的一些如主鍵外鍵等名稱沖突問題,但當(dāng)我們進行實際數(shù)據(jù)庫設(shè)計時,可能會多次使用相同數(shù)據(jù)項(DataItem)便于理解各實體。為此需要對更改PowerDesigner相關(guān)設(shè)置。軟件默認為DataItem不能重復(fù)使用(重名),需要進行以下操作:
選擇Tools->Model Options,在Model Setting設(shè)置目錄中,將Data Item下的Unique Code取消選中即可,系統(tǒng)默認將Unique Code和Allow Reuse均選中。
同時該設(shè)置均是面向特定模型的,即針對當(dāng)前模型有效,若希望在其它模型中也有此命名設(shè)置,則需要重新進行設(shè)置。不過在Check Model時,如果選擇全部Check,則依舊會報DataItem重名的錯誤信息,這時需要我們在人為檢查確認數(shù)據(jù)項無誤時,可以在選擇不對DataItem不檢查,各種數(shù)據(jù)類型對應(yīng)匹配(這里只給出與SQL Server中的常用對應(yīng)類型,其它DBMS可以使用類似處理)
1 如何在PowerDesigner下建索引
2 如何在PowerDesigner 下建自增列
3 如何在PowerDesigner 下檢查設(shè)計模型
1 如何在PowerDesigner下建索引
1 雙擊表設(shè)計圖,出來Table Properties,在Tab 頁中選擇 Indexes
總結(jié)
以上是生活随笔為你收集整理的PowerDesigner小技巧的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java NIO概述
- 下一篇: Mac下配置cocos2d-x开发环境(