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

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介:

最近在使用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的了。

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
10月前
|
定位技术
ArcGIS:如何对Shapefile文件进行符号系统修改、标注、合并、分割、拓扑编辑等?
ArcGIS:如何对Shapefile文件进行符号系统修改、标注、合并、分割、拓扑编辑等?
279 0
|
10月前
|
SQL IDE Java
如何高效编码? 使用有意义的命名
编码中随处可见命名。我们给变量、函数、参数、类和包命名;我们jar文件命名。我们命名,命名,不断命名,既然有怎么多命名要做,不妨就做好它。
|
7月前
|
XML 数据格式
FastReport自动提取表的逻辑
FastReport自动提取表的逻辑
|
10月前
|
存储 编解码 文件存储
平面设计实验一 新建文件和格式模式转换
平面设计实验一 新建文件和格式模式转换
60 0
|
11月前
|
数据采集 移动开发 数据可视化
空间转录组|Load10X_Spatial函数修改适配多形式数据 + 空转标准流程
空间转录组|Load10X_Spatial函数修改适配多形式数据 + 空转标准流程
377 0
|
12月前
|
监控
数据标准应用(一):落标映射关系
数据标准创建完成后,需要指定其关联的资产对象才能发挥应用价值。数据标准和资产对象的映射关系当前可以通过落标映射规则来管理;生成映射关系后,对象是否遵循了映射到的标准定义则通过落标监控评估来判断。本文为您介绍落标映射关系的分类和管理方式。
993 0
|
存储 数据安全/隐私保护 C++
用户自定义结构数据与VARIANT转换
将用户自定义的C结构数据存储成VARIANT类型,需要时再将VARIANT类型转为用户自定义的结构数据,有十分现实的意义,既然我们不想为这样的结构数据写一个COM包装类。虽然有很多方法和手段生成这样的VARIANT,但是,多数时候可能需要一个更加简单的,灵活的方法。
850 0
|
数据库 数据安全/隐私保护 存储
PowerDesigner概念模型与物理模型相互转换及导出数据字典
原文:PowerDesigner概念模型与物理模型相互转换及导出数据字典   最近公司项目竣工,验收完成后,把整体平台的所有文档都写清楚,找包发给甲方,由于本人是维护数据库工作,依上面要求,必须编写《数据库设计说明书》里面格式包含三个部分:概念模型、物理模型、数据字典;平时我使用PowerDesi...
2264 0
|
数据采集 JavaScript 数据库