PowerDesigner中转换物理模型时的命名转换
最近在使用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,然后点击“确定”保存该更改。

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中转换物理模型时的命名转换的更多相关文章
- PowerDesigner中NAME和COMMENT的互相转换,需要执行语句
原文: http://www.cnblogs.com/xnxylf/p/3288718.html 由于PDM 的表中 Name 会默认=Code 所以很不方便, 所以需要将 StereoType 显示 ...
- PowerDesigner中NAME和COMMENT的互相转换
原文: http://www.cnblogs.com/yelaiju/archive/2013/04/26/3044828.html 由于PDM 的表中 Name 会默认=Code 所以很不方便, 所 ...
- PowerDesigner中遍历物理模型中的所有表,检查表代码、字段代码
'***************************************************************************** '文件:CheckCode4SqlServ ...
- PHP函数gmstrftime()将秒数转换成天时分秒
http://yangjunwei.com/a/930.html PHP函数gmstrftime()将秒数转换成天时分秒 一个应用场景需要用到倒计时的时分秒,比如新浪微博授权有效期剩余: 7天16 ...
- char[] 转换string时的自动截断问题
在char[] 转换string时可以直接转换,但当用char[]读取一个二进制文件之后,若char[] 中包含有'\0'时,在转换时会被string检测到并认为字符串末尾,后面内容会被截断,导致转换 ...
- 三:C#对象转换Json时的一些高级(特殊)设置;
导航目录: Newtonsoft.Json 概述 一:Newtonsoft.Json 支持序列化与反序列化的.net 对象类型: 二:C#对象.集合.DataTable与Json内容互转示例: ...
- (day67)组件、组件化、组件传参、JS补充(命名转换、for in 、数据转换)、css取消选中和模拟小手
目录 一.初识组件 (一)概念 (二)特点 二.组件的分类 (一)根组件 (二)局部组件 (三)全局组件 二.数据组件化 三.组件的传参 (一)父传子 (二)子传父 四.JS补充 (一)与html命名 ...
- (十)WebGIS中地理坐标与屏幕坐标间的转换原理
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.前言 地图本身是拥有坐标的,一般可以大致分为平面坐标和经纬度坐标, ...
- SQL中CONVERT日期不同格式的转换用法
SQL中CONVERT日期不同格式的转换用法 格式: CONVERT(data_type,expression[,style]) 说明:此样式一般在时间类型(datetime,smalldatetim ...
随机推荐
- php正则表达式总结第1弹
介绍几个我用到的php正则表达式 1. 一篇文章的链接,我需要去掉以 /hotels/打头的链接,可用下面正则 $content = preg_replace('/<a(.*?)href=&qu ...
- 小课堂Week9 例外处理设计的逆袭Part2
小课堂Week9 例外处理设计的逆袭Part2 今天继续阅读<例外处理设计的逆袭>这本书,我们先看两个案例: 案例1 问:如果要设计一个依据学号到数据库中查询学生资料的函数,当找不到符合条 ...
- php判断ip黑名单程序代码
学校的新闻系统要求有些新闻只开放校内ip浏览,于是重写了一个代码来实现此功能,实现后的结果是,只要把允许访问的ip列入ip.txt这个文件中即可,同时支持c类ip,例如: ip.txt192.1682 ...
- javascript 柯里化
先看一下代码 function add(){ var sum=0; for(var i=0;i<arguments.length;i++){ sum+=arguments[i]; } retur ...
- 数据的增量更新之EXISTS
有时候需要实现是数据的增量更新,因为更新全量会带来时间跟数据库资源的浪费,还有可能是数据出现冗余,所以需要使用增量数据同步,下面是一个数据增量同步的小实例. ---drop table A CREAT ...
- 【转载】MySQL 日志 undo | redo
本文是介绍MySQL数据库InnoDB存储引擎重做日志漫游 00 – Undo LogUndo Log 是为了实现事务的原子性,在MySQL数据库InnoDB存储引擎中,还用Undo Log来实现多版 ...
- iOS多线程编程Part 2/3 - NSOperation
多线程编程Part 1介绍了NSThread以及NSRunLoop,这篇Blog介绍另一种并发编程技术:NSOPeration. NSOperation & NSOperationQueue ...
- 微软职位内部推荐-Senior Speech TTS
微软近期Open的职位: Job Description: Responsibilities Do you want to change the way the world interacts wit ...
- LoadRunner 学习笔记(3)基础
LoadRunner包含的组件: Virtual User Generator 录制最终用户业务流程并创建自动化性能测试脚本,即 Vuser 脚本 Controller 组织.驱动.管理并监控负载测试 ...
- bnuoj 16493 Just Pour the Water(矩阵快速幂)
http://www.bnuoj.com/bnuoj/problem_show.php?pid=16493 [题解]:矩阵快速幂 [code]: #include <cstdlib> #i ...