使用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 确定后,将出来检查结果汇总信息