精华内容
下载资源
问答
  • PowerDesigner 的修改外键命名规则

    千次阅读 2019-08-23 16:00:00
    双击每行错误,发现外键引用的名字有重复的: 惯性去网上找解决办法,找到的主要是两个方法: 1.使用Automatic Correction 右键错误行,菜单中选择Automatic Correction,自动更正错误。 这样Constraint ...

    使用PowerDesigner生成数据库脚本时报 Constraint name uniqueness 错误:

    双击每行错误,发现外键引用的名字有重复的:

    惯性去网上找解决办法,找到的主要是两个方法:

    1.使用Automatic Correction

    右键错误行,菜单中选择Automatic Correction,自动更正错误。

    这样Constraint name 就会自动编号处理。

    2.手动修改Constraint name

    在外键引用编辑页面,点击Constraint name最右面的那个头像,然后修改Constraint name名称就可以了。

    虽然可以解决问题,但感觉治标不治本。仔细看自动生成的Constraint name,应该是有一个模版,根据名称模板自动生成的。只要找到这个名称模板,根据自己的规则修改下不就好了。所以给出第三种处理方法。

    3.修改引用名称模板

    菜单项 数据库(Database)->Edit Current DBMS…
    找到Scipt->Objects->Reference->ConstName节点,看到Value值就是自动生成的引用名称模板,具体含义就不解释了,对比下实际生成的引用名称就明白了,我改成 FK%REFR% ,让自动生成的名称就是外键编辑窗口中自定义的Code名称加个FK前缀就行了。

     

     

    原文地址 http://c-xuan.com/2016/09/12/ConstraintNameUniquenessProblem/

     

    修改外键命名规则

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

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

    如何实现Name和code不自动相等
    如何实现在CDM中创建Entity时,Name和Code不自动对应

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

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

    如何把NAME 列在 scrip里显示出来

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

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

    POWERdESIGEN  自增长列的设置

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

    --------------------------------------
    1 如何在PowerDesigner下建索引
    2 如何在PowerDesigner 下建自增列
    3 如何在PowerDesigner 下检查设计模型

      1 如何在PowerDesigner下建索引
      1 双击表设计图,出来Table Properties,在Tab 页中选择 Indexes

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

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

      2 如何在PowerDesigner 下建自增列
     2 使用SqlServer 数据库中的下列语句来完成
    建表语句中,在要做为自增列的字段中,加上如下
    IDENTITY(1,1)
    还有可以使用下面语句,重置自增种子
    dbcc checkident(ConfigSys,reseed,0);
      3 如何在PowerDesigner 下检查设计模型
      1 在菜单栏中选择 Tools - Check Model, 如下图

      2 选择要检查的每项设置

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

    展开全文
  • Oracle中表的外键是保证系统参照完整性的手段,在实际应用系统中,开发者为了保证系统的完整性,一般要定义大量的外键。如果外键的命名不规范,如...文中讨论如何将应用系统中不规范的外键命名修改为规范的外键名称。
  • 修改外键命名规则 选择Database—>Edit Current DBMS 选择Scripts-》Objects-》Reference-》ConstName 可以发现右侧的Value为: FK_%.U8:CHILD%_%.U9:REFR%_%.U8:PARENT% 可见,该命名方法是:'FK_'+8...

    修改外键命名规则

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

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

    如何实现Name和code不自动相等
    如何实现在CDM中创建Entity时,Name和Code不自动对应

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

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

    如何把NAME 列在 scrip里显示出来

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

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

    POWERdESIGEN  自增长列的设置

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

    --------------------------------------
    1 如何在PowerDesigner下建索引
    2 如何在PowerDesigner 下建自增列
    3 如何在PowerDesigner 下检查设计模型

      1 如何在PowerDesigner下建索引
      1 双击表设计图,出来Table Properties,在Tab 页中选择 Indexes

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

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

      2 如何在PowerDesigner 下建自增列
     2 使用SqlServer 数据库中的下列语句来完成
    建表语句中,在要做为自增列的字段中,加上如下
    IDENTITY(1,1)
    还有可以使用下面语句,重置自增种子
    dbcc checkident(ConfigSys,reseed,0);
      3 如何在PowerDesigner 下检查设计模型
      1 在菜单栏中选择 Tools - Check Model, 如下图

      2 选择要检查的每项设置

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

    转载于:https://my.oschina.net/u/1464512/blog/708614

    展开全文
  • 外键命名规范

    千次阅读 2021-03-31 14:14:19
    数据库 外键命名规范 外键字段:与主表主键字段完全一样 主键:pk_+表名 外键:fk_+从表名+_+主表名 搜索关键词: 数据库 外键命名规范、外键、

    数据库 外键命名规范


    外键字段:与主表主键字段完全一样
    主键:pk_+表名
    例如:pk_main
    外键:fk_+从表名+_+主表名
    例如:fk_sub_main


    搜索关键词:
    数据库 外键命名规范、外键、

    展开全文
  • PowerDesigner 12小技巧-pd小技巧-pd工具栏不见了-pd修改外键命名规则-pd添加外键 1. 附加:工具栏不见了 调色板(Palette)快捷工具栏不见了PowerDesigner 快捷工具栏 palette 不见了,怎么重新打开,找回来呢 上网...

    PowerDesigner 12小技巧-pd小技巧-pd工具栏不见了-pd修改外键命名规则-pd添加外键

    1. 附加:工具栏不见了

    调色板(Palette)快捷工具栏不见了
    PowerDesigner 快捷工具栏 palette 不见了,怎么重新打开,找回来呢

    上网搜索了一下”powerdesigner 图形工具栏”,找到了找回PowerDesigner工具栏palette的方法
    Tools(工具栏)
    customsize toolbars(自定义工具栏)
    palette(调色板)勾选

     

    2. 修改外键命名规则

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

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

     

    4. 如何实现Name和code不自动相等
    如何实现在CDM中创建Entity时,Name和Code不自动对应

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

     

    5. 如何把NAME 列在 scrip里显示出来

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

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

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

     

    6. POWERdESIGEN 自增长列的设置

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

     

    7.  如何在PowerDesigner下建索引
    1 双击表设计图,出来Table Properties,在Tab 页中选择 Indexes

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

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

     

    8. 如何在PowerDesigner 下建自增列
    使用SqlServer 数据库中的下列语句来完成
    建表语句中,在要做为自增列的字段中,加上如下
    IDENTITY(1,1)
    还有可以使用下面语句,重置自增种子
    dbcc checkident(ConfigSys,reseed,0);


    9. 如何在PowerDesigner 下检查设计模型
    1 在菜单栏中选择 Tools -? Check Model, 如下图

    2 选择要检查的每项设置

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

     

    10. 设置CDM生成PDM时的错误检查

    Tools --> Check Model

     

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

     

    12. PowerDesigner8中的CDM设计的外键作主键的问题
    两个实体之间是一对一的关系。两个实体的标识符是“一样的”--但是好像CDM中不允许相同。这样的情况怎么处理?
    CDM里好像没有外键,我是说转换成PDM之后,外键又要做表的主键,在对应的CDM里是怎么设置的?
    双击关系,在弹出的Relationship Properties窗口中选择Detail选项,然后将Dependent复选框选中,即可

     

    13. 禁止根据name自动输入code

    Tools --> General Options --> Dialog --> 取消选中Name to Code mirroring

     

    14。使用PowerDesigner检查数据库设计错误~

    PowerDesigner 还可用于快速检测新模型中的数据库设计错误。

    检查新的模式:

    从 [Tools] 菜单中选择 [Check Model]。

    此时,就会出现 [Check Model Parameters] 对话框。可以使用缺省参数。

    另外也可以直接在空白处单击右键,选择Check Model...即可,我一般喜欢这样用。

    单击 [确定]。

    此时,在 [Result List] 中就会显示 [Check Model] 的结果。

     

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

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

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

    在菜单上选择Tools -> Generate Phisical Data Model

    最后选择你的数据库类型,即可。

     

    16。使用PowerDesigner生成SQL语句~

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

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

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

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

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

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

    确保选中了 [ Generation]。

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

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

    单击 [确定]。

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

     

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

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

     

    18。如何建立联合主键?

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

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

     

    19。如何建立外键Foreign Key?

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

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

     

    20。如何生成数据字典?

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

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

    1、安装PD v11.0版

    2、由生成建表脚本时,字段超过15字符就发生错误()
    原因未知,解决办法是打开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”把把这个资源文件拷贝到模型中。

    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 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里可以设置标题信息

     

    1。pd中复制一列是,实际上是一个链接。源列的变动同时体现在复制列上

    2。数据库设计通常步骤:CDM确定主要结构--》生成PDM--》在PDM上修改,必要时生成CDM

    3。若由pdm生成cdm再生成pdm,在pdm中修改过的外键名将被改回到默认值

    4。必要时可以通过修改模板(Database-Edit Current DataBase)改变脚本的格式。例如:
    Script-Objects-Column-Add的Value中开头增加一行“--%COLNNAME%”以便在脚本中显示列的中英文对照

    5。去掉讨厌的name、code映射:Tools-General Options-clear the Name to Code mirroring check box

    6。对于大小写不敏感的数据库(如Oracle),PowerDesign在创建脚本时自动给表名和字段名加上双引号,以“强字符串”形式来获取区分大小写,这样给SQL语句的编写制造很多麻烦。去掉这个添足的功能:
    Database -〉Edit Current DBMS -〉Script. -〉Sql -〉Format -〉CaseSensitivityUsingQuote
    右边面板参数值 Value 选择No

    7。由cdm生成pdm,可以控制是否将关系生成引用;由pdm生成脚本,可以控制是否将引用生成外键

    8。对于oracle而言,为表设置选项(如tablespace GPSSYSTEM)可使其创建到正确的表空间;为主键设置选项(using index tablespace GPSINDEX)使索引创建到正确的表空间中

     

    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

     

     

    唯一约束

    唯一约束与创建唯一索引基本上是一回事,因为在创建唯一约束的时候,系统会创建对应的一个唯一索引,通过唯一索引来实现约束。不过唯一约束更直观的表达了对应列的唯一性,使得对应索引的目的更加清晰,所以一般建议创建唯一约束而不是只创建唯一索引。

    在PD中创建唯一约束的操作,以教室表来说,RoomID是主键,必然是唯一的,RoomName如果我们也要去必须是唯一的,那么具体操作如下:

    在PD的模型设计面板中,双击“教室”表,打开属性窗口,切换到"”Keys”选项卡,可以看到里面有一行数据PK_ClassRoom,这是主键约束。添加一行数据,命名为UQ_RoomName,不能将右边的“P”列选上,然后单击工具栏的“属性”按钮,弹出UQ_RoomName的属性窗口,切换到列选项卡,单击增加列按钮,选择将RoomName列添加到其中,然后单击确定即可完成唯一约束的添加。

     

    展开全文
  • 外键命名方案

    2021-05-01 03:26:46
    My usual approach isFK_ColumnNameOfForeignKey_TableNameOfReference_ColumnNameOfReferenceOr in other termsFK_ChildColumnName_ParentTableName_ParentColumnNameThis way I can name two foreign keys that re...
  • mysql--外键(froeign key)

    千次阅读 2021-01-19 01:03:22
    如果一个实体的某个字段指向另一个实体的主键,就称为外键被指向的实体,称之为主实体(主表),也叫父实体(父表)。负责指向的实体,称之为从实体(从表),也叫子实体(子表)作用:用于约束处于关系内的实体增加子表记录...
  • 命名规则外键约束

    万次阅读 2013-10-30 09:47:52
    FK_ForeignTable_PrimaryTable_On_ForeignColumn  直白的翻译就是,ForeignTable在ForeignColumn列上引用了PrimaryTable的主键。
  • mysql基本约定与命名规范

    万次阅读 2016-10-20 15:17:08
    一、约定 1、如无特殊需求,所有表使用innodb引擎 2、如无特殊需求,所有主键均为自增类型 3、如无特殊需求,所有字段均为NOT NULL,并给定默认值 4、所有字段均设置备注,枚举字段需要说明每...二、命名规范 ...
  • 数据库命名规则

    万次阅读 2016-08-15 16:26:52
    1. 基本命名规则   表 1. 基本数据库对象命名  数据库对象 前缀 表 (Table) 字段(Column) 视图 (View) 存储过程 (Stored procedure) 触发器(Trigger) ...
  • oracle命名规则

    千次阅读 2014-02-08 15:29:07
     使用统一的命名和编码规范,使数据库命名及编码风格标准化,以便于阅读、理解和继承。  2、适用范围  本规范适用于公司范围内所有以ORACLE作为后台数据库的应用系统和项目开发工作。  3、对象命名规范...
  • 数据库设计中的命名规范

    千次阅读 2014-04-30 19:15:54
    此规范包括表名命名规范,索引命名规范,外键命名规范和字段名命名规范。 一、表名命名规则 1.数据库表的命名以是名词的复数形式且都为小写,如cities, categories, friends等等 2.如果表名由几个单词组成,则...
  • 重新分析数据库字段,与test_id_id相关的只能是外键test_id与外表关联时产生的,所以推测,在Django中对外键字段的命名规则为: '本表字段名'+'_'+'外表字段名' 由此,修改原表格中的test_id字段为test_id_id,...
  • MySQL schema命名规则

    2021-02-07 06:58:39
    /*****************bygarcon1986************************************************************/通用规则:整个数据库里的名字都尽量使用小写。这样能消除由于大小写(case-sensitivity)带来的错误。Mysql默认区分大...
  • SQL及其他命名规则

    2019-09-28 17:38:57
    1.基本命名规则 表1.基本数据库对象命名 数据库对象 前缀 表(Table) 字段(Column) 视图(View) 存储过程(Stored procedure) 触发器(Trigger) 索引(Index) 主键(Primary key) 外键...
  • SQLSERVER数据库命名规范
  • 1.数据库设计14规则 1. 原始单据与实体之间的关系   可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。  在特殊情况下,它们可能是一对多或多对...
  • Oracle中表的外键是保证系统参照完整性的手段,而参照完整性是指分布在两个表中的列所满足的具有主从性质的约束关系。外键涉及到两个表,其中一个称之为父项表,另一个称之为子项表。父项表(parent table)是参照约束...
  • Mysql 01—数据库表字段的命名规则

    千次阅读 2019-07-04 14:45:11
    在后续开发使用原来数据库表时,也会因为数据库表的可读性不够高,表字段规则不统一,造成数据查询,数据使用效率低的问题,所以有必要整理出一套合适的数据库表字段命名规范来解决优化这些问题。 本文是一篇包含了...
  • 数据库命名规范(表、字段名)数据库命名规范一.实体和属性的命名1.常用单词已经进行了缩写,在命名过程当中,根据语义拼凑缩写即可。注意,由于ORCAL数据库会将字段名称统一成大写或者小写中的一种,所以要求加上...
  • 这里我们的主键是两个列,组成一个复合索引,即(sno,cno),相当于(sno),(sno,cno),所以我们看到,外键自动创建的索引只有(cno),因为(sno)已经有过啦 当然你也可以强制加索引,但是不建议,因为索引使用不当有很多...
  • 数据库对象命名规则

    千次阅读 2019-03-28 16:31:39
    每个公司或者企业数据库、表、字段等都有自己命名规则,数据库开发时数据库、表、字段、视图、触发器、存储过程、变量名、主键、外键、索引等的命名规则。 (1) 数据库(Database) 数据库名称 = 数据库内容标识(首字...
  • EditCurrentDBMS选择Scripts-》Objects-》Reference-》ConstName可以发现右侧的Value为:FK_%.U8:CHILD%_%.U9:REFR%_%.U8:PARENT%可见,该命名方法是:'FK_'+8位子表名+9位Reference名+8位父表名,你可以根据这中...
  • Oracle 索引标准命名规则 主键索引:应包含表名和一个后缀,如 _PK。 唯一建索引:应包含表名和一个后缀,如_UKN(N为数字)。 外键列上的索引:应包含外键表和一个后缀,如_FKN(N为数字)。 不用约束的索引:应...
  • 数据库表字段的命名规则

    千次阅读 2018-01-21 20:44:49
    数据库表字段命名规范 ...在后续开发使用原来数据库表时,也会因为数据库表的可读性不够高,表字段规则不统一,造成数据查询,数据使用效率低的问题,所以有必要整理出一套合适的数据库表字段命名

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,581
精华内容 7,432
关键字:

外键命名规则