1、安裝PD v11.0版
2、由pdm生成建表腳本時,字段超過15字符就發(fā)生錯誤(oracle)
原因未知,解決辦法是打開PDM后,會出現(xiàn)Database的菜單欄,進(jìn)入Database - Edit Current DBMS -script-objects-column-maxlen,把value值調(diào)大(原為30),比如改成60。出現(xiàn)表或者其它對象的長度也有這種錯誤的話都可以選擇對應(yīng)的objects照此種方法更改!
或者使用下面的這種方法:
生成建表腳本時會彈出Database generation提示框:把options - check model的小勾給去掉,就是不進(jìn)行檢查(不推薦)!
或者可以修改C:\Program Files\Sybase\PowerDesigner Trial 11\Resource Files\DBMS\oracl9i2.xdb文件
修改好后,再cdm轉(zhuǎn)為pdm時,選擇“Copy the DBMS definition in model”把把這個資源文件拷貝到模型中。
3、生成的建表腳本中如何把對象的雙引號去掉?
打開cdm的情況下,進(jìn)入Tools-Model Options-Naming Convention,把Name和Code的標(biāo)簽的Charcter case選項(xiàng)設(shè)置成Uppercase或者Lowercase,只要不是Mixed Case就行!
或者選擇Database->Edit current database->Script->Sql->Format,有一項(xiàng)CaseSensitivityUsingQuote,它的comment為“Determines if the case sensitivity for identifiers is managed using double quotes”,表示是否適用雙引號來規(guī)定標(biāo)識符的大小寫,可以看到右邊的values默認(rèn)值為“YES”,改為“No”即可!
或者在打開pdm的情況下,進(jìn)入Tools-Model Options-Naming Convention,把Name和Code的標(biāo)簽的Charcter case選項(xiàng)設(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 這項(xiàng),也就沒有這個警告錯誤了!
意思是說沒有給表建立索引,而一個表一般至少要有一個索引,這是一個警告,不用管也沒有關(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默認(rèn)是%REFR%_FK,改為FK_%REFRCODE%,其中%REFRCODE%指的就是CDM中Relationship的code!另外自動生成的父字段的規(guī)則是PDM Generation Options->Detail->FK column name template中設(shè)置的,默認(rèn)是%.3:PARENT%_%COLUMN%,可以改為Par%COLUMN%表示是父字段!
7、如何防止一對一的關(guān)系生成兩個引用(外鍵)
要定義關(guān)系的支配方向,占支配地位的實(shí)體(有D標(biāo)志)變?yōu)楦副怼?br>在cdm中雙擊一對一關(guān)系->Detail->Dominant role選擇支配關(guān)系
8、修改報(bào)表模板中一些術(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)化列為是,F(xiàn)ALSE的轉(zhuǎn)化列為空
另外Report-Title Page里可以設(shè)置標(biāo)題信息
9、PowerDesigner11中批量根據(jù)對象的name生成comment的腳本
'******************************************************************************
'* File: name2comment.vbs
'* Purpose: Database generation cannot use object names anymore
' in version 7 and above.
' It always uses the object codes.
'
' In case the object codes are not aligned with your
' object names in your model, this script will copy
' the object Name onto the object comment for
' the Tables and Columns.
'
'* Title: 把對象name拷入comment屬性中
'* Version: 1.0
'* Author:wangnc
'* 執(zhí)行方法:PD11 -- Open PDM -- Tools -- Execute Commands -- Run Script
'******************************************************************************
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 code 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