PowerDesigner中转换物理模型时的命名转换

原创 2012年03月31日 10:39:42

最近在使用PowerDesigner建模数据库,在使用中积累了一些遇到的问题和解决办法,记录下来,希望对遇到同样问题的朋友有所帮助。

早期在PowerDesigner中,只有概念模型和物理模型,一般是先建立概念默认,然后根据具体的数据库生成物理模型。但是概念模型太抽象,物理模型太具体,于是在PowerDesigner15版本之后出现了“逻辑模型”,能够从概念模型和物理模型各自的角度上都容易理解。所以现在的数据库建模方式就变成了先建立概念模型然后生成逻辑模型,修改了逻辑模型后,最后生成物理模型,由物理模型生成数据库脚本。

在生成物理模型时,遇到了以下几个问题:

一.在选择生成SQL Server 2005或者SQL Server 2008时,没有将Date类型和Time类型转化为Date类型和Time类型,而是转化为了DateTime类型。这点非常受不了,本来在概念设计时就分了Date ,Time,DateTime,结果转化到SQL Server后就全部变成了DateTime了。

SQL Server 从2005开始就支持单独的Date类型和Time类型了,而不像SQL Server2000那样,只有DateTime和SmallDateTime。解决办法如下:

1.打开该物理模型或者随便新建一个空白的SQL Server 2008的物理模型。

2.选择菜单“Database”下的“Edit Current DBMS”选项,打开了DBMS Properties对话框。

3.在General选项卡中,展开Script、DataType,选中AmcdDataType,可以看到内部数据类型和物理数据类型的映射表,将D和T对应的数据类型改为date和time,然后点击“确定”保存该更改。

image

4.回到逻辑模型,重新生成物理模型,即可。

二、生成的物理模型默认情况下模型验证不通过,“Constraint name uniqueness”,生成的外键名时单词简略的有点奇怪。

这种情况下的解决办法和上一个问题的解决办法类似,还是在DBMS Properties中进行修改。

1.打开DBMS Properties窗口。

2.在General选项卡中,展开Script、Object、Reference,选中ConstName,可以看到Value值为FK_%.U8:CHILD%_%.U9:REFR%_%.U8:PARENT%,这个规则我个人不是很喜欢,容易造成重名,所以我打算使用FK_加上Reference的Code来生成外键名,所以改为:FK_%REFRCODE%

3.保存,重新生成。

三、默认生成的主键是非聚集索引,应该默认是聚集索引。

这个问题比较麻烦,不知道为什么生成的主键索引是非聚集索引,但是简单的改法也是与上面操作类似。

找到Script、Object、PKey的Create选项,其Value值如下:

alter table [%QUALIFIER%]%TABLE%[%R%?[ with nocheck][ with check]] 
   add [constraint %CONSTNAME% ]primary key [%CLUSTER%?[%R%?[clustered ]]:nonclustered ](%PKEYCOLUMNS%) 
      [%OPTIONS%]

这里有一个控制是否聚集索引的开关%CLUSTER%和%R%,不知道这两个变量是在哪里设置的,不过可以简单粗暴的将该脚本改为:

alter table [%QUALIFIER%]%TABLE%[%R%?[ with nocheck][ with check]] 
   add [constraint %CONSTNAME% ]primary key clustered (%PKEYCOLUMNS%) 
      [%OPTIONS%]

这样生成的脚本就是Cluster的了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

powerdesigner 概念模型转化成物理模型

点击"tool"=>"Generate Physical Data Model"即可生成PDM
  • minwang593
  • minwang593
  • 2013年10月21日 09:38
  • 2416

PowerDesigner中转换物理模型时的命名转换

最近在使用PowerDesigner建模数据库,在使用中积累了一些遇到的问题和解决办法,记录下来,希望对遇到同样问题的朋友有所帮助。 早期在PowerDesigner中,只有概念模型和物理模型,一般...
  • studyzy
  • studyzy
  • 2013年09月10日 14:23
  • 1484

使用PowerDesigner将Oracle中的表结构转为物理数据模型

最近因为工作需要,了解了一下PowerDesigner和oracle之间的微妙关系,特将自己的总结分享给各位小伙伴。 一、导出oracle中的物理数据模型 1、导出的过程,就是做了一个逆向工程的过程,...
  • zhaoguoshuai91
  • zhaoguoshuai91
  • 2015年06月14日 20:00
  • 1431

PowerDesigner物理模型用法总结

1.  生成sql脚本 Database→Generate Database 选择要输出的文件路径,即文件存储路径,并根据需要修改文件名,单击确定后便会生成sql脚本。 在O...
  • fyq891014
  • fyq891014
  • 2013年09月22日 16:48
  • 3851

PowerDesigner 物理数据模型生成数据库脚本并执行

pdm(物理数据模型设计好以后,最终是要将其转化为数据库实体的。 1.确认当前Powerdesigner设置的dbms是否正确,即是否是我们要生成的数据库类型,我在这里使用的是mysql Powe...
  • kalision
  • kalision
  • 2014年12月12日 11:12
  • 3165

使用PowerDesigner的物理模型生成不同的数据库和转换成OOM模型生成CS实体类代码

转:http://blog.csdn.net/huwei2003/article/details/6123065    5
  • zhangrun1
  • zhangrun1
  • 2014年06月09日 14:58
  • 1888

Powerdesigner物理模型显示注释

Powerdesigner物理模型显示注释信息,或者说按自己的设定格式显示;
  • shuzhiduxing
  • shuzhiduxing
  • 2017年01月19日 14:14
  • 456

PowerDesigner模型分类+物理模型的使用

PowerDesigner主要分为7种建模文件: 1.  概念数据模型 (CDM) 对数据和信息进行建模,利用实体-关系图(E-R图)的形式组织数据,检验数据设计的有效性和合理性。 2.  逻辑...
  • gt_evolution
  • gt_evolution
  • 2015年10月19日 17:31
  • 1468

Powerdesigner15-物理模型-导出建表sql语句

Powerdesigner15-物理模型-导出建表sql语句   1.设置哪种数据库导出的sql语句,设置数据库类型       2.导出sql语句 ...
  • wangcunhuazi
  • wangcunhuazi
  • 2014年11月17日 23:06
  • 2839

PowerDesigner 数据库生成物理数据模型 生成数据库测试数据

特别说明:原文出处http://blog.csdn.net/horace20 1、环境 PowerDesigner15.2.0.3042-BEAN+ MySQL5.5 + mysql-connec...
  • kalision
  • kalision
  • 2014年12月12日 10:38
  • 2308
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PowerDesigner中转换物理模型时的命名转换
举报原因:
原因补充:

(最多只允许输入30个字)