1、安装PD v11.0版
2、由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”把把这个资源文件拷贝到模型中。
3、生成的建表脚本中如何把对象的双引号去掉? 打开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就可以!
4、建立一个表后,为何检测出现Existence of index的警告 A table should contain at least one column, one index, one key, and one reference. 可以不检查 Existence of index 这项,也就没有这个警告错误了! 意思是说没有给表建立索引,而一个表一般至少要有一个索引,这是一个警告,不用管也没有关系!
5、创建一个表在修改字段的时候,一修改name的内容,code也跟着变化,如何让code不随着name变化 Name和Code 的右侧都有一个按钮“=”,如果需要不同步的话,把这个按钮弹起来就可以了。 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!另外自动生成的父字段的规则是PDM Generation Options->Detail->FK column name template中设置的,默认是%.3:PARENT%_%COLUMN%,可以改为Par%COLUMN%表示是父字段!
7、如何防止一对一的关系生成两个引用(外键) 要定义关系的支配方向,占支配地位的实体(有D标志)变为父表。 在cdm中双击一对一关系->Detail->Dominant role选择支配关系
8、修改报表模板中一些术语的定义 即文件: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里可以设置标题信息
1。pd中复制一列是,实际上是一个链接。源列的变动同时体现在复制列上
2。数据库设计通常步骤:CDM缺定主要结构--》生成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。对于大小写不敏感的数据库(如Oracle),PowerDesign在创建脚本时自动给表名和字段名加上双引号,以“强字符串”形式来获取区分大小写,这样给sql语句的编写制造很多麻烦。去掉这个添足的功能: Database -〉Edit Current DBMS -〉Script. -〉Sql -〉Format -〉CaseSensitivityUsingQuote 右边面板参数值 Value 选择No
7。由cdm生成pdm,可以控制是否将关系生成引用;由pdm生成脚本,可以控制是否将引用生成外键
8。对于oracle而言,为表设置选项(如tablespace GPSSYSTEM)可使其创建到正确的表空间;为主键设置选项(using index tablespace GPSINDEX)使索引创建到正确的表空间中 解决PowerDesigner中Name与Code同步的问题。 PowerDesigner中,但修改了某个字段的name,其code也跟着修改,这个问题很讨厌,因为一般来说,name是中文的,code是字段名。 解决方法如下:
1、选择Tools->GeneralOptions...菜单,出现General Options对话框。
2、从Category中选择Dialog项。
3、取消右边“Name to Code mirroring”复选框。
如下图: PowerDesigner建表脚本中去掉对象双引号的方法(name与code大小写转换) ·
打开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就可以! PowerDesigner定义默认类型 在用PowerDesigner建表时,因为很多字段都为vchar类型,这样我们可以默认定义Vchar类型 打开cdm的情况下,进入Tools-Model Options-Model Settings,把column&Domain的标签中的Default Type定义为你想要的类型如varchar(50)
1、PowerDesigner使用MySQL的auto_increment
Q:PD怎样能使主键id使用MySQL的auto_increment
A:打开table properties窗口 → columns → 选中id列 → 打开columns properties窗口 → 勾选identity即可
2、PowerDesigner去掉SQL脚本中的双引号
Q:PD生成Oracle数据库建表SQL时,默认会给表名和字段名加上双引号,怎样能去掉SQL脚本中的双引号呢?
A: 把Database → Edit Current DBMS → General → Script → Sql → Format → CaseSensitivityUsingQuote设置为NO即可
3、PowerDesigner生成SQL语句时不使用Domain
Q:如果在PD中使用了Domain,生成SQLServer的数据库SQL的脚本中会使用与Domain对应的自定义数据类型,而不会使用 SQLServer自己的数据类型,怎样能让PD生成SQL语句时使用SQLServer自己的数据库类型,而不是Domain对应的自定义数据类型呢?
A: 把Database → Edit Current DBMS → General → Script → Objects → Domain → Enable设置为NO即可
4、PowerDesigner中设置Entity的默认字体
Q:创建Entity时,如果PD默认字体不适合自己的个人习惯,每次创建了一个实体后都要修改实体的字体,非常麻烦,是否有只修改一次一劳永逸的方法呢?
A: Tools → Display Preferences… → Format → Entity → Modity… → Font → 进行相应修改并保存设置 → Set As Default
5、PowerDesigner中设置Entity自动调整尺寸大小
Q:当给Entity添加了字段或其他修改时,Entiry的显示尺寸大小不会自动调整,怎样解决呢? A: 在Entity上点击右键 → 单击Format…菜单项 → 选择size标签页 → 勾选Auto adjust to text即可
6、禁止修改Name时Code也会自动同步修改
Q: 当给Entity修改字段名称时,Code也会自动修改,如何解决这个问题 A: 选择Tools->GeneralOptions…菜单,出现General Options对话框。从Category中选择Dialog项。取消右边“Name to Code mirroring”复选框。
7、让comment与Name同步
Q:在数据库设计时名称是往往是中文的,comment能否直接与Name同步?
A:[Database]->[Database Generation]->[Options] ->Generate Name in Empty Comment 如果设计时没有写Comment,就用Name替代。注:在PowerDesigner15中,该选项已由Options选项卡中移到了Format选项卡中。
一、使用PowerDesigner生成HTML功能 使用PowerDesigner设计数据库关系以后,可以生成HTML,供团队成员进行讨论。
Step 1:创建一个new Report; 选择【file】---【new】---【Multi-Model Report】,然后定义Report Name,这个主要是HTML的名称,选择Language。
Step 2: 选择需要生成的Model; 在Model Name 选择需要生成HTML的Model,然后选择一种Report template,这里建议选择【Stand Physical Report】,然后点击【确定】。
Step 3: 生成HTML; 选择刚刚新创建的Report,右键,【Generate】---【HTML】,选择存放路径。然后选择【保存】,大功告成。
二、创建索引
1.双击Table,弹出Table Properties窗口:
2.添加一个新的索引。
3.选择unique,把索引设置为唯一索引。
4.双击索引所在的行,弹出索引属性窗口(Index Properties)。
5.双击添加列按钮,弹出Selection窗口。
6.选择索引包含的表的列,并单击OK。
三、添加表注释和列注释
1.表注释:双击表,弹出Table Properties窗口,填写comment
2.列注释:双击左边的树形菜单的中的列,弹出列属性窗口,填写comment
四、使用PowerDesigner设计建造MySQL数据库 (
1)使用PowerDesigner制作建库脚本
1、设计CDM(Conceptual Data Model)
2、选择 Tools -> Generate Physical Data Model ,选择对应的DBMS为MySQL,生成PDM
3、选择 Database -> Generate Database ,在弹出的 Database Generation 对话框中选择脚本存取路径及脚本文件名称
4、点击确定后生成数据库建库脚本(*.sql)
(2)使用建库脚本建立数据库
1、登陆 mysql -u root –p
2、建立空的databse create databse mydbse;
3、建立用户 grant all on mydbse.* to username@192.168.1.100 identified by 'password';
4、退出 exit; 5、在终端中输入 mysql -h 192.168.1.100 -u username -p < Script.sql 6、回车后输入密码即可
五、PowerDesigner设计时表显示注释选项
PowerDesigner设计时表显示注释选项: 选定编辑的表,右键- >Properties- >Columns- >Customize Columns and Filter(或直接用快捷键Ctrl+U)- >Comment(前面打勾)- >OK
六、PowerDesigner使用MySQL的auto_increment 打开table properties窗口→ columns →选中id列→打开columns properties窗口→勾选identity即可。
七、PowerDesigner去掉SQL脚本中的双引号
把Database → Edit Current DBMS → General → Script → Sql → Format → CaseSensitivityUsingQuote设置为NO即可
八、PowerDesigner中设置Entity自动调整尺寸大小
在Entity上点击右键→单击Format...菜单项→选择size标签页→勾选Auto adjust to text即可
九、Generate Name in Empty Comment 一直用PowerDesigner设计,并生成Oracle表结构,对于生成Oracle表中列的Comment字段却要手工补充。 今天同事提起PowerDesigner可以自动用Name的说明替代Comment(在他的PD中可以看到效果,但他也忘记如何设置)。 网上找下了资料,很多都是说如何用RUN SCRIPT的方法。最后,经过查找PowerDesigner的帮忙,原来很简单。设置如下: [Database]->[Database Generation]->[Options] ->Generate Name in Empty Comment 如果设计时没有写Comment,就用Name替代。
十、修改表的字段Name的时候,Code不自动跟着变? tools->General Options->Dialog:Operation Modes: NameToCodeMirroring(checked=false)
十一、去掉默认的新建的表名和字段名加上双引号问题 打开Database -> Edit Current DBMS ,出现一个编辑界面,在右边的框里,找到script分节点,再依次找到sql -> format 节点,下面有一个这样的名称的属性:CaseSensitivityUsingQuote,把这个属性的值设为“NO”,再看生成的script,就全部双引号都去掉了。