PowerDesigner常见问题解决与设置集锦.docx

上传人:b****8 文档编号:9439049 上传时间:2023-02-04 格式:DOCX 页数:15 大小:160.75KB
下载 相关 举报
PowerDesigner常见问题解决与设置集锦.docx_第1页
第1页 / 共15页
PowerDesigner常见问题解决与设置集锦.docx_第2页
第2页 / 共15页
PowerDesigner常见问题解决与设置集锦.docx_第3页
第3页 / 共15页
PowerDesigner常见问题解决与设置集锦.docx_第4页
第4页 / 共15页
PowerDesigner常见问题解决与设置集锦.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

PowerDesigner常见问题解决与设置集锦.docx

《PowerDesigner常见问题解决与设置集锦.docx》由会员分享,可在线阅读,更多相关《PowerDesigner常见问题解决与设置集锦.docx(15页珍藏版)》请在冰豆网上搜索。

PowerDesigner常见问题解决与设置集锦.docx

PowerDesigner常见问题解决与设置集锦

PowerDesigner15使用时的十五个问题

一般常用的有CDM,PDM,UML建模,CDM可以转为PDM。

支持正向[生成数据库]和逆向工程[从数据库中生成],并直接关联到到数据库中,PDM可以直接和数据库进行关联,并将数据库,表,视图,触发器等数据库对象生成到数据库中,也可将这些对象更新到PDM中。

PowerDesigner的几个主要常用菜单是MODEL、DATEBASE、Tool,这三个菜单下命令使用比较多,要熟悉。

PD还可以用来画用例图,序列图,类图等UML图。

也可以画企业架构图,软件应用架构图等等图形

15个问题列表:

No.1:

是不是一定要从CDM开始设计,然后在进行PDM的设计?

NO.2:

工具栏palette不见了,如何把它找出来?

NO.3:

如何建立与数据库的关联?

NO.4:

域和数据项有何作用?

No.5:

如何生成主键的自定义增长列,SQLServer和Oracle数据分别是如何操作的?

No.6:

NAME和CODE联动,如何取消?

NO.7.如何实现字段的NAME和Comment属性互换?

NO.8:

如何修改某个对象的命名规则,比如外键,比如主键,比如触发器等?

No.9:

如何用PD生成测试数据,以便测试?

No.10如何把CODE的NAME中文也生成在脚本中,也就是列名后就是NAME的说明文字?

NO.11如何将数据库结构,表名,表的字段导出到Word中,或者生成HTML文件以便查看?

No.12如何去除生成SQL时的双引号问题,双引号在Oracle中可以保证大小写,却异常麻烦?

NO.13如何修改PD的显示样式?

No.14如何去除表名,字段的长度限制?

No.15如何进行数据库的逆向工程?

说明:

本文提到的PD基于PD15.英文版。

No1:

是不是一定要从CDM开始设计,然后在进行PDM的设计?

本人觉得没有必要,项目的大小、熟悉程度、起步和个人习惯不一样,熟练业务的,项目小的直接用PDM设计未尝不可。

NO2:

工具栏palette不见了,如何把它找出来?

这个问题我找了所有的菜单才找到,在【Tools】-【CustomizeToolbars】点击打开,列表项里的【palette】选中即可,此外,这个窗口中还可以设计对齐的方式等等。

NO3:

如何建立与数据库的关联?

详细建立:

PowerDesigner建立与数据库的连接,以便生成数据库和从数据库生成到PD中。

[Oracle10G版]

PowerDesigner建立与数据库的连接,以便生成数据库和从数据库生成到PD中。

[SQLSERVER2005版]

NO4:

域和数据项有何作用?

域和数据项的作用是为了复用而设定的,数据类型可以保持一致,比如不少表里都有经纬度,则可以定义两个通用的域,如图所示,点击【Model】-【Domains】出现如图所示,建了三个域,那么建表时可以复用,打开列的属性的时候就可以复用了,如果域的类型发生了改变,则该列的数据类型也发生改变。

数据项作用类似于此。

还有一些,比如主键递增ID

No.5如何生成主键的自定义增长列,SQLServer和Oracle数据分别是如何操作的?

SQLServer版本:

Oracle版本:

No.6NAME和CODE联动,如何取消?

要熟悉几个常用的菜单,MODEL,DATABASE,Tools,REPORT等等,在【Tools】下找到【GeneralOptions】如图所示:

NO7.如何实现字段的NAME和Comment属性互换?

还有一个,如果你只想生成的时候,把NAME自动更新到Comment列,是这样操作的:

NO.8:

如何修改某个对象的命名规则,比如外键,比如主键,比如触发器等?

下面以主键为例,一般每个表都有一个主键,那主键的命名规则如何修改定义呢,

菜单:

【Database】--【EditCurrentDBMS】,如图所示:

No.9:

如何用PD生成测试数据,以便测试?

Powerdesigner中如何生成测试数据

No.10:

如何把CODE的NAME中文也生成在脚本中,也就是列名后就是NAME的说明文字?

修改字段生成规则。

要给每个字段都添加一个注释的话,如图所示:

NO.11:

如何将数据库结构,表名,表的字段导出到Word中,或者生成HTML文件以便查看?

这个涉及到数据库的脚本中,也就是将表生成数据库文档,可以是HTML格式,也可以是DOC格式.如图所示:

如果需要添加数据类型,注释等更多的信息,右键,选择【layout】,选择你需要的显示的信息即可。

No.12:

如何去除生成SQL时的双引号问题,双引号在Oracle中可以保证大小写,却异常麻烦?

生成SQL语句时,表名和字段名都是带双引号,这个在ORACLE中以后使用时都要带上""非常的麻烦,必须生成脚本时去除:

【Database】--【EditCurrentDBMS】,如图所示:

NO.13如何修改PD的显示样式?

设计PDM文档时,样式不一样,这个在哪里设置呢,如图所示,比如修改表的显示样式。

【Tools】--【Displaypreference】,

点击修改按钮,就可以修改表的样式了,包括字体大小,颜色,线的形状、阴影等等。

No.14如何去除表名,字段的长度限制?

当生成脚本时,有的表名或者列名莫名其妙的缩短了,这时因为限定了长度,这是把双刃剑,如果要强制表名或者字段名在某个范围内,这个作用刚好,如果不想限制,就需要修改那个限制的值了。

【Database】--【EditCurrentDBMS]--依次找到:

Script\Objects\Table

No.15如何进行数据库的逆向工程?

如何进行数据库,比如ORACLE,SQLSERVER的逆向工程,将数据库导入到PD中

这是我平常遇到的几个问题,大家有什么问题,一起交流哦。

有一个问题问一下:

有的时候,每个表都有一些默认字段,比如创建人,创建时间,修改时间,修改人,如何默认情况下添加每个表都有呢?

PowerDesigner常见问题解决与设置集锦

一.powerdesiner的自增长列

1.如果dbms是MsSql,则选定表后,database->editcurrentdbms->出现DBMSproperties对话框,选择General页,左侧的树选择SQL2000->Profile->Column->Extended

Attributes下面的ExtIdentityIncrement是步进值,ExtIdentitySeed是起始值,分别设定默认值,后返回。

2.在表的属性对话框里面,选择Clumns页,按Ctrl+U,在Idenitity前面打上钩。

如有必要,也可以将

ExtIdentityIncrement和ExtIdentitySeed也打上勾,这样在设定Idenitity时也可以直接指定起始值和步进值了。

btw:

我用的是PD11,刚刚开始学PD,关于Identity的设定也是找了好久。

3.对于qlserver,在表的属性对话框里面,选择Clumns页,按Alt+enter进入列的属性页面,在右下角勾选Idenitity属性即可.

二.sql语句中表名与字段名前的引号去除:

打开cdm的情况下,进入Tools-ModelOptions-NamingConvention,把Name和Code的标签的Charctercase选项设置成Uppercase或者Lowercase,只要不是MixedCase就行!

或者选择Database->Editcurrentdatabase->Script->Sql->Format,有一项CaseSensitivityUsingQuote,它的comment为“Determinesifthecasesensitivityfor

identifiersismanagedusingdoublequotes”,表示是否适用双引号来规定标识符的大小写,可以看到右边的values默认值为“YES”,改为“No”即可!

或者在打开pdm的情况下,进入Tools-ModelOptions-NamingConvention,把Name和Code的标签的Charctercase选项设置成Uppercase就可以!

三.在修改name的时候,code的值将跟着变动,很不方便

修改方法:

PowerDesign中的选项菜单里修改,在[Tool]-->[GeneralOptions]->[Dialog]->[Operatingmodes]->[NametoCodemirroring],这里默认是让名称和代码同步,

将前面的复选框去掉就行了。

四.由pdm生成建表脚本时,字段超过15字符就发生错误(oracle)

原因未知,解决办法是打开PDM后,会出现Database的菜单栏,进入Database-EditCurrentDBMS-script-objects-column-maxlen,把value值调大(原为30),比如改

成60。

出现表或者其它对象的长度也有这种错误的话都可以选择对应的objects照此种方法更改!

或者使用下面的这种方法:

生成建表脚本时会弹出Databasegeneration提示框:

把options-checkmodel的小勾给去掉,就是不进行检查(不推荐)!

或者可以修改C:

\ProgramFiles\Sybase\PowerDesignerTrial11\ResourceFiles\DBMS\oracl9i2.xdb文件

修改好后,再cdm转为pdm时,选择“CopytheDBMSdefinitioninmodel”把把这个资源文件拷贝到模型中。

五.由CDM生成PDM时,自动生成的外键的重命名

PDMGenerationOptions->Detail->FKindexnames默认是%REFR%_FK,改为FK_%REFRCODE%,其中%REFRCODE%指的就是CDM中Relationship的code!

另外自动生成的父字段的规

则是PDMGenerationOptions->Detail->FKcolumnnametemplate中设置的,默认是%.3:

PARENT%_%COLUMN%,可以改为Par%COLUMN%表示是父字段!

六.建立一个表后,为何检测出现Existenceofindex的警告

Atableshouldcontainatleastonecolumn,oneindex,onekey,andonereference.

可以不检查Existenceofindex这项,也就没有这个警告错误了!

意思是说没有给表建立索引,而一个表一般至少要有一个索引,这是一个警告,不用管也没有关系!

七.如何防止一对一的关系生成两个引用(外键)

要定义关系的支配方向,占支配地位的实体(有D标志)变为父表。

在cdm中双击一对一关系->Detail->Dominantrole选择支配关系

八.修改报表模板中一些术语的定义

即文件:

C:

\ProgramFiles\Sybase\PowerDesignerTrial11\ResourceFiles\ReportLanguages\Chinese.xrl

Tools-Resources-ReportLanguages-选择Chinese-单击Properties或双击目标

修改某些对象的名称:

ObjectAttributes\PhysicalDataModel\Column\

ForeignKey:

外键

Mandatory:

为空

Primary:

主键

Table:

九.用查找替换,把“表格”替换成“表”

修改显示的内容为别的:

ValuesMapping\Lists\Standard,添加TRUE的转化列为是,FALSE的转化列为空

另外Report-TitlePage里可以设置标题信息

十.PowerDesigner生成SQL的Existenceofrefernce错误问题

现象:

用PowerDesigner生成SQL语句时,提示Existenceofrefernce错误。

原因:

该表没有与其他表的关联(如外键等),而PowerDesigner需要存在一个refernce才能生成SQL.

解决方法:

在工具栏空白处右键打开Palette面板,选中Link/ExtendedDependency按钮,然后在提示出错的表上添加到自己的Dependency。

重新生成SQL,你将发现刚才提示的错误没有了,问题解决。

十一.利用PowerDesigner批量生成测试数据

主要解决方法:

A:

在PowerDesigner建表

B:

然后给每一个表的字段建立相应的摘要文件

步骤如下:

Model->TestDataProfiles配置每一个字段摘要文件General:

输入Name、Code、

选择Class(数字、字符、时间)类型

选择GenerationSource:

Automatic、List、ODBC、FileDetail:

配置字段相关信息

所有字段摘要文件配置完成后双击该表->选择字段->Detail->选择TestDataParameters摘要文件如果字段值与其它字段有关系在:

ComputedExpression中输入计算列--生成测

试数据:

DataBase->GenerationTestData->

选择:

Genration类型(Sript、ODBC)

Selection(选择要生成的表)

TestDataGenration(Defaultnumberofrows生成记录行数)

1.使用PD12时出现以下错误:

Referenceconstraintnamemaximum

lengthislimitedto30characters

Keyconstraintnamemaximumlength

islimitedto30characters

Tablecodemaximumlength

Columncodemaximumlength

……

导致生成建表SQL时通不过,细究原因原来是默认设置的问题,改下就可以了。

调整以下参数:

Database=>EditcurrentDBMS数据库类型:

:

Script\Objects\MaxConstLenvalue=>255

Database=>EditcurrentDBMS数据库类型:

:

Script\Objects\Table\Maxlenvalue=>255

Database=>EditcurrentDBMS数据库类型:

:

Script\Objects\Column\Maxlenvalue=>255

但是要注意的是,表名、列名、主键等不要超过30个字符,否则Oracle不认。

2.附:

生成数据库脚本

Database=>Generatedatabase

-----------------------------

-----------------------------

默认生成的SQL语句(表名、字段名等)都带双引号,导致用SQLPlus插入Oracle数据库时表名与表列都带""号,要解决这个问题,在数据库中做如下设置:

Database->EditCurrentDBMS...->Script->Sql->

Format->CaseSensitivityUsingQuote改为No

3.如何在powerDesigner中给字段赋默认值

双击表,出现column列表,双击要设置的列的左边的灰色框,应该会弹出新的窗口,然后在新窗口上选择standardchecks,里面有default的

十二.powerdesigner生成的oracle脚本的表名带引号的解决方法

选择Database->Editcurrentdatabase,选择Sql->Format,有一项CaseSensitivityUsingQuote,它的comment为“Determinesifthecasesensitivityforidentifiersis

managedusingdoublequotes”,表示是否适用双引号来规定标识符的大小写,可以看到右边的values默认值为“YES”,如下图手指向的位置改为“No”,点击确定。

在弹出的确认对话框中点击确认

下面的方法介绍设置非当前数据库脚本生成。

你可以通过修改设置,去掉双引号。

菜单tools\resource\dbms,在弹出窗口中,选择oracle相应版的数据库,在弹出的“DBMSProperties”窗口中,修改script\sql\format中的CaseSensitivetyUseingQuote为

no就可以了

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1