使用POWERDESIGNER设计数据库的20条技巧(转)
1、PowerDesigner使用MySQL的auto_increment
◇问题描述:
PD怎样能使主键id使用MySQL的auto_increment呢?
◇解决方法:
打开table properties窗口 → columns → 选中id列 → 打开columns properties窗口 → 勾选identity即可
注意:概念模型没有此选项,物理模型才有
2、PowerDesigner去掉SQL脚本中的双引号
◇问题描述:
PD生成Oracle数据库建表SQL时,默认会给表名和字段名加上双引号,怎样能去掉SQL脚本中的双引号呢?
◇解决方法:
把Database → Edit Current DBMS → General → Script → Sql → Format → CaseSensitivityUsingQuote设置为NO即可
3、PowerDesigner生成SQL语句时不使用Domain
◇问题描述:
如果在PD中使用了Domain,生成SQLServer的数据库SQL的脚本中会使用与Domain对应的自定义数据类型,而不会使用 SQLServer自己的数据类型,怎样能让PD生成SQL语句时使用SQLServer自己的数据库类型,而不是Domain对应的自定义数据类型呢?
◇解决方法:
把Database → Edit Current DBMS → General → Script → Objects → Domain → Enable设置为NO即可
4、PowerDesigner中设置Entity的默认字体
◇问题描述:
创建Entity时,如果PD默认字体不适合自己的个人习惯,每次创建了一个实体后都要修改实体的字体,非常麻烦,是否有只修改一次一劳永逸的方法呢?
◇解决方法:
Tools → Display Preferences... → Format → Entity → Modity... → Font → 进行相应修改并保存设置 → Set As Default
5、PowerDesigner中设置Entity自动调整尺寸大小
◇问题描述:
当给Entity添加了字段或其他修改时,Entiry的显示尺寸大小不会自动调整,怎样解决呢?
◇解决方法:
在Entity上点击右键 → 单击Format...菜单项 → 选择size标签页 → 勾选Auto adjust to text即可
6、自定义外键命名规则
◇问题描述:
当我们定义外键时,Power Desienger的外键规则如何自定义?
◇解决方法:
1)选择Database—>Edit Current DBMS
2)选择Scripts-》Objects-》Reference-》ConstName
可以发现右侧的Value为:
FK_%.U8:CHILD%_%.U9:REFR%_%.U8:PARENT%
可见,该命名方法是:'FK_'+8位子表名+9位Reference名+8位父表名,你可以根据这中模式自定义为:
FK_%.U7:CHILD%_RELATIONS_%.U7:PARENT%,
可以使FK名称变为FK_TABLE_2_RELATIONS_TABLE_1
掌握这种方法后就可以按照自己的想法修改了
生成建库脚本SQL文件中的表头注释很讨厌,可以在 Databse -> Generate Database (Ctrl+G)窗口中,选择Options卡片,去掉Usage的Title钩选项即可。
3)添加外键
Model -> References新建一条外键后,双击进入外键属性,在“Joins”卡片中可以选择子表的外键字段
7、如何实现Name和code不自动相等
◇问题描述:
Power Desienger中总是默认Code=Name,能改变它吗?
◇解决方法:
设置tools--Gerneral options--->dialog---->name to code mirroring
8、Power Desienger自增长列的设置
◇问题描述:
Power Desienger中如何实现自增长列?
◇解决方法:
PDM里查看表的属性,Columns选项卡,选中整列,查看列属性,点左上方的properties图标(有手形图案的那个),此时打开一个设置窗口,General选项卡里面进行设置,在列属性的General标签页里有个Identity复选框,勾上就行了。
9、如何在PowerDesigner下建索引
◇问题描述:
如何在Power Designer下建索引?
◇解决方法:
1) 双击表设计图,出来Table Properties,在Tab 页中选择 Indexes
2) 单击新建索引的属性,出现Indexex Properties
3) 增加一个索引包含的字段
10、如何在PowerDesigner 下检查设计模型
◇问题描述:
如何在PowerDesigner 下检查设计模型
◇解决方法:
1)在菜单栏中选择 Tools -? Check Model
2)选择要检查的每项设置
3)确定后,将出来检查结果汇总信息
11、Conceptual Data Model (CDM)与Physical Data Model(PDM)
◇问题描述:
如何将Conceptual Data Model (CDM)转换成Physical Data Model(PDM)?
◇解决方法:
即将概念数据模型转换成物理数据模型。
二者的区别是,CDM是纯粹概念上的模型,PDM是和具体的数据库类型相关的,比如SQL Server 2000或者Oracle。生成SQL语句当然也就需要从PDM生成。
在菜单上选择Tools -> Generate Phisical Data Model,最后选择你的数据库类型,即可。
12、使用PowerDesigner生成SQL语句
◇问题描述:
如何使用PowerDesigner生成SQL语句?
◇解决方法:
可以使用 PowerDesigner 生成一个 SQL 脚本,该脚本用于实施模型的所有组件。然后,使用 SQL 脚本生成一个数据库。
这时候要确保你用的是PDM。
生成 SQL 脚本以新建数据库:
从 [Database] 菜单中选择 [Generate Database]。
此时,就会出现 [Database Generation] 对话框
在 [Directory] 字段中键入 c:Temp,并在 [File Name] 字段中键入 NewDemo.sql。
确保选中了 [ Generation]。
单击 [Database] 选项卡,并确保选中了 [Create Database]。
浏览其它选项卡,以查看控制所生成脚本的许多其它属性的选项。
单击 [确定]。
创建脚本后,就会出现 [Result] 对话框。
13、Warning : table Existence of index 表名
◇问题描述:
为什么出现Warning : table Existence of index 表名 ?
◇解决方法:
说明该表没有建立索引。不过这是一个警告,不是错误,可以不用理会它。
14、建立联合主键
◇问题描述:
如何建立联合主键?
◇解决方法:
联合主键就是一个表里面有多个主键,比如一份学生选课的表里面,学生ID和课程ID就同时是主键。
在设置Attributes,把2个字段的P那项都勾上,P表示Primary Key主键。
15、建立外键Foreign Key
◇问题描述:
如何建立外键Foreign Key?
◇解决方法:
在PowerDesigner中,通过建立关系Relationship就可以自动建立外键,不需要手动添加。
而建立Relationship有2种办法:可以通过菜单选择Model -> Relationships...,也可以通过在右边的工具栏中拖拽Relationship控件。
16、生成数据字典
◇问题描述:
如何生成数据字典?
◇解决方法:
通过菜单Report -> Report Wizard...可以生成
注意可以选择Template.因为我是通过PDM生成,所以选择了Standard Physical Template~
17、由pdm生成建表脚本时,字段超过15字符就发生错误(oracle)
◇问题描述:
为什么由pdm生成建表脚本时,字段超过15字符就发生错误(oracle)?
◇解决方法:
原因未知,解决办法是打开PDM后,会出现Database的菜单栏,进入Database - Edit Current DBMS -script-objects-column-maxlen,把value值调大(原为30),比如改成60。出现表或者其它对象的长度也有这种错误的话都可以选择对应的objects照此种方法更改!
或者使用下面的这种方法:
生成建表脚本时会弹出Database generation提示框:把options - check model的小勾给去掉,就是不进行检查(不推荐)!
或者可以修改C:\Program Files\Sybase\PowerDesigner Trial 11\Resource Files\DBMS\oracl9i2.xdb文件
修改好后,再cdm转为pdm时,选择“Copy the DBMS definition in model”把把这个资源文件拷贝到模型中。
18、生成的建表脚本中把对象的双引号去掉
◇问题描述:
生成的建表脚本中如何把对象的双引号去掉?
◇解决方法:
打开cdm的情况下,进入Tools-Model Options-Naming Convention,把Name和Code的标签的Charcter case选项设置成Uppercase或者Lowercase,只要不是Mixed Case就行!
或者选择Database->Edit current database->Script->Sql->Format,有一项CaseSensitivityUsingQuote,它的 comment为“Determines if the case sensitivity for identifiers is managed using double quotes”,表示是否适用双引号来规定标识符的大小写,可以看到右边的values默认值为“YES”,改为“No”即可!
或者在打开pdm的情况下,进入Tools-Model Options-Naming Convention,把Name和Code的标签的Charcter case选项设置成Uppercase就可以!
19、防止一对一的关系生成两个引用(外键)
◇问题描述:
如何防止一对一的关系生成两个引用(外键)?
◇解决方法:
要定义关系的支配方向,占支配地位的实体(有D标志)变为父表。
在cdm中双击一对一关系->Detail->Dominant role选择支配关系
20、修改报表模板中一些术语的定义
◇问题描述:
如何修改报表模板中一些术语的定义?
◇解决方法:
即文件:C:\Program Files\Sybase\PowerDesigner Trial 11\Resource Files\Report Languages\Chinese.xrl
Tools-Resources-Report Languages-选择Chinese-单击Properties或双击目标
修改某些对象的名称:Object Attributes\Physical Data Model\Column\
ForeignKey:外键
Mandatory:为空
Primary:主键
Table:表
用查找替换,把“表格”替换成“表”
修改显示的内容为别的:Values Mapping\Lists\Standard,添加TRUE的转化列为是,FALSE的转化列为空
另外Report-Title Page里可以设置标题信息。
使用POWERDESIGNER设计数据库的20条技巧(转)的更多相关文章
- 采用PowerDesigner 设计数据库
PowerDesigner设计数据库的教程网上都有,最好的是我一位同学写的,地址: 点击这里 我的大致流程如下: 首先要以管理员的身份打开PowerDesigner,如果没这么做,将导致后面无法创建S ...
- PowerDesigner 设计数据库中常用脚本
PowerDesigner 设计数据库中常用脚本 数据库设计 物理模型设置 Name转Comment脚本 '********************************************** ...
- 数据库查询优化-20条必备sql优化技巧
0.序言 本文我们来谈谈项目中常用的 20 条 MySQL 优化方法,效率至少提高 3倍! 具体如下: 1.使⽤ EXPLAIN 分析 SQL 语句是否合理 使⽤ EXPLAIN 判断 SQL 语句是 ...
- 新手学习数据库(一)用Powerdesigner设计数据库
说明: 一.学会用开发语言进行数据库编程,其关键是在于学会sql语言,开发语言只不过给程序员提供了一个操作数据库的接口罢了. 二. 本人也是初学者,采用的数据库设计软件是powerdesigner.利 ...
- 利用PowerDesigner设计数据库
PowerDesigner非常强大, 可以利用它完成数据库的设计. 1.下载地址:http://pan.baidu.com/s/1DsLrg 2.表设计: 建立概念数据模型(Conceptual Da ...
- 使用PowerDesigner设计数据库
1.快捷键CTRL+N 创建 New Model 选择如下图,并设置 Model name 单击OK 2.使用工具添加实体 双击Entity_1,填上如下图信息 切换选项卡,添加属性信息 其中 M ...
- 如何使用PowerDesigner设计数据库关系模式
/*==============================================================*/ /* DBMS name: Microsoft SQL Serve ...
- PowerDesigner设计Name和Comment 替换
这两天在用powerdesigner设计数据库.一直以为name就是注释名字来着.后来生成sql语句 怎么就没有注释信息那. 后来看了半天才知道自己范2了. 通过各种信息查找.大多都是改databas ...
- 使用PowerDesigner设计建造MySQL数据库
使用PowerDesigner设计建造MySQL数据库 一.使用PowerDesigner制作建库脚本 1.设计CDM(Conceptual Data Model) 2.选择 Tools -> ...
随机推荐
- ReactiveCocoa学习
ReactiveCocoa常见类 6.1RACSiganl:信号类,一般表示将来有数据传递,只要有数据改变,信号内部接收到数据,就会马上发出数据. 注意: 信号类(RACSiganl),只是表示当数据 ...
- 基于NPOI的报表引擎——ExcelReport
前言 其实现在说ExcelReport是报表引擎还为时尚早,但该组件我既然要决心维护下去,这便算是初衷吧! 1.现在,ExcelReport能为你做什么呢? 如果,你有导出数据到Excel的需求,Ex ...
- CozyRSS开发记录7-了解RSS
CozyRSS开发记录7-了解RSS 1.初窥RSS 多找几个RSS源就会发现,有的源是用Atom协议提供的,有的源是RSS协议提供的.RSS协议有过几个版本,0.9.1.0和2.0等,理论上支持2. ...
- 三言两语之js事件、事件流以及target、currentTarget、this那些事
厉害了我的哥--你是如此简单我却将你给遗忘 放假前再看某文档,里边提到两个我既熟悉又陌生的概念target.currentTarget,说他熟悉我曾经看到过这两个事件对象的异同处,说他陌生吧?很不 ...
- Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍
一.http_load程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把 ...
- 祝贺 Linux 25 岁:25 个关于 Linux 的惊人真相!【转载】
作者:Javen Fang链接:https://zhuanlan.zhihu.com/p/22222383来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 25 年前的这 ...
- 分布式缓存技术memcached学习(三)——memcached内存管理机制
几个重要概念 Slab memcached通过slab机制进行内存的分配和回收,slab是一个内存块,它是memcached一次申请内存的最小单位,.在启动memcached的时候一般会使用参数-m指 ...
- 在此为LCT开一个永久的坑
其实我连splay都还不怎么会. 今天先抄了黄学长的bzoj2049,以后一定要把它理解了. 写LCT怎么能不%数据结构大神yeweining呢?%%%chrysanthemums %%%切掉大森林 ...
- MySQL 存储过程基本函数
字符串类 CHARSET(str) //返回字串字符集CONCAT (string2 [,... ]) //连接字串INSTR (string ,substring ) //返回substring首次 ...
- [BZOJ4029][HEOI2015] 定价
Description 在市场上有很多商品的定价类似于 999 元.4999 元.8999 元这样.它们和 1000 元.5000 元和 9000 元并没有什么本质区别,但是在心理学上会让人感觉便宜很 ...