欢迎来到天天文库
浏览记录
ID:41551197
大小:102.05 KB
页数:3页
时间:2019-08-27
《不能从PDM图生成外键约束的问题》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、最近用PowerDesignerlS做数据库设计的时候发现如果先做好了CDH图,然后生成PDH,再生成SQL2005或SQL2008脚木,发现始终无法生成外键约束。我估计很多人都遇到了类似的问题。经过查找和摸索终于解决了这个问题,现在将过程叙述如下,希望对大家有帮助。实验过程如下:1、生成在CDM中建立两个实体Entity_l和Entity_2,并建立关系Relationship。2、自动生成MSSQLServer2008的PDM。3.选择DBMS类型为SQL2008然后生成Database脚本/*==============================================
2、================*//*DBMSname:MicrosoftSQLServer2008*//*Createdon:2010/4/519:36:09*//*二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二*/ifexists(select1fromsysobjectswhereid=object_idCEntity_1Vandtype='U‘)droptableEntity」goifexists(select1fromsysindexeswhereid=objcct_idCEntity_2")andn
3、ame="Relationship1FK‘andindid>0andindid<255)dropindexEntity_2.Relationship_l_FKgoifexists(select1fromsysobjectswhereid=objcct_idCEntity_2")andtype='U,)droptableEntity_2go/*==============================================================*//*Table:Entity_l*//*二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二
4、二二二二二二二二二二二二二二二二二二二二*/createtableEntity_l(Attribute_lintnotnull,Attribute^intnull,constraintPKENTITY1primarykeynonclustered(Attribute1))go/*==============================================================*//*Table:Entity_2*//*二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二*/createtabl
5、eEntity_2(Attributedintnotnull,Attributc_lintnull,Attribute7intnull,constraintPK_ENTITY_2primarykeynonclustered(Attribute^))go/*二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二*//*Index:Relationship_l_FK*//*二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二*/createindexRe
6、lationship_1_FKonEntity_2(Attribute_lASC)go从上面脚本可以看出没有生成需要的外键约束,只是生成了相关索引。解决方法如下:1.打开生成的PDM2.将DBMS类型换为MSSQL20003.在Model菜单屮选择References命令,可以看到最后的Implementation被设置为Trigger1.将Implementation被设置为Declarative(如果没有第二步就不能完成本步)2.将DBMS类型换为MSSQL20083.生成MSSQL2008数据库生成脚本,能够正常生成需要的外键
此文档下载收益归作者所有