很多人在设计数据库的过程中,通过设计CDM ---à 生成PDM --à 导入数据库的方式设计和生成所需要的数据库。
但是事实上信息的人会发现,在导入数据库之后,打开SQL Server 2008中相关的表,点击打开查看相关的列,会发现,只有主码的列字段才会被标注出来(标注为PK),而本应该标注出来的外码却没有标注出来(正确的情况下应该标注为FK)。如下图:
通过反转,即通过将已生成的数据库反转出PDM(具体方法不再详述),和网上一些能够在数据库中体现出外码约束的数据库PDM相比较,会发现,自己设计的PDM在导入到数据库之后不能体现数据库应有的外码约束的原因如下:
打开PDM模型,在Powerdesigner中打开 model -à References… 查看,会发现能够生成数据库中外码约束的PDM最右边Implementation属性显示为:Declarative;而不能生成外码约束的PDM的Implementation属性为:Trigger。如下图: