﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-程序人生-随笔分类-PowerDesigner</title><link>http://www.blogjava.net/webjava/category/50868.html</link><description>           不甘寂寞^_^</description><language>zh-cn</language><lastBuildDate>Wed, 15 Feb 2012 13:46:23 GMT</lastBuildDate><pubDate>Wed, 15 Feb 2012 13:46:23 GMT</pubDate><ttl>60</ttl><item><title>PowerDesigner使用心得</title><link>http://www.blogjava.net/webjava/archive/2012/02/15/370049.html</link><dc:creator>阿星</dc:creator><author>阿星</author><pubDate>Wed, 15 Feb 2012 13:18:00 GMT</pubDate><guid>http://www.blogjava.net/webjava/archive/2012/02/15/370049.html</guid><wfw:comment>http://www.blogjava.net/webjava/comments/370049.html</wfw:comment><comments>http://www.blogjava.net/webjava/archive/2012/02/15/370049.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/webjava/comments/commentRss/370049.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/webjava/services/trackbacks/370049.html</trackback:ping><description><![CDATA[<div><div>一、创建"概念数据模型"－CDM（Conceptual Data Model）&nbsp;</div><div>(1)打开PowerDesigner,点击File(文件)-&gt;New(新建)&nbsp;</div><div></div><div>(2)选择Conceptual Data Model,并修改Model name(模型名).&nbsp;</div><div></div><div>(3)在Palette工具栏中点击Entity(实体)工具,并在工作区中建立Entity</div><div></div><div>(4)双击一个Entity.在弹出的Entity Properties中输入Name,Code.其中Name是在显示时使用的名称,而Code是在代码中使用的名称.&nbsp;</div><div></div><div>注：修改name的内容，code也跟着变化，如何让code不随着name变化,Name和Code 的右侧都有一个按钮&#8220;＝&#8221;，如果需要不同步的话，把这个按钮弹起来就可以了。</div><div>Tools(工具)-&gt;General Options(常规)-&gt;Dialog(对话)-&gt;Name to Code Mirroring(名字编码映射) 去掉</div><div>&nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp;&nbsp;</div><div>(5)点击Attributes(属性),建立相应的属性:Name:显示名称,Code:代码名称,Data Type:数据类型,Length:数据长度,Precision:数据精度,M:必须的,P:主键,D:显示.&nbsp;</div><div>注：允许字段同名,.默认不允许有相同字段&nbsp;</div><div>Tools--&gt;model options--&gt;model settings(模型设置)--&gt;Data Item(数据选项)--&gt;unique code去勾则可</div><div></div><div>(6)选中主键列,点击工具列中的Create Identifier(标识符)按钮.&nbsp;</div><div></div><div>(7)输入Name及Code,因为是主键列,所以选中Primary identifier.&nbsp;</div><div></div><div>(8)建关系: 点击工具栏中的关系工具,在学生表Entity上点击并拖至成绩表Entity.&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;双击关系--&gt;name关系描述/code约束名--&gt;Detail(细节): 一对一,一对多, 多对多,多对一</div><div></div><div>(9)建约束：双击字段名--&gt;Standard checks(标准检查)可设置最大值|最小值|默认值--&gt;additional Checks(附加检查):可手写check约束</div><div></div><div>(10)检查是否有错<span style="white-space:pre">	</span>Tools--&gt;check &nbsp;model</div><div>注：删除未改名的字段，不然报错</div><div></div><div>二、根据CDM生成"物理数据模型"-PDM(Physical Data Model)</div><div>1.Tools--&gt;generate &nbsp;physical(产生物理模型)--&gt;选择数据库类型,例sql &nbsp;server 2000</div><div>注：a.不能改文件夹，必须是DBMS文件夹中</div><div></div><div>2.主外键设置:双击关系--&gt;joins(连接)选择各表的主外键字段</div><div></div><div>3.建标识列：双击字段名 --&gt;Genral--&gt;identity前面加勾&nbsp;</div><div></div><div>三、为特定DBMS创建数据库的SQL语句。</div><div>Data base--&gt;generate &nbsp;database(产生数据库)--&gt;Director选择文件生成的位置</div><div></div><div>注：(1)可以通过修改模板（Database－Edit Current DataBase）改变脚本的格式。例如：</div><div>&nbsp; &nbsp; &nbsp;Script－Objects－Column－Add的Value中开头增加一行&#8220;--%COLNNAME%&#8221;以便在脚本中显示列的中英文对照</div><div></div><div>&nbsp; &nbsp; (2)由pdm生成建表脚本时，字段超过15字符就发生错误（oracle）</div><div>&nbsp; &nbsp; &nbsp; &nbsp;打开PDM后Database--&gt;Edit Current--&gt;DBMS －script－objects－column－maxlen，把value值调大(原为 30)，比如改成60。出现表或其它对象的长度也有这种错误都可以选择对应的objects照此种方法更改！</div><div></div><div>&nbsp; &nbsp; (3)执行sql语句时,需先建数据库，因为该工具生成的脚本建表不建库。</div><div>&nbsp; &nbsp; &nbsp; &nbsp;且脚本用的修改表，执行两次就OK了</div><div></div><div>四、利用已现有模块导出数据字典文件</div><div>(1)&#8221;数据字典模板&#8221;，并将它复制到安装目录的Resource Files\Report Templates文件夹中</div><div></div><div>(2)右击"PDM"--&gt;新增--&gt;report(报表)--&gt;新建--&gt;ReportName报表名,language语言(选择Simplified Chinese简体中文),report template报表模块(选择数据字典模板)--&gt;编辑或直接使用使用该模板</div><div></div><div>(3)选择report工具栏中--&gt;Generate Html生成HTML字典| Generate RTF生成DOC字典</div><div></div><div>注：修改报表模板中一些术语的定义</div><div>即文件：C:\Program Files\Sybase\PowerDesigner Trial 11\Resource Files\Report Languages\Chinese.xrl</div><div>Tools－Resources－Report Languages－选择Chinese－单击Properties或双击目标</div><div>修改某些对象的名称：Object Attributes\Physical Data Model(物理数据模型)\Column\</div><div>&nbsp; &nbsp; &nbsp; &nbsp; ForeignKey：外键</div><div>&nbsp; &nbsp; &nbsp; &nbsp; Mandatory：为空</div><div>&nbsp; &nbsp; &nbsp; &nbsp; Primary：主键</div><div>&nbsp; &nbsp; &nbsp; &nbsp; Table：表</div><div>用查找替换，把&#8220;表格&#8221;替换成&#8220;表&#8221;</div><div>修改显示的内容为别的：Values Mapping\Lists\Standard，添加TRUE的转化列为是，FALSE的转化列为空</div><div>另外Report－Title Page里可以设置标题信息</div><div></div><div>五、根据已存在的数据库反向生成PDM，CDM及创建数据库的SQL脚本。</div><div>&nbsp;</div><div>DataBase --&gt;reverse Engineer DataBase(反转数据库) --&gt; &nbsp;Using an ODBC data source&nbsp;</div><div>注：需要配置数据源。问：如何反向MYsql</div><div>&nbsp; &nbsp;&nbsp;</div><div>如果报以下错误的解决方案:</div><div>Unable to list the users.</div><div>[Microsoft][ODBC SQL Server Driver][SQL Server]无法预定义语句</div><div>SQLSTATE = 37000</div><div>解决方案：修改语法检查规范</div><div>步骤一：选择菜单栏中的Database -&gt; Change Current DBMS ,给DBMS选择SQL Server2005。</div><div>步骤二：重新配置ODBC连接，取消"更改默认的数据库为"选择。</div><div>步骤三：从PD里选择File -&gt; Reverse Engineer -&gt; Database&nbsp;</div><div>步骤四：选择数据库，选择表，OK，大功造成。</div></div><img src ="http://www.blogjava.net/webjava/aggbug/370049.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/webjava/" target="_blank">阿星</a> 2012-02-15 21:18 <a href="http://www.blogjava.net/webjava/archive/2012/02/15/370049.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>