zoukankan      html  css  js  c++  java
  • 使用POWERDESIGNER设计数据库的20条技巧(转)

    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即可

    6、自定义外键命名规则

    ◇问题描述:

    当我们定义外键时,Power Desienger的外键规则如何自定义?

    ◇解决方法:

    1)选择Database—>Edit Current DBMS

    2)选择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钩选项即可。

    3)添加外键

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

    7、如何实现Name和code不自动相等

    ◇问题描述:

    Power Desienger中总是默认Code=Name,能改变它吗?

    ◇解决方法:

    设置tools--Gerneral options--->dialog---->name to code mirroring

    8、Power Desienger自增长列的设置

    ◇问题描述:

    Power Desienger中如何实现自增长列?

    ◇解决方法:

    PDM里查看表的属性,Columns选项卡,选中整列,查看列属性,点左上方的properties图标(有手形图案的那个),此时打开一个设置窗口,General选项卡里面进行设置,在列属性的General标签页里有个Identity复选框,勾上就行了。

    9、如何在PowerDesigner下建索引

    ◇问题描述:

    如何在Power Designer下建索引?

    ◇解决方法:

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

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

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

    10、如何在PowerDesigner 下检查设计模型

    ◇问题描述:

    如何在PowerDesigner 下检查设计模型

    ◇解决方法:

    1)在菜单栏中选择 Tools -? Check Model

    2)选择要检查的每项设置

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

    11、Conceptual Data Model (CDM)与Physical Data Model(PDM)

    ◇问题描述:

    如何将Conceptual Data Model (CDM)转换成Physical Data Model(PDM)?

    ◇解决方法:

    即将概念数据模型转换成物理数据模型。

    二者的区别是,CDM是纯粹概念上的模型,PDM是和具体的数据库类型相关的,比如SQL Server 2000或者Oracle。生成SQL语句当然也就需要从PDM生成。

    在菜单上选择Tools -> Generate Phisical Data Model,最后选择你的数据库类型,即可。

    12、使用PowerDesigner生成SQL语句

    ◇问题描述:

    如何使用PowerDesigner生成SQL语句?

    ◇解决方法:

    可以使用 PowerDesigner 生成一个 SQL 脚本,该脚本用于实施模型的所有组件。然后,使用 SQL 脚本生成一个数据库。

    这时候要确保你用的是PDM。

    生成 SQL 脚本以新建数据库:

    从 [Database] 菜单中选择 [Generate Database]。

    此时,就会出现 [Database Generation] 对话框

    在 [Directory] 字段中键入 c:Temp,并在 [File Name] 字段中键入 NewDemo.sql。

    确保选中了 [ Generation]。

    单击 [Database] 选项卡,并确保选中了 [Create Database]。

    浏览其它选项卡,以查看控制所生成脚本的许多其它属性的选项。

    单击 [确定]。

    创建脚本后,就会出现 [Result] 对话框。

    13、Warning : table Existence of index 表名

    ◇问题描述:

    为什么出现Warning : table Existence of index 表名 ?

    ◇解决方法:

    说明该表没有建立索引。不过这是一个警告,不是错误,可以不用理会它。

    14、建立联合主键

    ◇问题描述:

    如何建立联合主键?

    ◇解决方法:

    联合主键就是一个表里面有多个主键,比如一份学生选课的表里面,学生ID和课程ID就同时是主键。

    在设置Attributes,把2个字段的P那项都勾上,P表示Primary Key主键。

    15、建立外键Foreign Key

    ◇问题描述:

    如何建立外键Foreign Key?

    ◇解决方法:

    在PowerDesigner中,通过建立关系Relationship就可以自动建立外键,不需要手动添加。

    而建立Relationship有2种办法:可以通过菜单选择Model -> Relationships...,也可以通过在右边的工具栏中拖拽Relationship控件。

    16、生成数据字典

    ◇问题描述:

    如何生成数据字典?

    ◇解决方法:

    通过菜单Report -> Report Wizard...可以生成

    注意可以选择Template.因为我是通过PDM生成,所以选择了Standard Physical Template~

    17、由pdm生成建表脚本时,字段超过15字符就发生错误(oracle)

    ◇问题描述:

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

    18、生成的建表脚本中把对象的双引号去掉

    ◇问题描述:

    生成的建表脚本中如何把对象的双引号去掉?

    ◇解决方法:

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

    19、防止一对一的关系生成两个引用(外键)

    ◇问题描述:

    如何防止一对一的关系生成两个引用(外键)?

    ◇解决方法:

    要定义关系的支配方向,占支配地位的实体(有D标志)变为父表。

    在cdm中双击一对一关系->Detail->Dominant role选择支配关系

    20、修改报表模板中一些术语的定义

    ◇问题描述:

    如何修改报表模板中一些术语的定义?

    ◇解决方法:

    即文件: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里可以设置标题信息。

  • 相关阅读:
    洛谷 P1284 三角形牧场WD
    luogu P3817 小A的糖果
    P3374 【模板】树状数组 1
    线程与threading模块
    socketserver模块
    python 粘包问题及解决方法
    python 网络编程
    类的进阶四 反射和内置方法
    python hashlib模块 logging模块 subprocess模块
    类的进阶三
  • 原文地址:https://www.cnblogs.com/superfeeling/p/6138855.html
Copyright © 2011-2022 走看看