使用PD(PowerDesigner)图如何快速生成创建数据库表的SQL脚本
打开PD软件:
1.新建概念模型(conceptual Data Model)
File-->New Model-->Conceptual Data Mode
或者点击工作区,右键-->New Model-->Conceptual Data Mode
2.打开模型时,会有方格线,去除方格线
Tools-->Dis
3.创建表并建立关系:
各个含义如下:
但是我在创建的过程中,报错如下:
在创建的过程中,人员表里有主键Code,性别表里也有主键Code,但是在创建的过程是报错,说是Code已经被占用了,
去除属性名重复的方法如下:
使用PD中,CDM默认实体属性不能重名,在CDM中唯一。可以通过设置,取消该限制。
选择 Tools->Model Options,取消 Data Item 组的Unique code 和 Allow reuse复选框。
Unique:设置实体属性是否唯一
Allow reuse:设置实体属性是否允许重用
注:默认使用唯一代码的好处是,改变属性,其他引用该属性的实体,都一起修改。该功能可以通过domain实现,设置属性在同一domain中,当需要修改字段类型的时候,修改domain一处即可。
4.将概念模型转换成物理模型
方法一:
操作:Tools-->GeneratePhysical Data Model
快捷键:ctrl+shift+p
注意:如果你的数据库是SQL server,请一定要选择要选择SQL Server 2008,
进入下图界面:(根据自己的需求切换相应的DBMS(数据库)点击【确定】就会将概念模型转换成物理模型).
??但是在生成的过程中报了一个实体属性重复的错误(如下图):
Checking data item ...
- Data Item name uniqueness
- Data Item code uniqueness
Error The following data item does not have unique code:
-> Data Item '编码' (<Model>)
-> Data Item '编码' (<Model>)
- Data Item not used
- Data Item used multiple times
解释:从上面的错误可以看出,PD给我们说,我在检查所有实体属性的过程中,发现了重复的属性,有两个相同的属性(Code和Name):编码
这是因为虽然我们在概念模型中:创建实体的过程中允许实体使用相同的编码和名称,但是我们并没有同时修改:在概念模型转换为物理模型的检查规则,我们这里,可以去修改检查实体的报错规则就可以了。
解决办法:
方法二:
General不变,Detail中将Check model去掉,就在转换为物理模型时不再检查实体错误了(当然这些错误是PD定义的默认规则)
5.物理模型如下:
6.生成带注释的sql
a.操作:Database-->Generate DataBase。。。,进入下图页面,
b、勾上以上复选框,否则当你备注为空的时候注释出不来;反之,如果你备注不为空那么名称(Name)才能作为注释出现!!
在Options可以选择要生存脚本的内容,可以选择是否创建数据库的脚本,选择要生成脚本的表
c、在selection中选择你需要生成sql的模块,指定输出目录。
7.PD图转换为脚本至此结束。
备注:有了脚本,找个数据库执行吧!
如果自己懒得修改脚本,最好新建个数据库去执行; 你勤快些的话可以把其他没用的脚本干掉,只保留主要脚本就OK了。
*博主的文章是自己平时开发总结的经验,由于博主的水平不高,不足和错误之处在所难免,希望大家能够批评指出。
*我的博客: http://www.cnblogs.com/lxhbky/