28/01/2014 MCAFEE SECURE 認證的網站

https://www.mcafeesecure.com/RatingVerify?ref=www.HongKongCupid.com

2013年5月25日 星期六

**開發源之** PowerDesigner中轉换物理模型时的命名轉换**~



      **開發源之** PowerDesigner
中轉换物理模型时的命名轉换**~ 

   ))最近在使用PowerDesigner
建模数据库,在使用中积累了一
些遇到的问题和解决办法,记录
下来,希望对遇到同样问题的朋友
有所帮助。
  早期在PowerDesigner中,只有概念模型和
物理模型,一般是先建立概念默认,然后根据
具体的数据库生成物理模型。但是概念模型太
抽象,物理模型太具体,于是在PowerDesigner 
15版本之后出现了“逻辑模型”,能够从概念 
模型和物理模型各自的角度上都容易理解。所以 
现在的数据库建模方式就变成了先建立概念模型 
然后生成逻辑模型,修改了逻辑模型后,最后生 
成物理模型,由物理模型生成数据库脚本。
在生成物理模型时,遇到了以下几个问题:

 一.在选择生成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的了。
 
))
))
 
QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

沒有留言:

張貼留言


if you like make fds, wellcome you here~~anytime***

my free place for everyones who want the good software,

come & download them~ wellcome!!