• powerdesigner操作


    转:http://w-tingsheng.blog.163.com/blog/static/25056034201392331452977/

    使用PowerDesigner生成数据库 建表SQL 脚 本时,尤其是Oracle数据库时,表名一般会带引号。其实加引号是PL/SQL的规范,数据库会严格按照“”中的名称建表,如果没有“”,会按照 ORACLE默认的设置建表(DBA STUDIO里面),默认是全部大写,这样,在ORACLE数据库里的字段就如“Column_1”。如果你把引号去掉,ORACLE自动默认为全部大 写,即“COLUMN_1”,所以这段SQL在PL/SQL中执行的时候是没有任何问题的,如果不加引号,在PL/SQL会自动识别为大写。如果加了引 号,sql或者hql查询“Column_1='XXX'”时,就会报错:ORA-00904: "COLUMN_1": 无效的标识符,除非写为“‘Column_1’='XXX'”。

     这个问题是生成脚本格式的问题,因此,我们可以 尝试在DBMS配置文件中修改相应的格式设置来解决这个问题。选择DBMS Properties,选择Script->Sql->Format,有一项CaseSensitivityUsingQuote, 它的comment为“Determines if the case sensitivity for identifiers is managed using double quotes”,表示是否适用双引号来规定标识符的大小写,可以看到右边的values默认值为“YES”,改为“No”,点击【应用】按钮。

    1、去掉Oracle生成的SQL创建语句中的双引号 
    用powerdesigner导出orale数据库的建表sql时,默认会给表名和字段名加上双引号,如下图:

    这样给操作数据库带来很大的不便,解决的办法是设置Database菜单,

    然后点击Edit Current DBMS菜单,再依次点开Script->Format,然后找到CaseSensitivityUsingQuote
    将其设为NO,即可。如下图:

    如果带有包的话,导出时要选择包中的表。

    2、PowerDesign高级应用
    编写相关的VBS脚本在PowerDesign里自定义一些命令与操作等,具体的可以参考C:Program FilesSybasePowerDesigner 9VB Scripts目录下的脚本示例。怎么运用这些脚本呢?
    在Tools->Execute Commands里可以进行操作。具体说明在帮助里写的很清楚。帮助的位置在 PowerDesigner General Features Guide-> PART 2. Modeling Guide->CHAPTER 8. Managing Objects->Accessing objects using VBScript->VBScript uses in PowerDesigner

    PowerDesign的使用主要是DBMS的配置
    3、修改建表脚本生成规则。
    如果每个表格都有相同的字段,可以如下修改:
    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值注释。

    4、修改字段生成规则
    要给每个字段都添加一个注释的话,同一窗口中展开 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值(可以是中文)

    5、修改外键命名规则。
    选择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钩选项即可。

    6、添加外键
    Model -> References新建一条外键后,双击进入外键属性,在“Joins”卡片中可以选择子表的外键字段。如下图:

    接着出现如下画面:

    按照步骤操作即可。

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



    编写相关的VBS脚本在PowerDesign里自定义一些命令与操作等,具体的可以参考C:Program FilesSybasePowerDesigner 9VB Scripts目录下的脚本示例。怎么运用这些脚本呢?
    在Tools-》Execute Commands里可以进行操作。具体说明在帮助里写的很清楚。帮助的位置在 PowerDesigner General Features Guide-> PART 2. Modeling Guide->CHAPTER 8. Managing Objects->Accessing objects using VBScript->VBScript uses in PowerDesigner

    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::ScriptSqlFormatCaseSensitivityUsingQuote改成No,默认是Yes所以会有双引号。

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

  • 相关阅读:
    python第三周练习
    python第一周作业
    SQLite3—数据库的学习—python
    python实现跳一跳辅助的实验报告
    Python——自己的第一个网页(文件的使用)
    第一次爬虫和测试
    numpy和matplotlib使用
    Python作业———预测球队比赛成绩
    PIL库的学习
    Pytho作业——Jieba库的使用和好玩的词云
  • 原文地址:https://www.cnblogs.com/songling/p/3923936.html
Copyright © 2020-2023  润新知