PowerDesigner 11 使用心得

本文分享了PowerDesigner v11版本的实用心得,包括解决字段长度限制问题、调整生成脚本的格式、处理索引警告等常见问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

附上一些使用pd11的心得:

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里可以设置标题信息

 
### 关于 PowerDesigner CDM 的使用心得与最佳实践 PowerDesigner 是一款强大的 CASE 工具,其中的概念数据模型(CDM, Conceptual Data Model)是用于设计管理概念层数据库结构的重要工具。以下是一些关于 PowerDesigner CDM 的使用心得与应用技巧: #### 1. **CDM 的核心功能** PowerDesigner 的 CDM 模块允许用户以一种抽象的方式定义实体、属性及其关系,而不必考虑具体的数据库实现细节。这使得 CDM 成为一个理想的起点,用于在项目早期阶段进行需求分析设计[^2]。 #### 2. **CDM 到 PDM 的转换** 在完成 CDM 设计后,可以将其转换为物理数据模型(PDM, Physical Data Model)。这一过程可以通过 PowerDesigner 提供的自动化工具完成,但需要注意以下几点: - 在转换过程中,确保选择正确的数据库类型,因为不同数据库对数据类型的处理方式可能有所不同。 - 转换后检查生成的 PDM 是否符合实际需求,必要时进行手动调整[^4]。 #### 3. **大小写敏感性问题** 对于某些数据库(如 Oracle),默认情况下 PowerDesigner 会在生成脚本时为表名字段名加上双引号,从而强制区分大小写。这种行为可能会导致 SQL 编写变得复杂。为了避免这一问题,可以通过以下步骤禁用该功能: ```plaintext Database -> Edit Current DBMS -> Script -> Sql -> Format -> CaseSensitivityUsingQuote ``` 将 `CaseSensitivityUsingQuote` 的值从默认的 “YES” 更改为 “NO”[^3]。 #### 4. **团队协作与版本控制** 当多个开发者共同参与同一个项目时,PowerDesigner 提供了团队协作支持。通过配置版本控制系统(如 SVN 或 Git),可以有效管理模型的变更历史并减少冲突。 #### 5. **文档生成** PowerDesigner 支持从 CDM 自动生成详细的文档,包括数据字典技术规范。这不仅有助于提高沟通效率,还能确保所有相关方对设计的理解保持一致[^1]。 #### 6. **性能优化建议** 对于大型项目,PowerDesigner 的性能可能会受到模型复杂度的影响。以下是一些优化建议: - 定期清理不必要的对象,例如未使用的实体或关系。 - 使用分层建模方法,将复杂的模型拆分为多个子模型,以便于管理维护[^1]。 #### 7. **学习资源** 为了更好地掌握 PowerDesigner CDM 的使用技巧,建议参考官方文档以及社区分享的经验。此外,参加相关的培训课程也能显著提升技能水平。 ```python # 示例代码:通过 Python 调用 PowerDesigner API 创建简单实体 import win32com.client pdapp = win32com.client.Dispatch("PowerDesigner.Application") model = pdapp.Models(1) entity = model.Entities.AddNew() entity.Name = "Customer" entity.Code = "CUSTOMER" attribute = entity.Attributes.AddNew() attribute.Name = "CustomerID" attribute.Code = "CUSTOMER_ID" ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值