• powerdesigner的一些技巧


    powerdesigner的一些技巧

    http://anforen.5d6d.com/

    先说下自己的发现: 

    刚用powerdesigner有许多基本使用上的问题, 比如表和字段长度不能稍微长点, 导出时候报warning说表没有index或没有被引用。 后来发现这些都是check model在起作用, 调整一下check model对各种对象的check 规则就能解决以上问题, 比如关闭长度的检查,去掉对表index和引用的warn级别检查(warn只会提示一下, error的就会判定为check失败)。 

    关闭check model又是过于极端的做法, 不太合适, 自己检查还是不如机器检查来的快和全面。 



    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 生成记录行数)

    http://anforen.5d6d.com/

  • 相关阅读:
    网络编程2018-4-23
    网络编程
    异常处理
    在Asp.net core使用配置Json创建动态目录树
    Asp.net Core中文转换成拼音
    解决Asp.Net core 控制台出现乱码的情况
    解决Asp.net Core中chtml文档中文乱码的问题
    取代Ajax.BeginForm的ajax使用方法
    将数据库模型放入到.Net Core的类库中
    如何使用Resource资源文件
  • 原文地址:https://www.cnblogs.com/meta/p/1722780.html
Copyright © 2020-2023  润新知