• PowerDesigner一些小技巧


    1、安装PD v12.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 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里可以设置标题信息。

    PowerDesign的使用主要是DBMS的配置

    1、修改建表脚本生成规则。如果每个表格都有相同的字段,可以如下修改:

    Database -> Edit Current DBMS 展开 Script -> Object -> Table -> Create 见右下的Value值,可以直接修改如下:/* tablename: %TNAME% */

    create table [%QUALIFIER%]%TABLE% (

    %TABLDEFN%

    ts char(19) null default convert(char(19),getdate(),20),

    dr smallint null default 0

    )

    [%OPTIONS%]

    其中的 ts、dr 两列会在生成SQL脚本的时候自动的插入每个表格中,其中的%TNAME% 变量是给每个表格的SQL添加一个该表的Name值注释。

    2、修改字段生成规则。要给每个字段都添加一个注释的话,同一窗口中展开 Script -> Object -> Column -> Add 的 Value修改为:

    %20:COLUMN% [%COMPUTE%?AS (%COMPUTE%):%20:DATATYPE% [%IDENTITY%?%IDENTITY%:[%NULL%][%NOTNULL%]][ default %DEFAULT%]

    [[constraint %CONSTNAME%] check (%CONSTRAINT%)]]/*%COLNNAME%*/

    其中的%COLNNAME%就是列的Name值(可以是中文)

    3、修改外键命名规则。选择Database—>Edit Current DBMS

    选择Scripts-》Objects-》Reference-》ConstName

    可以发现右侧的Value为:

    FK_%.U8:CHILD%_%.U9:REFR%_%.U8:PARENT%

    可见,该命名方法是:'FK_'+8位子表名+9位Reference名+8位父表名,你可以根据这中模式自定义为:

    FK_%.U7:CHILD%_RELATIONS_%.U7:PARENT%,

    可以使FK名称变为FK_TABLE_2_RELATIONS_TABLE_1

    掌握这种方法后就可以按照自己的想法修改了

    生成建库脚本SQL文件中的表头注释很讨厌,可以在 Databse -> Generate Database (Ctrl+G)窗口中,选择Options卡片,去掉Usage的Title钩选项即可。

    4、添加外键

    Model -> References新建一条外键后,双击进入外键属性,在“Joins”卡片中可以选择子表的外键字段

    5、去掉生成的SQL脚本双引号的问题:ORACLE 8I2::Script\Sql\Format\CaseSensitivityUsingQuote改成No,默认是Yes所以会有双引号。

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

    6、有关Powerdesgner数据模型设计中,属性名同名问题的解决方法

    PowerDesigner默认在CDM中不能存在相同名称的实体属性,这也是考虑到可能产生的一些如主键外键等名称冲突问题,但当我们进行实际数据库设计时,可能会多次使用相同数据项(DataItem)便于理解各实体。为此需要对更改PowerDesigner相关设置。软件默认为DataItem不能重复使用(重名),需要进行以下操作:

    选择Tools->Model Options,在Model Setting设置目录中,将Data Item下的Unique Code取消选中即可,系统默认将Unique Code和Allow Reuse均选中。

    同时该设置均是面向特定模型的,即针对当前模型有效,若希望在其它模型中也有此命名设置,则需要重新进行设置。不过在Check Model时,如果选择全部Check,则依旧会报DataItem重名的错误信息,这时需要我们在人为检查确认数据项无误时,可以在选择不对DataItem不检查,各种数据类型对应匹配(这里只给出与SQL Server中的常用对应类型,其它DBMS可以使用类似处理)

    1 如何在PowerDesigner下建索引

    2 如何在PowerDesigner 下建自增列

    3 如何在PowerDesigner 下检查设计模型

    1 如何在PowerDesigner下建索引

    1 双击表设计图,出来Table Properties,在Tab 页中选择 Indexes

    PowerDesigner一些小技巧 - shang_jack2000 - 技术交流

    2 单击新建索引的属性,出现Indexex Properties

    PowerDesigner一些小技巧 - shang_jack2000 - 技术交流

    3 增加一个索引包含的字段

    PowerDesigner一些小技巧 - shang_jack2000 - 技术交流

    2 如何在PowerDesigner 下建自增列

    使用SqlServer 数据库中的下列语句来完成

    建表语句中,在要做为自增列的字段中,加上如下

    IDENTITY(1,1)

    还有可以使用下面语句,重置自增种子

    dbcc checkident(ConfigSys,reseed,0);

    3 如何在PowerDesigner 下检查设计模型

    1 在菜单栏中选择 Tools -? Check Model, 如下图

    PowerDesigner一些小技巧 - shang_jack2000 - 技术交流

    2 选择要检查的每项设置

    PowerDesigner一些小技巧 - shang_jack2000 - 技术交流

    3 确定后,将出来检查结果汇总信息

    PowerDesigner一些小技巧 - shang_jack2000 - 技术交流

  • 相关阅读:
    JavaScript实现继承机制(4)——构造函数+原型链混合方式
    NodeJS”热部署“代码,实现动态调试
    初识NodeJS,一个基于GoogleV8引擎的Javascript运行环境
    那些你不得不知道的JavaScript 变量命名规则
    JavaScript声明全局变量的三种方式
    JavaScript实现继承机制(3)——通过原型链(prototype chaining)方式
    JavaScript实现继承机制(1)—— 构造函数方法对象冒充
    C# readonly和const
    C# winform增加界面动态加载的流畅性
    C# 正确操作字符串,规避字符串转换所带来的额外开销
  • 原文地址:https://www.cnblogs.com/luluping/p/1757291.html
Copyright © 2020-2023  润新知