`
happyqing
  • 浏览: 3183550 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

PowerDesigner技巧

阅读更多

1、PowerDesigner使用MySQL的auto_increment
  ◇问题描述:
  PD怎样能使主键id使用MySQL的auto_increment呢?

   ◇解决方法:
   打开table properties窗口 → columns → 选中id列 → 打开columns properties窗口 → 勾选identity即可
   注意:概念模型没有此选项,物理模型才有

  2、PowerDesigner去掉SQL脚本中的双引号
   ◇问题描述:
   PD生成Oracle数据库建表SQL时,默认会给表名和字段名加上双引号,怎样能去掉SQL脚本中的双引号呢?

   ◇解决方法:
   把Database → Edit Current DBMS → General → Script → Sql → Format → CaseSensitivityUsingQuote设置为NO即可

  3、PowerDesigner生成SQL语句时不使用Domain
   ◇问题描述:
   如果在PD中使用了Domain,生成SQLServer的数据库SQL的脚本中会使用与Domain对应的自定义数据类型,而不会使用 SQLServer自己的数据类型,怎样能让PD生成SQL语句时使用SQLServer自己的数据库类型,而不是Domain对应的自定义数据类型呢?

   ◇解决方法:
   把Database → Edit Current DBMS → General → Script → Objects → Domain → Enable设置为NO即可

  4、PowerDesigner中设置Entity的默认字体
   ◇问题描述:
   创建Entity时,如果PD默认字体不适合自己的个人习惯,每次创建了一个实体后都要修改实体的字体,非常麻烦,是否有只修改一次一劳永逸的方法呢?

   ◇解决方法:
   Tools → Display Preferences... → Format → Entity → Modity... → Font → 进行相应修改并保存设置 → Set As Default

  5、PowerDesigner中设置Entity自动调整尺寸大小
   ◇问题描述:
   当给Entity添加了字段或其他修改时,Entiry的显示尺寸大小不会自动调整,怎样解决呢?

   ◇解决方法:
   在Entity上点击右键 → 单击Format...菜单项 → 选择size标签页 → 勾选Auto adjust to text即可

 

powerdesiner的自增长列,以前都是生成sql语句后,再在自增长列中添加Identity(1,1).找了好久,终于打到了方法 .

1.        如果dbms是MsSql,则选定表后,database-> edit current dbms-> 出现DBMS properties对话框,选择General页,左侧的树选择SQL 2000-> Profile-> Column-> Extended Attributes 下面的ExtIdentityIncrement是步进值,ExtIdentitySeed是起始值,分别设定默认值,后返回。
2.      在表的属性对话框里面,选择Clumns页,按Ctrl+U,在Idenitity前面打上钩。如有必要,也可以将
ExtIdentityIncrement和ExtIdentitySeed也打上勾,这样在设定Idenitity时也可以直接指定起始值和步进值了。
btw:我用的是PD11,刚刚开始学PD,关于Identity的设定也是找了好久。

3.     对于ql server ,在表的属性对话框里面,选择Clumns页,按Alt+enter进入列的属性页面,在右下角勾选Idenitity属性即可.

  取消Name和Code关联的设置
     在设计PDM文件的时候,设计一张表,在填写栏位的时候,如果我们输入Name,Code会跟着变化.这个完全是西方人的习惯,因为他们的Name和 Code都是E文,所以不会出现什么问题.但是,我们使用的时候,就会很不习惯,Name应该是中文名字,Code才是资料库的实际字段名.
     下面记录修改设置的步骤:
         Step 1:
             菜单栏找到Tools,点开,找到General Options,点击
 
Step 2:打开Dialog将Operating modes中的 Name To Code mirroring 將前面的勾去掉
 
OK!完成


sql语句中表名与字段名前的引号去除:

打开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就可以!

在修改name的时候,code的值将跟着变动,很不方便

修改方法:PowerDesign中的选项菜单里修改,在[Tool]-->[General Options]->[Dialog]->[Operating modes]->[Name to Code mirroring],这里默认是让名称和代码同步,将前面的复选框去掉就行了。

由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”把把这个资源文件拷贝到模型中。

由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%表示是父字段!


建立一个表后,为何检测出现Existence of index的警告
    A table should contain at least one column, one index, one key, and one reference.
可以不检查 Existence of index 这项,也就没有这个警告错误了!
意思是说没有给表建立索引,而一个表一般至少要有一个索引,这是一个警告,不用管也没有关系!

如何防止一对一的关系生成两个引用(外键)
要定义关系的支配方向,占支配地位的实体(有D标志)变为父表。
在cdm中双击一对一关系->Detail->Dominant role选择支配关系

修改报表模板中一些术语的定义
即文件: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里可以设置标题信息

PowerDesigner11中批量根据对象的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:
'* 执行方法: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

 

PowerDesigner 生成SQL的Existence of refernce错误问题
现象:用PowerDesigner生成SQL语句时,提示Existence of refernce错误。
原因:该表没有与其他表的关联(如外键等),而PowerDesigner需要存在一个refernce才能生成SQL.
解决方法:
    在工具栏空白处右键打开Palette面板,选中Link/Extended Dependency 按钮,然后在提示出错的表上添加到自己的Dependency。
    重新生成SQL,你将发现刚才提示的错误没有了,问题解决。
  
利用PowerDesigner批量生成测试数据
主要解决方法:
A:在PowerDesigner 建表
B:然后给每一个表的字段建立相应的摘要文件
步骤如下:
Model->Test Data Profiles配置每一个字段摘要文件General:输入Name、Code、
选择Class(数字、字符、时间)类型
选择Generation Source: Automatic、List、ODBC、File Detail:配置字段相关信息
所有字段摘要文件配置完成后双击该表->选择字段->Detail->选择Test Data Parameters 摘要文件如果字段值与其它字段有关系在: Computed Expression 中输入计算列--生成测试数据:
DataBase->Generation Test Data->
选择:Genration 类型(Sript、ODBC)
     Selection(选择要生成的表)
     Test Data Genration(Default number of rows 生成记录行数)

1.使用PD12时出现以下错误:

Reference constraint name maximum

length is limited to 30 characters

Key constraint name maximum length

is limited to 30 characters

Table code maximum length

Column code maximum length

……

导致生成建表SQL时通不过,细究原因原来是默认设置的问题,改下就可以了。

调整以下参数:

Database=>Edit current DBMS 数据库类型::Script/Objects/MaxConstLen value=>255

Database=>Edit current DBMS 数据库类型::Script/Objects/Table/Maxlen value=>255

Database=>Edit current DBMS 数据库类型::Script/Objects/Column/Maxlen value=>255

但是要注意的是,表名、列名、主键等不要超过30个字符,否则Oracle不认。

2.附:生成数据库脚本

Database=>Generate database

-----------------------------

-----------------------------

默认生成的SQL语句(表名、字段名等)都带双引号,导致用SQLPlus插入Oracle数据库时表名与表列都带""号,要解决这个问题,在数据库中做如下设置:

Database-> Edit Current DBMS...-> Script-> Sql->

Format-> CaseSensitivityUsingQuote 改为No

3.如何在powerDesigner中给字段赋默认值

双击表,出现column列表,双击要设置的列的左边的灰色框,应该会弹出新的窗口,然后在新窗口上选择standard checks ,里面有default的


        我一直用的是Oracle数据库,所以在设计CDM的时候,就没有选定表主键自动增长。这是SQL Server和MYSQL才有的方式。Oracle中一般是采用SEQUENCE的方式来处理主键增长的问题的。相对写程序来说,Oracle的处理方式比较复杂一点。

       打开PDM,选中一张表,双击打开表属性,选择Columns列,选中主键字段,双击打开,界面的最下方右下角有一个Identity,选中这个之后,生成的表主键就是自动增长的了。

要一个表一个表的手工去修改。这要改到什么时候啊!

在google上搜索了一下,发现居然有很多人碰到这个问题,还有一个vbs的脚本执行一次就解决了。大家可以去搜索一下,脚本名字叫SetIdentity.vbs。

        在PD中执行脚本方法也很简单,Tools——Excecute Commands——Edit/Run Scripts。

另外还有一个脚本,是用来把字段的name统一设置为数据库字段的comments字段内容的name2comment.vbs代码。也很好用。(一般name都是中文描述,code就是代码)

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yycc2008/archive/2009/05/18/4198230.aspx

 

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 FilesSybasePowerDesigner Trial 11Resource FilesDBMSoracl9i2.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 FilesSybasePowerDesigner Trial 11Resource FilesReport LanguagesChinese.xrl
Tools-Resources-Report Languages-选择Chinese-单击Properties或双击目标
修改某些对象的名称:Object AttributesPhysical Data ModelColumn
ForeignKey:外键
Mandatory:为空
Primary:主键
Table:表
用查找替换,把“表格”替换成“表”
修改显示的内容为别的:Values MappingListsStandard,添加TRUE的转化列为是,FALSE的转化列为空
另外Report-Title Page里可以设置标题信息

 

参考:

http://www.haogongju.net/art/492002

http://www.cnblogs.com/yingpp/archive/2010/10/19.html

分享到:
评论

相关推荐

    PowerDesigner技巧集1_7

    ### PowerDesigner技巧集1_7知识点汇总 #### 1. Name与Code同步的问题及解决方案 在使用PowerDesigner进行数据库设计时,用户可能会遇到一个常见问题:当修改了某个字段的名称(Name),其代码(Code)也会随之...

    PowerDesigner设计技巧

    【PowerDesigner设计技巧】 PowerDesigner是一款强大的数据建模工具,常用于数据库的设计和管理。它提供了从概念模型到物理模型的转换,支持多种数据库管理系统,包括E-R模型的设计。以下是一些关键知识点: 1. **...

    PowerDesigner一些小技巧

    以下是一些关于PowerDesigner的小技巧: 1. **字段长度限制问题**: 当在Oracle数据库上生成建表脚本时,若字段长度超过15个字符,会遇到错误。这是因为Oracle默认的限制。解决方法是进入PDM的Database菜单,选择...

    PowerDesigner使用技巧

    PowerDesigner 使用技巧大全 PowerDesigner 是一款功能强大且流行的数据库设计工具,掌握 PowerDesigner 的使用技巧对于数据库设计和开发人员非常重要。下面将总结 PowerDesigner 的一些常用技巧和设置,帮助读者更...

    PowerDesigner一些使用技巧

    ### PowerDesigner 使用技巧详解 #### 一、找回丢失的工具栏 在使用 PowerDesigner 进行数据库设计时,有时会遇到工具栏意外消失的情况。若工具栏中的“调色板(Palette)”不见,可以通过以下步骤找回: 1. **打开...

    powerdesigner物理数据模型使用技巧

    【PowerDesigner物理数据模型使用技巧】 PowerDesigner是Sybase公司的一款强大的CASE工具,它整合了企业架构分析、UML和数据建模的功能。在物理数据模型(PDM)的使用中,PowerDesigner允许用户创建适应多种DBMS的...

    powerdesigner 导出报告模板

    PowerDesigner是一款强大的数据库设计与建模工具,广泛应用于IT行业中,尤其在系统分析、数据库设计和数据仓库构建等领域。...通过掌握这些技巧,可以显著提升数据库设计和管理的效率,确保项目的顺利进行。

    PowerDesigner161 激活txt技巧

    PowerDesigner最初由Xiao-Yun Wang(王晓昀)在SDP Technologies公司开发完成。PowerDesigner是Sybase的企业建模和设计解决方案,采用模型驱动方法,将业务与IT结合起来,可帮助部署有效的企业体系架构,并为研发...

    powerDesigner的常用配置及使用技巧 + idea注释模板配置(1).pdf

    在PowerDesigner中配置使用技巧和在IntelliJ IDEA中配置注释模板是提升工作效率的重要方法。以下是关于PowerDesigner和IntelliJ IDEA配置和使用的一些知识点: ### PowerDesigner常用配置及使用技巧 1. **创建工作...

    PowerDesigner设计技巧。。。

    PowerDesigner是一款强大的数据库建模工具,它允许设计者创建、管理和维护数据模型,包括概念模型、逻辑模型和物理模型。...在实际项目中,熟练掌握PowerDesigner的使用技巧,对于提升数据库设计的质量和效率至关重要。

    PowerDesigner15.1汉化包

    提供的博客地址(http://www.iitshare.com)是一个互动平台,用户可以在这里找到更多关于PowerDesigner的教程、技巧以及问题解答,这对于学习和使用汉化版PowerDesigner非常有帮助。 总的来说,PowerDesigner 15.1...

    PowerDesigner 的用法实例

    PowerDesigner 是一款强大的数据库设计和建模工具,它可以帮助IT专业人士高效地创建和管理复杂的数据库架构。...通过熟练掌握上述使用技巧,你可以更好地利用PowerDesigner应对复杂的企业级数据库设计挑战。

    PowerDesigner15.1正式版官网下载地址

    #### 四、PowerDesigner 15.1 使用技巧 1. **数据模型创建**: - **概念数据模型(CDM)**:用于描述业务实体及其关系。 - **物理数据模型(PDM)**:基于 CDM,细化到具体的数据库表结构设计。 2. **数据库生成...

    PowerDesigner使用教程9.5_PowerDesigner_使用手册

    **七、最佳实践与技巧** 1. **模型的组织**:合理使用包(Package)来组织模型元素,可以提高模型的可读性和管理性。 2. **模板定制**:自定义模板可以简化报告生成,确保一致性。 综上,"PowerDesigner使用教程...

    PowerDesigner教材

    本教程将深入探讨PowerDesigner的基础操作和核心功能,帮助读者掌握这一专业工具的使用技巧。 1. **数据库建模** PowerDesigner支持概念数据模型(CDM)、逻辑数据模型(LDM)和物理数据模型(PDM)的创建。在CDM...

    powerdesigner datatype

    描述中提到的博客链接虽然没有具体内容,但通常博主会分享在使用PowerDesigner时遇到的问题、解决方案或者一些技巧。根据“源码 工具”的标签,我们可以推测这篇博客可能涉及到了PowerDesigner的源码分析或是与其他...

    Powerdesigner把表结构导出成word.docx

    在IT行业中,数据库设计是软件开发过程中的关键环节,PowerDesigner作为一款强大的数据库设计和建模工具,帮助企业或...对于IT专业人士来说,掌握PowerDesigner的操作技巧对于提升工作效率和保证项目质量具有重要意义。

    PowerDesigner教程(下)

    在"PowerDesigner教程(下)"中,我们将深入探讨其核心特性和使用技巧。 首先,PowerDesigner的UML(统一建模语言)设计功能是其一大亮点。UML是一种标准化的建模语言,用于软件工程中可视化、构建和文档化系统的...

Global site tag (gtag.js) - Google Analytics