powerdesigner学习(转)
1、由pdm生成建表脚本时, 字段超过15字符就发生错误(oracle)
原 因未知,解决办法是打开PDM后,会出现Database的菜单栏,进入Database - Edit Current DBMS -script-objects-column-maxlen,把value值调大(原为30),比如改成60。出现表或者其它对象的长度也有这种错误的 话都可以选择对应的objects照此种方法更改!
或者使用下面的这种方法:
生成建表脚本时会弹出Database generation提示框:把options - check model的小勾给去掉,就是不进行检查(不推荐)!
或者可以修改C:\Program Files\Sybase\PowerDesigner Trial 11\Resource Files\DBMS\oracl9i2.xdb文件
修改好后,再cdm转为pdm时,选择“Copy the DBMS definition in model”把把这个资源文件拷贝到模型中。
或者选择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就可以!
可以不检查 Existence of index 这项,也就没有这个警告错误了!
意思是说没有给表建立索引,而一个表一般至少要有一个索引,这是一个警告,不用管也没有关系!
Tools->General Options->Dialog->Name to Code Mirroring (去掉)
在cdm中双击一对一关系 ->Detail->Dominant role选择支配关系
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里可以设置标题信息
原 因未知,解决办法是打开PDM后,会出现Database的菜单栏,进入Database - Edit Current DBMS -script-objects-column-maxlen,把value值调大(原为30),比如改成60。出现表或者其它对象的长度也有这种错误的 话都可以选择对应的objects照此种方法更改!
或者使用下面的这种方法:
生成建表脚本时会弹出Database generation提示框:把options - check model的小勾给去掉,就是不进行检查(不推荐)!
或者可以修改C:\Program Files\Sybase\PowerDesigner Trial 11\Resource Files\DBMS\oracl9i2.xdb文件
修改好后,再cdm转为pdm时,选择“Copy the DBMS definition in model”把把这个资源文件拷贝到模型中。
2、生成的建表脚本中如何把对象的双引号去 掉?
打开cdm的情况下,进入Tools-Model Options-Naming Convention,把Name和Code的标签的Charcter case选项设置成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”,表示是否适用双引号来规定标识符的大小写,可以看到右边的values默认值为“YES”,改为“No”即可!
或者在打开pdm 的情况下,进入Tools-Model Options-Naming Convention,把Name和Code的标签的Charcter case选项设置成Uppercase就可以!
3、建立一个表后,为何检测出现Existence of index的警告
A table should contain at least one column, one index, one key, and one reference.可以不检查 Existence of index 这项,也就没有这个警告错误了!
意思是说没有给表建立索引,而一个表一般至少要有一个索引,这是一个警告,不用管也没有关系!
4、创建一个表在修改字段的时候,一修改 name的内容,code也跟着变化,如何让code不随着name变化
Name和Code 的右侧都有一个按钮“=”,如果需要不同步的话,把这个按钮弹起来就可以了。Tools->General Options->Dialog->Name to Code Mirroring (去掉)
5、由CDM生成PDM时,自动生成的外键 的重命名
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%表示是父字段!6、如何防止一对一的关系生成两个引用(外 键)
要定义关系的支配方向,占支配地位的实体(有D标志)变为父表。在cdm中双击一对一关系 ->Detail->Dominant role选择支配关系
7、修改报表模板中一些术语的定义
即文 件:C:\Program Files\Sybase\PowerDesigner Trial 11\Resource Files\Report Languages\Chinese.xrlTools-Resources-Report Languages-选择Chinese-单击Properties或双击目标
修改某些对象的名称:Object Attributes\Physical Data Model\Column\
ForeignKey:外键
Mandatory:为空
Primary:主键
Table:表
用查找替换,把“表格”替换成“表”
修改显示的内容为别的:Values Mapping\Lists\Standard,添加TRUE的转化列为是,FALSE的转化列为空
另外Report-Title Page里可以设置标题信息
8、修改sql脚本格式
必 要时可以通过修改模板(Database-Edit Current DataBase)改变脚本的格式。例如:
Script-Objects-Column-Add 的Value中开头增加一行“--%COLNNAME%”以便在脚本中显示列的中英文对照
Script-Objects-Column-Add 的Value中开头增加一行“--%COLNNAME%”以便在脚本中显示列的中英文对照
9、双引号问题
对 于大小写不敏感的数据库(如 Oracle),PowerDesign在创建脚本时自动给表名和字段名加上双引号,以“强字符串”形式来获取区分大小写,这样给sql语句的编写制造很 多麻烦。去掉这个添足的功能:
Database -〉Edit Current DBMS -〉Script. -〉Sql -〉Format -〉CaseSensitivityUsingQuote
右边面板参数值 Value 选择No
Database -〉Edit Current DBMS -〉Script. -〉Sql -〉Format -〉CaseSensitivityUsingQuote
右边面板参数值 Value 选择No
10、允许不同实体存在同名属性
model options中,将数据项的唯一代码和允许重用两个选项去掉。否则不同实体中的同名属性会被认为是同一个数据对象,改一个另外的也会跟着改。 大多数情况下都不需要这种特性,相反它会带来麻烦。 但是,如果允许不同的表有相同的字段名,在创建视图的时候,需要为重复的字段名指定别名。 有利有弊啊。
11、将CDM设计的实体在PDM中不生成表
在实体的General选项中,去掉Generate选 项,不知PDM中是否也是这样,需验证。
12、一个表关联的表非常多
在物理模型中,对于一个关联非 常多的表,可以使用Ctrl+M 创建这个表的多个快捷方式,然后使用Ctrl+鼠标拖动已有的联接矛点.
13、一次键入非常多的对象
如 果需要一次性加入多个相同类型的对象,可以在左侧的窗口右击模型名称,选择List of 想要加入的对象,这样就可以在一个列表中使用向下键加入了,也可以方便的copy和paste.
使用模型check的功能,可以自 动检查模型存在的一些问题,并可以选择自动修正操作.
有时PowerDesigner自动生成的唯一约束Key会重复,并且重复的 key有时不能够全部被check出来,需要手动修改.
14、编辑视图删除无用字段
在编辑视图 时,column标签页中不能删除无用的字段,只能进入SQL Query页进行编辑,同时,在column页更改字段的顺序也无法在实际SQL中生效.
当在SQL Query的字段列表中使用as语法时,有时更改as后面的列名不能在Column页中进行同步,导致创建视图中实际的列名与想要的不一致.可以通过检查 Preview标签,比较快速的判断是否有这种情况发生,当有不一致时,Preview中的sql会使用这样的格式:
create or replace view v1(column1, column2, ..., columnN) as
...
/
如 果没有不一致,则不会生成括号部分.
15、视图在数据库中的创建顺序
定义的视图可能 互相之间会有引用关系,必须严格的按先后顺序创建,否则会出错,但powerDesigner在生成视图sql时不能指定先后顺序,是以视图名称来安排生 成顺序的.
如果在oracle中,可以指定视图的属性 force 为true, 这样创建视图引用的对象即使不存在也不会报错.
16、改变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视图中删除重复的项目。