PowerDesigner中生成外键FK技巧

http://kaminlee.iteye.com/blog/1047996


昨天,使用PD来设计数据,从CDM->PDM->DB时,发现在CDM中建立的FK关联,居然在数据库中不能生成FK,本来想自己去DB中添加FK的,后来,想想还是去找找原因吧,反正有时间,,,十一假期吗?哈哈,我是宅程。。。


  在网站找了下,也没有找到具体的文章,后来自己就开始想办法了,办法是这样的,先在DB中建个库,再建两表,加上PK+FK,反向工程至PD,这个不用我说了吧?简单,,,

  最后去比较两个PDM中Referenses下的FK(就叫FK吧?)

非反向工程Referenses下的FK属性图

反向工程Referenses下的FK属性图

看到那里不一样了吗?在Implementation选择中一个是Trigger,一个是Declarative,现在找到了,那我把这里的改过来就可以了,心里这样想,注意下面的列表选项了,一开始,我只是变更Trigger怎么变都没有用,后来发现下面的这也不一样,要一起改了OK,再生成时DB中FK就有了,搞定,,,呵呵,后来一想不对呀,这时原PDM中从CDM中来的,再用CDM生成PDM时,上面属性,还是Trigger,要是再PDM中再手动改一边,FK不多还好,要是很多怎么办呀,于是,一切还得从源开始,去BAIDU吧,最近有些烦它,算了还是去SOSO,于是有搜到一篇讲的也是改动PDM来实现,还是自己去找吧?

后来回到CDM,在TOOLS-》Generate Physical Data Model 找开生成对话框,发现如下图

PowerDesigner中生成外键FK技巧_第1张图片

图1:

PowerDesigner中生成外键FK技巧_第2张图片

图2:

PowerDesigner中生成外键FK技巧_第3张图片

在图2中这样设置就可以了,当然也要注意其下面的在Default constraints下的两个选择

PowerDesigner中生成外键FK技巧_第4张图片

至此完成配置。你可以重新CDM->PDM->DB看看是不OK了,,,


在生成sql的时候,需要选择

2.jpg

PowerDesigner中生成外键FK技巧_第5张图片

然后如下图修改:

1.jpg

PowerDesigner中生成外键FK技巧_第6张图片

你可能感兴趣的:(操作系统)