﻿<?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-★yesjoy★-文章分类-PowerDesigner设计</title><link>http://www.blogjava.net/yesjoy/category/23278.html</link><description>&lt;font color="red"&gt;★&lt;/font&gt;&lt;font color="blue"&gt;总在爬山 所以艰辛;总在寻梦 所以苦痛&lt;/font&gt;&lt;font color="red"&gt;★&lt;/font&gt;</description><language>zh-cn</language><lastBuildDate>Mon, 06 Sep 2010 03:48:41 GMT</lastBuildDate><pubDate>Mon, 06 Sep 2010 03:48:41 GMT</pubDate><ttl>60</ttl><item><title>使用PowerDesigner设计建造MySQL数据库 </title><link>http://www.blogjava.net/yesjoy/articles/123425.html</link><dc:creator>★yesjoy★</dc:creator><author>★yesjoy★</author><pubDate>Mon, 11 Jun 2007 09:17:00 GMT</pubDate><guid>http://www.blogjava.net/yesjoy/articles/123425.html</guid><wfw:comment>http://www.blogjava.net/yesjoy/comments/123425.html</wfw:comment><comments>http://www.blogjava.net/yesjoy/articles/123425.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yesjoy/comments/commentRss/123425.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yesjoy/services/trackbacks/123425.html</trackback:ping><description><![CDATA[使用PowerDesigner设计建造MySQL数据库<br><br>一、使用PowerDesigner制作建库脚本<br>1、设计CDM(Conceptual Data Model)<br>2、选择 Tools -&gt; Generate Physical Data Model ，选择对应的DBMS为MySQL，生成PDM<br>3、选择 Database -&gt; Generate Database ，在弹出的 Database Generation 对话框中选择脚本存取路径及脚本文件名称<br>4、点击确定后生成数据库建库脚本(*.sql)<br><br>二、使用建库脚本建立数据库<br>1、登陆 <span style="COLOR: rgb(0,0,255)">mysql -u root -p</span><br>2、建立空的databse <span style="COLOR: rgb(0,0,255)">create databse mydbse;</span><br>3、建立用户 <span style="COLOR: rgb(0,0,255)">grant all on mydbse.* to username@192.168.1.100 identified by 'password'；</span><br>4、退出 exit;<br>5、在终端中输入 <span style="COLOR: rgb(0,0,255)">mysql -h 192.168.1.100 -u username -p &lt; Script.sql </span><br>6、回车后输入密码即可 <br>
<img src ="http://www.blogjava.net/yesjoy/aggbug/123425.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yesjoy/" target="_blank">★yesjoy★</a> 2007-06-11 17:17 <a href="http://www.blogjava.net/yesjoy/articles/123425.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>PowerDesigner 讲解 数据库设计工具</title><link>http://www.blogjava.net/yesjoy/articles/123409.html</link><dc:creator>★yesjoy★</dc:creator><author>★yesjoy★</author><pubDate>Mon, 11 Jun 2007 08:03:00 GMT</pubDate><guid>http://www.blogjava.net/yesjoy/articles/123409.html</guid><wfw:comment>http://www.blogjava.net/yesjoy/comments/123409.html</wfw:comment><comments>http://www.blogjava.net/yesjoy/articles/123409.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yesjoy/comments/commentRss/123409.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yesjoy/services/trackbacks/123409.html</trackback:ping><description><![CDATA[<p>PowerDesign：PowerDesign是Sybase推出的主打数据库设计工具。PowerDesign致力于采用基于Entiry-Relation的数据模型，分别从概念数据模型(Conceptual Data Model)和物理数据模型(Physical Data Model)两个层次对数据库进行设计。概念数据模型描述的是独立于数据库管理系统(DBMS)的实体定义和实体关系定义。物理数据模型是在概念数据模型的基础上针对目标数据库管理系统的具体化。</p>
<p>PowerDesigner 讲解 <br>1、PowerDesigner 使用教程</p>
<p>从今日开始，每天一部分内容，在每个工作日，争取让大家天天都有的看，每天内容不会太多。 <br>有错误的地方还请大家指正。</p>
<p>PowerDesigner简介 <br>　　PowerDesigner是Sybase公司的CASE工具集，使用它可以方便地对管理信息系统进行分析设计，它几乎包括了数据库模型设计的全过程。利用PowerDesigner可以制作数据流程图、概念数据模型、物理数据模型，可以生成多种客户端开发工具的应用程序，还可为数据仓库制作结构模型，也能对团队设计模型进行控制。它可与许多流行的数据库设计软件，例如：PowerBuilder，Delphi，VB等相配合使用来缩短开发时间和使系统设计更优化。 </p>
<p>PowerDesigner主要包括以下几个功能部分： <br>　　（1） DataArchitect <br>这是一个强大的数据库设计工具，使用DataArchitect可利用实体-关系图为一个信息系统创建"概念数据模型"－CDM（Conceptual Data Model）。并且可根据CDM产生基于某一特定数据库管理系统（例如：Sybase System 11）的"物理数据模型"-PDM(Physical Data Model)。还可优化PDM，产生为特定DBMS创建数据库的SQL语句并可以文件形式存储以便在其他时刻运行这些SQL语句创建数据库。另外，DataArchitect还可根据已存在的数据库反向生成PDM，CDM及创建数据库的SQL脚本。 <br>　　（2） ProcessAnalyst <br>这部分用于创建功能模型和数据流图，创建"处理层次关系"。 <br>　　（3） AppModeler <br>为客户/服务器应用程序创建应用模型。 <br>　　（4） ODBC Administrator <br>此部分用来管理系统的各种数据源。 </p>
<p>PowerDesigner的4种模型文件： <br>概念数据模型 (CDM) <br>CDM 表现数据库的全部逻辑的结构,与任何的软件或数据储藏结构无关。 一个概念模型经常包括在物理数据库中仍然不实现的数据对象。 它给运行计划或业务活动的数据一个正式表现方式。 <br>物理数据模型 (PDM) <br>PDM 叙述数据库的物理实现。 <br>藉由 PDM ，你考虑真实的物理实现的细节。 它进入帐户两个软件或数据储藏结构之内拿。 你能修正 PDM 适合你的表现或物理约束。 <br>面向对象模型 (OOM) <br>一个OOM包含一系列包，类，接口 , 和他们的关系。 这些对象一起形成所有的 ( 或部份) 一个软件系统的逻辑的设计视图的类结构。 一个OOM本质上是软件系统的一个静态的概念模型。 <br>你使用 PowerDesigner 面向对象模型建立面向对象模型.(OOM) 你能为纯粹地对象- 导向的靠模切目的建立一个OOM, 产生Java文件或者PowerBuilder文件，或你能使用一个来自OOM的物理数据模型(PDM)对象 , 来表示关系数据库设计分析。 <br>业务程序模型 (BPM) <br>BPM 描述业务的各种不同内在任务和内在流程，而且客户如何以这些任务和流程互相影响。 <br>BPM 是从业务合伙人的观点来看业务逻辑和规则的概念模型，使用一个图表描述 <br>程序，流程，信息和合作协议之间的交互作用。 </p>
<p>以下是其中的CDM PDM OOM三者的转换关系</p>
<p>&#160;</p>
<p>使用PowerDesigner环境 </p>
<p>对象浏览器 <br>对象浏览器可以用分层结构显示你的工作空间. <br>输出窗口 <br>显示操作的结果。 <br>结果列表 <br>用于显示生成、覆盖和模型检查结果，以及设计环境的总体信息。 <br>图表窗口 <br>用于组织模型中的图表，以图形方式显示模型中各对象之间的关系。</p>
<p>&#160;</p>
<p>2、使用PowerDesigner环境</p>
<p>树形模型浏览器 <br>对象浏览器可以用分层结构显示你的工作空间. <br>输出窗口 <br>显示操作的结果。 <br>结果列表 <br>用于显示生成、覆盖和模型检查结果，以及设计环境的总体信息。 <br>图表窗口 <br>用于组织模型中的图表，以图形方式显示模型中各对象之间的关系 </p>
<p>其他的窗口与其他的软件大同小异，没有多说的必要了，呵呵</p>
<p>&#160;</p>
<p>3、PD概念模型工具以及业务规则</p>
<p>&#160;</p>
<p>定义业务规则 <br>关于业务规则 <br>业务规则是业务活动中必须遵循的规则,是业务信息之间约束的表达式,它反映了业务信息数据之间的彝族完整性约束.每当信息实体中包含的信息发生变化的时候,系统都会检查这些信息是否违反特定的业务规则. <br>业务规则有的六种类型: 事实，定义，公式，确认，需求和约束:</p>
<p>&#160;</p>
<p>当你使用业务规则约束 CDM 的时候,他们不被转变为可执行的代码。 业务规则可能被实现为 PDM 的约束。 <br>产生一条新的业务规则 <br>你将会产生一条业务规则标明该如何将版税归因于作家。 <br>1 选择模型的业务规则。 <br>业务规则的列表对话框显示已存在的业务规则。 <br>2 点击增加一行工具。 <br>一支箭头在新空行的开始处出现,并且一个默认的名字和代码被输入。默认为定义类型的业务规则</p>
<p>&#160;</p>
<p>3 在名字列中键入的Author Percent。 <br>这是业务规则的名字。 相同的代码自动地在代码列中被输入。 <br>4 选择规则类型列下拉列表中的确认类型。这样定义了确认类型的业务规则。 <br>5 点击应用。 <br>新创建的业务规则被提交。名字点击字母顺序排列 <br>当你点击的应用或者OK的时候,列表中的所有的名字按照字母顺序排列。 <br>6 点击新的业务规则栏。一支箭头出现在最后的一行。 <br>7 点击属性工具。 <br>8 点击注释栏。注释对话框被打开,可以输入规则的描述。 <br>9 在描述对话框中, 输入The percentage of royalties paid to all authors of a book adds up to 100% of the total royalties <br>这段文本解释业务规则的意义。</p>
<p>&#160;</p>
<p>4、数据项目与实体</p>
<p>关于数据项目 <br>一个数据项目是一个基本的信息。 <br>创建一个新的数据项目 <br>要管理多个作家的多个书, 你将会对每位作家版税的百分比创建数据项目并且为作家列表中的的作家名称排序。 <br>1 选择菜单栏的模型数据项目。数据项目的列表显示已存在的数据项目。 <br>2 点击增加一行工具。 <br>一个箭头在第一个空白行的开始和一个默认的名称出现，而且代码被进入。 <br>3 键入名称列的 TitleAuthor Percent 。 <br>这是数据项目的名称。 相同的代码自动地在代码列中被输入入。</p>
<p>&#160;</p>
<p>4 点击应用。 <br>新创建的数据项目的被提交。名称按字母顺序地分类,当按应用或列表的确定的时候, 所有的名称按字母顺序地被分类。 列表的名称次序将会以其中任何一个操作而改变。 <br>5 点击新的数据项目行。一个箭头在行开始处出现。 <br>6 点击属性工具。或在行开始处双击箭头。 <br>属性页为新创建的数据项目。 <br>7 选择对话框的底部,域下拉列表框的 Percent 。 <br>这应用 Percent 域的数据类型到新的数据项目。 在数据类型列中， SI 指出短整数型。</p>
<p>&#160;</p>
<p>8 点击确定回到数据项目的列表。 <br>9 点击增加一行工具。 <br>一个箭头在第一个空白行的开始,一个默认的名称出现，相同的代码被输入。 <br>10 输入 TitleAuthor Order 到名称列。 <br>这是数据项目的名称。 相同的代码自动地在代码列中被输入。 <br>11 点击应用。新创建的数据项目被提交。 <br>12 点击新的数据项目行。一个箭头在行开始处出现。 <br>13 点击属性工具。或在行开始处双击箭头。 <br>属性页为新的数据项目出现。 <br>14 点击问号按钮旁边数据类型下拉列表框。 <br>标准数据类型对话框出现。 <br>15 点击整数型 Radio 按钮。 <br>这给 TitleAuthor Order数据项目一个整数型数据类型。</p>
<p>&#160;</p>
<p>16 在每一个对话框中好点击。 <br>回到模型的窗口。 创建一个新的实体 <br>你将会创建一个包含照片的信息，一个关联对主题到作者的实体 , 和二个主题种类不同的的实体: periodicals and non-periodicals <br>1 点击工具面板的实体工具。 <br>2 点击图表的一个空白处。一个实体符号在点击位置出现。 <br>在创建时的实体叫做Entity_n,n是一个对象创建次序的实体数字。 <br>3 点击工具面板的指针工具。 <br>4 双击你刚刚创建的实体符号。 <br>实体特性页出现。 <br>5 输入Picture 到名称框 。 <br>这是实体的名称。 相同的代码自动地在代码列中被输入。 <br>6 点击确定。新的实体显示名称 Picture 。 <br>7 选择菜单中的模型-&gt;实体。实体对话框的列表显示已存在的实体。</p>
<p>&#160;</p>
<p>8 点击增加一行工具。 <br>9 键入periodicals到名称列。 <br>代码自动地设定与名称相同。 <br>10 点击应用。新的实体创建被提交。名称按字母顺序地分类 <br>11 点击增加一行工具。 <br>一个箭头在第一个空白行的开始处,一个默认的名称和代码被输入进入对话况中。 <br>12 键入Nonperiodical到名称列。 <br>13 点击应用。新的实体创建被提交。新的实体在列表上出现。 <br>14 点击确定。 <br>新的实体在 CDM 中出现。 </p>
<p><br>5、定义实体间的联系和角色</p>
<p>创建关系 <br>你将会创建在AUTHOR和PICTURE之间的关系实体。 <br>1 点击工具面板的指针工具。 <br>2 拖拉PICTURE实体符号到AUTHOR实体符号下面。</p>
<p>3 点击工具面板的关系工具。 <br>4 在AUTHOR实体之内点击，当不要松开鼠标左键,拖拉光标到PICTURE实体。 在PICTURE实体之内放开鼠标按钮。 <br>这创建在二个实体之间的关系。</p>
<p>在关系选项里面定义角色 <br>你将会定义AUTHOR于PICTURE之间的关系选项。 一位AUTHOR不必要必须有一张PICTURE。 一张PICTURE不必要必须有一位AUTHOR。 <br>1 点击工具面板的指针工具。 <br>2 双击在AUTHOR和PICTURE之间的关系行。 <br>关系特性页出现:</p>
<p>&#160;</p>
<p>3 输入Author Picture到名称框。这是关系的名称。 <br>4 点击详细资料。详细资料页出现</p>
<p>&#160;</p>
<p>5 在"AUTHOR"到 "PICTURE"中的角色名称框输入" is shown in"。 <br>6 在"PICTURE"到 "AUTHOR"中的角色名称框输入" shows"。 <br>7 点击确定。 <br>关系在模型中出现 </p>
<p>6、定义和使用域</p>
<p>定义和使用域 <br>关于域 <br>一个域定义你能适用于多个数据项目的标准数据结构。 当你修正一个域时,你将更新全部与域关联的数据项目。 当你作任何变化的时候 , 这导致数据一致化特性比较容易。这样,就可以创建一些自己常用的域,来应用到数据对象上,就不会导致相同的用途,但是数据类型和长度不一致 </p>
<p>创建一个新的域 <br>你将会创建二个域以将会为钱数量定义一个标准化数据类型和模型中的百分比。 <br>1 选择来自菜单栏的模型域。 <br>域对话框的列表显示已存在的域。 <br>2 点击增加一行工具。 <br>一支箭头在第一空行的开始处出现,一个默认的名字和代码被进入。 <br>3 在名字列输入Amount。 <br>这是域的名字。 相同的代码自动地在代码列中被进入。 <br>4 点击应用。新创建的域被提交。</p>
<p>&#160;</p>
<p>5 点击新的域行。 <br>6 点击属性工具。 <br>7 点击紧邻数据类型下拉列表的问号按钮。</p>
<p>&#160;</p>
<p>8 点击Momey的Radio按钮。 <br>域现在有一个Money数据类型。 一个Money数据类型用一个固定长度的数字来储存数字。 稍后，当你应用这一个域用来储存Money的数量数据项目的时候,你将会他们继承这一个数据类型。 <br>9 在长度框中打字 8 。 <br>附到这一个域的数据项目的最大的长度将会是 8. <br>10 在精密框中打字 2 。 <br>附到这一个域的数据项目在小数点之后能带二个位置。</p>
<p>&#160;</p>
<p>11 点击 OK 。 <br>回到域特性页。 值 MN8,2 在数据类型列表框中出现。 MN 是一个Money数据类型的代码。 8指出Money类型能有 8个长度。 2指出数量有 2 个小数位精度. <br>12 点击OK,回到域的列表。 <br>13 点击增加一行工具。 <br>一支箭头在第一个空白行的开始处,一个默认的名字和代码被输入。 <br>14 名称列键入Percent。 <br>这是域的名称。 相同的代码自动地在代码列中被进入。 <br>15 点击应用。 <br>新的域创建被提交。 <br>16 点击新的域行。 <br>一个箭头在行开始处出现。 <br>17 点击属性工具。或在行开始处双击箭头。属性页为新创建的域。 <br>18 点击问号按钮旁边数据类型下拉列表框。 <br>标准数据类型对话框出现。 使用这一个对话框指定被域影响的数据形式。 <br>19 点击短整数型 Radio 按钮。 <br>代码 SI 指出Percent域有短整数型数据类型。 因为你不能为短整数型数据类型指定长度和精度 , 所以长度和精度框不可用的。 <br>20 在每一个对话框中好点击。 域最大的好处就是可以很快的付给数据项目数据类型,并且保证加入到域中的所有数据项目保持一致(例如,很多数据库的表都有一个ID,那么这个ID在很多时候都是相同的数据类型和长度,那么就可以直接定义一个ID的域,这样,当你需要修改ID长度的时候,就不用一个一个的修改啦) </p>
<p><br>7、定义和使用继承</p>
<p>创建一个继承连接 <br>你从子实体到父实体创建一个继承连接。你将会从 PERIODICAL 和 NONPERIODICAL 实体到 TITLE 实体定义一个继承。 <br>1.选择工具面板的继承工具。 <br>2.在 NONPERIODICAL 实体之内点击，按住鼠标左键不放,拖拉光标到 TITLE 实体。 在 TITLE 实体之内放开鼠标按钮。</p>
<p>&#160;</p>
<p>一个继承连接出现在这些实体之间。 连接中间有一个半圆形, 和一个指向TITLE父实体的箭头。 NONPERIODICAL 是子实体。 子实体继承它的父实体。 <br>3 选择工具板上的继承工具，点击半圆形，按住鼠标左键不放,拖拉光标到 PERIODICAL 实体。 在PERIODICAL实体内放开鼠标按钮。 <br>继承符号因此改变。</p>
<p>&#160;</p>
<p>定义继承属性 <br>你将会分配一个主题到继承，使它互斥，而且定义它的生成模态。 <br>1 点击工具面板的指针工具。 <br>2 双击继承连接的中央半圆形。 <br>继承特性页出现。 <br>3 类型名称在名称框中继承。这是继承的名称。 <br>4 选择子对象互斥的复选框。 <br>因为主题是一份期刊或一份非期刊,不能两个兼有，所以是互斥的。</p>
<p>&#160;</p>
<p>5 点击生成定位键。生成页出现。 <br>6 在生成模式分组框中确定产生子对象复选框没有被选择。 <br>这里的选择将影响继承如何产生物理数据模型PDM。 仅仅生成父对象意味着只有一个表将被生成，在这里例子中，你只需要知道在每个子对象中的属性是不同的。 <br>7 输入Periodical到名称列中。</p>
<p>&#160;</p>
<p>8 在数据类型列中点击。 <br>9 点击下拉列表箭头。一个下拉列表框出现。 <br>10 选择来自下拉列表框的 BL 。 <br>你为那个指定属性定义 Boolean(BL) 数据类型。</p>
<p>&#160;</p>
<p>11 移动到右边，知道出现 M 复选框。 <br>这是强制性的复选框 。当选择的时候，它指出当Periodical列被产生的时候不能包含NULL价值。 <br>12 选择 M 复选框 。 <br>13 点击确定。</p>
<p>&#160;</p>
<p>十字架在半圆形中出现，指出继承是互斥的。 </p>
<p>继承不只是出现在编程中,在数据库设计中同样用到.</p>
<p>8、将CDM对象转换成PDM对象 </p>
<p>1 选择Tools－&gt;Generate Physical Data Model。PDM生成选项对话框出现。 <br>2 从数据库管理系统下拉列表框选择 Sybase AS Anywhere 8 。 <br>这个对话框处理前面生成的教程文件名称作为PDM文件的名称，但是扩展名为PDM。 <br>3 选择 Share 单选按钮。</p>
<p>&#160;</p>
<p>9、正向工程和逆向工程</p>
<p>你能直接地从 PDM产生一个数据库, 或产生一个能在你的数据库管理系统环境中运行的数据库脚本，这是正向工程。 <br>默认是生成与PDM相同数据库的脚本，但是也可以产生其他数据库的脚本 <br>产生一个数据库创建脚本 <br>1 选择Database－&gt; Generate Database。 <br>数据库生成对话框出现。 它显示生成叁数。 默认叁数已经被选择。 <br>2 SQL的文件名称框中键入 PDM_TUTORIAL 。 <br>3 在目录框中,输入一条路径。 <br>4 选择生成脚本的按钮。 <br>5 选择仅仅生成一个文件。 <br>6 点击Selection 定位键。 <br>7 点击底部表定位键。 <br>表页列出模型中选择可用的所有数据库表。 <br>8 全部点击选择工具。这选择所有的表复选框。</p>
<p>&#160;</p>
<p>9 切换Views和Domains选择需要的视图和域。 <br>10 点击确定。 <br>可以生成数据库脚本,如果选择ODBC方式,则可以直接连接到数据库,从而直接产生数据库表以及其他数据库对象。 逆向工程 <br>你能逆向工程已存在的数据库进新的 PDM 之内。 数据来源可能是从脚本文件或一个开放数据库连接数据来源。 当你逆向工程使用脚本的时候,你能使用一个单一脚本文件或一些脚本文件。 <br>逆向工程数据库对象从一个脚本文件到新的 PDM <br>逆向工程来自一个脚本文件的数据库对象: <br>1 选择File-&gt;Reverse Engineer-&gt;Database 显示新的物理数据模型的对话框。 <br>2 点击部份 Radio 按钮。 <br>3 选择下拉列表框的一个数据库管理系统。</p>
<p>&#160;</p>
<p>4 点击确定。数据库逆向工程对话框出现。 <br>5 点击使用脚本文件的 Radio 按钮。 <br>6 浏览适当的目录选择脚本文件。</p>
<p>&#160;</p>
<p>7 点击选项定位键显示选项页。 <br>8 选择逆向工程选项。</p>
<p>&#160;</p>
<p>9 点击确定。 <br>输出窗口的信息指出被指定的文件完全逆向工程。 逆向工程一个ODBC到新的 PDM: <br>1 选择File-&gt;Reverse Engineer-&gt;Database 显示新的物理数据模型的对话框。 <br>2 点击Share 单选框。 <br>3 选择下拉列表框的一个数据库管理系统。</p>
<p>&#160;</p>
<p>4 点击确定。数据库逆向工程对话框出现。。 <br>5 点击使用一个ODBC 单选框,选择一个ODBC。</p>
<p>&#160;</p>
<p>6 点击选项定位键显示选项页。 <br>7 选择逆向工程选项。</p>
<p>&#160;</p>
<p>8 点击确定。ODBC逆向工程对话框出现。</p>
<p>&#160;</p>
<p>9 在上面部份对话框的下拉列表框中选择限定词和拥有者。 <br>10 点击一个对象类型定位键。 <br>11 点击确定。 <br>输出窗口的信息显示哪些表被转换而且指出数据库成功逆向工程。 </p>
<p>10、生成报表及总结</p>
<p>当设计出数据库以后，就需要讨论，那么有一份正规的DOC文件是很必要的，那么，我们最后来讲讲生成报表，基本都是操作的事情，没有什么技巧。 </p>
<p>1.新建立报表文件</p>
<p>&#160;</p>
<p>2.拖拉需要显示的部分到报表输出选项</p>
<p>&#160;</p>
<p>&nbsp;&nbsp;</p>
<p>3、修改输出选项的内容</p>
<p>4.修改列的宽度和需要显示的内容</p>
<p>5.生成RTF或者其他的类型的报表文件</p>
<p>&#160;</p>
<p>我们一直讲的是PowerDesigner的数据建模部分，其实PD的面向对象建模部分也值得一讲，虽然我更加愿意用Rose，但是PowerDesigner的业务流程建模等还是值得称赞的，有机会再说啦，呵呵。 <br>最后要说以下几点： <br>1.PowerDesigner仅仅是实现的工具 <br>不要以为Power能帮你把关系什么的全部建立好，很多数据库理论只是还是需要的，设计数据库的时候，那些范式什么的，一定要掌握。 <br>设计一个好的数据库，最好的工具不是必须的，但是基础理论是一定要的。 <br>2.PowerDesigner用途不局限与数据建模 <br>正如我上面讲的，PowerDesigner还可以进行业务流程建模，面向对象建模。以前我转贴过用PowerDweigner设计web service的一片文章，可以看看 <br>3.并不是每个设计都需要用到PD <br>用Powerdesigner对付比较大型的项目，是很好的，对于短平快类型的项目，如果时间要求你1个星期完成一个程序，那么完全没有必要用PowerDesigner，直接维护数据库就可以了，当表的数量超过10个（一个小系统的表在10个左右）的时候，建议还是用用Powerdesigner 关于PowerDesigner，物理数据模型我基本没有讲，只讲了CDM－&gt;PDM的转换，因为物理数据模型的操作跟概念数据模型类似，而且各种概念基本大家都了解（如果表，列，过程等概念不知道的话，那么建议还是先看看数据库理论的基础知识）。虽然物理数据模型在数据库建模中是最总要的一个，但是，由于平常大家对数据库的了解都比较多，我就认为没有必要多讲了。 <br>PD中还有一个很总要的工具－模型仓库，他的作用平常用不到，当多个人一起用一个模型工作时，才会用到，不属于数据建模的范畴，就不讲了，毕竟，我只准备了两个星期的时间来搞这个专题。 </p>
<p>&#160;</p>
<p><br>你指出使用数据库管理系统库中储存的数据库管理系统定义文件。 <br>4 点击细节定位键。细节页出现。 <br>5 挑选出来的或清除下列各项选项:</p>
<p>&#160;</p>
<p>如果选择了Check Model ，模型将会在生成之前被检查。Save Generation Dependencies 选项决定PowerDesigner 是否为每个模型的对象保存对象识别标签，这个选项主要用于合并由相同CDM生成的两个PDM。 <br>6 选择Selection 定位键。它列出 CDM 的所有对象。默认地，所有的对象被选择。</p>
<p>&#160;</p>
<p>7 点击确定。 <br>9 当程序已经完成生成时，关闭结果窗户。 <br>PDM 在模型的窗口中出现</p>
<p>&#160;</p>
<p><br>下面举例创建一个概念模型来看看PD的操作方式 <br>1 按工具面板的实体工具。 <br>当光标移动进图表的时候 , 变成实体的形状。 <br>2 在 CDM 图表中点击任何一处。 <br>一个实体符号在点击位置出现。实体名字为 Entity_n,n 是一个创建对象的次序编号。 <br>3 实体工具仍然是可使用的, 因此点击再一次在 CDM 图表中产生另外的一个实体。 <br>现在有 CDM 图表的二个实体。 <br>4 点击工具面板的关系工具。 <br>实体工具被现在释放，而且关系工具是可使用的。 <br>5 点击在第一个实体之内而且当继续按着鼠标按钮的时候,拖拉光标到第二个实体。 在第二个实体之内放开鼠标按钮。这样可以产生关系。</p>
<p>&#160;</p>
<p>6 点击鼠标右键，释放关系工具。 <br>释放一个工具 <br>一个工具保持可使用直到释放它。 释放一个工具, 可以选择另外的一个工具或按鼠标右键。 默认的 ,当按鼠标右键,指针工具被激活。 <br>7 点击面板的套索工具，套索工具是现在可使用。 <br>8 在第一个实体的上面角落点击光标，按着鼠标按钮, 拖拉光标拉一个包括两个实体的长方形，放开鼠标按钮，实体和关系被选择。 <br>9 拖拉实体到一个新位置，关系跟随实体一起移动。 <br>10 点击面板的文本工具。文本工具是现在可使用。 <br>11 在关系下面点击光标，一些文本在被长方形指出的区域中出现。 <br>12 点击鼠标右键，你释放文本工具。 <br>13 双击文本，一个文本框出现。 <br>14 在文本框中输入短文本。 <br>15 点击OK，文本在图表中出现。 <br>16 点击文本框的一个柄，按着鼠标左键,拖拉光标到右边直到所有的文本出现，放开鼠标按钮，在图表背景上点击，文本框柄消失。 <br>17 点击面板的指针工具。你将使用这个工具选择并且删除符号。 <br>18 在实体符号上点击，选择你想删除的对象。 <br>19 按键盘上的 DEL 键，确认信息对话框出现, 问你如何删除选择。</p>
<p>&#160;</p>
<p>删除对象 <br>如果你选择删除对象,你将删除图标符号并且删除模型中的对象。 如果你只选择删除符号,你将删除图标符号, 但是保存模型的对象。 <br>20 点击OK，图表中的实体和联合的关系被移动。 对象也从模型删除。 <br>21 点击剩余的实体，当你点击文本的时候 ,按着键盘的SHIFT键，二个对象将被选择。 <br>22 按 DEL 键 , 并且在删除信息出现的时候点击 OK ，剩余的实体和文本被删除</p>
<br>转自：<a href="http://hi.baidu.com/%C0%EE%B1%F8/blog/item/e0d98cd644c9ef2e06088b6e.html">http://hi.baidu.com/%C0%EE%B1%F8/blog/item/e0d98cd644c9ef2e06088b6e.html</a>
<img src ="http://www.blogjava.net/yesjoy/aggbug/123409.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yesjoy/" target="_blank">★yesjoy★</a> 2007-06-11 16:03 <a href="http://www.blogjava.net/yesjoy/articles/123409.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>powerdesign学习小结 </title><link>http://www.blogjava.net/yesjoy/articles/123406.html</link><dc:creator>★yesjoy★</dc:creator><author>★yesjoy★</author><pubDate>Mon, 11 Jun 2007 07:55:00 GMT</pubDate><guid>http://www.blogjava.net/yesjoy/articles/123406.html</guid><wfw:comment>http://www.blogjava.net/yesjoy/comments/123406.html</wfw:comment><comments>http://www.blogjava.net/yesjoy/articles/123406.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yesjoy/comments/commentRss/123406.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yesjoy/services/trackbacks/123406.html</trackback:ping><description><![CDATA[<p>1。pd中复制一列是，实际上是一个链接。源列的变动同时体现在复制列上</p>
<p>2。数据库设计通常步骤：CDM缺定主要结构－－》生成PDM－－》在PDM上修改，必要时生成CDM</p>
<p>3。若由pdm生成cdm再生成pdm，在pdm中修改过的外键名将被改回到默认值</p>
<p>4。必要时可以通过修改模板（Database－Edit Current DataBase）改变脚本的格式。例如：<br>Script－Objects－Column－Add的Value中开头增加一行&#8220;--%COLNNAME%&#8221;以便在脚本中显示列的中英文对照</p>
<p>5。去掉讨厌的name、code映射：Tools－General Options－clear the Name to Code mirroring check box</p>
<p>6。对于大小写不敏感的数据库（如Oracle），PowerDesign在创建脚本时自动给表名和字段名加上双引号，以&#8220;强字符串&#8221;形式来获取区分大小写，这样给sql语句的编写制造很多麻烦。去掉这个添足的功能：<br>Database -〉Edit Current DBMS -〉Script -〉Sql -〉Format -〉CaseSensitivityUsingQuote<br>右边面板参数值 Value 选择No</p>
<p>7。由cdm生成pdm,可以控制是否将关系生成引用;由pdm生成脚本,可以控制是否将引用生成外键</p>
<p>8。对于oracle而言,为表设置选项（如tablespace GPSSYSTEM）可使其创建到正确的表空间；为主键设置选项(using index tablespace GPSINDEX）使索引创建到正确的表空间中</p>
<p>9。使数据模型图上显示中文：Tools-Model Options-Naming Convertion,在右侧Display处选择Name</p>
转自：<a href="http://blog.csdn.net/qsxucsdn/archive/2005/12/09/547699.aspx">http://blog.csdn.net/qsxucsdn/archive/2005/12/09/547699.aspx</a>
<img src ="http://www.blogjava.net/yesjoy/aggbug/123406.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yesjoy/" target="_blank">★yesjoy★</a> 2007-06-11 15:55 <a href="http://www.blogjava.net/yesjoy/articles/123406.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>PowerDesigner11学习点滴 </title><link>http://www.blogjava.net/yesjoy/articles/123405.html</link><dc:creator>★yesjoy★</dc:creator><author>★yesjoy★</author><pubDate>Mon, 11 Jun 2007 07:54:00 GMT</pubDate><guid>http://www.blogjava.net/yesjoy/articles/123405.html</guid><wfw:comment>http://www.blogjava.net/yesjoy/comments/123405.html</wfw:comment><comments>http://www.blogjava.net/yesjoy/articles/123405.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/yesjoy/comments/commentRss/123405.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yesjoy/services/trackbacks/123405.html</trackback:ping><description><![CDATA[<p>1、安装PD v11.0版</p>
<p>2、由pdm生成建表脚本时，字段超过15字符就发生错误（oracle）<br>原因未知，解决办法是打开PDM后，会出现Database的菜单栏，进入Database － Edit Current DBMS －script－objects－column－maxlen，把value值调大(原为30)，比如改成60。出现表或者其它对象的长度也有这种错误的话都可以选择对应的objects照此种方法更改！<br>或者使用下面的这种方法：<br>生成建表脚本时会弹出Database generation提示框：把options － check model的小勾给去掉，就是不进行检查（不推荐）！<br>或者可以修改C:\Program Files\Sybase\PowerDesigner Trial 11\Resource Files\DBMS\oracl9i2.xdb文件<br>修改好后，再cdm转为pdm时，选择&#8220;Copy the DBMS definition in model&#8221;把把这个资源文件拷贝到模型中。</p>
<p>3、生成的建表脚本中如何把对象的双引号去掉？<br>打开cdm的情况下，进入Tools－Model Options－Naming Convention，把Name和Code的标签的Charcter case选项设置成Uppercase或者Lowercase，只要不是Mixed Case就行！<br>或者选择Database-&gt;Edit current database-&gt;Script-&gt;Sql-&gt;Format，有一项CaseSensitivityUsingQuote，它的comment为&#8220;Determines if the case sensitivity for identifiers is managed using double quotes&#8221;，表示是否适用双引号来规定标识符的大小写，可以看到右边的values默认值为&#8220;YES&#8221;,改为&#8220;No&#8221;即可！<br>或者在打开pdm的情况下，进入Tools－Model Options－Naming Convention，把Name和Code的标签的Charcter case选项设置成Uppercase就可以！</p>
<p>4、建立一个表后,为何检测出现Existence of index的警告<br>A table should contain at least one column, one index, one key, and one reference.<br>可以不检查 Existence of index 这项，也就没有这个警告错误了！<br>意思是说没有给表建立索引，而一个表一般至少要有一个索引，这是一个警告，不用管也没有关系！</p>
<p>5、创建一个表在修改字段的时候，一修改name的内容，code也跟着变化，如何让code不随着name变化<br>Name和Code 的右侧都有一个按钮&#8220;＝&#8221;，如果需要不同步的话，把这个按钮弹起来就可以了。<br>Tools-&gt;General Options-&gt;Dialog-&gt;Name to Code Mirroring (去掉)</p>
<p>6、由CDM生成PDM时，自动生成的外键的重命名<br>PDM Generation Options-&gt;Detail-&gt;FK index names默认是%REFR%_FK，改为FK_%REFRCODE%，其中%REFRCODE%指的就是CDM中Relationship的code！另外自动生成的父字段的规则是PDM Generation Options-&gt;Detail-&gt;FK column name template中设置的，默认是%.3:PARENT%_%COLUMN%，可以改为Par%COLUMN%表示是父字段！</p>
<p>7、如何防止一对一的关系生成两个引用（外键）<br>要定义关系的支配方向，占支配地位的实体（有D标志）变为父表。<br>在cdm中双击一对一关系-&gt;Detail-&gt;Dominant role选择支配关系</p>
<p>8、修改报表模板中一些术语的定义<br>即文件：C:\Program Files\Sybase\PowerDesigner Trial 11\Resource Files\Report Languages\Chinese.xrl<br>Tools－Resources－Report Languages－选择Chinese－单击Properties或双击目标<br>修改某些对象的名称：Object Attributes\Physical Data Model\Column\<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ForeignKey：外键<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Mandatory：为空<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Primary：主键<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Table：表<br>用查找替换，把&#8220;表格&#8221;替换成&#8220;表&#8221;<br>修改显示的内容为别的：Values Mapping\Lists\Standard，添加TRUE的转化列为是，FALSE的转化列为空<br>另外Report－Title Page里可以设置标题信息</p>
<p>9、PowerDesigner11中批量根据对象的name生成comment的脚本</p>
<p>'******************************************************************************<br>'* File:&nbsp;&nbsp;&nbsp;&nbsp; name2comment.vbs<br>'* Purpose:&nbsp; Database generation cannot use object names anymore <br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in version 7 and above.<br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; It always uses the object codes.<br>'<br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; In case the object codes are not aligned with your <br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; object names in your model, this script will copy <br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the object Name onto the object comment for <br>'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the Tables and Columns.<br>'<br>'* Title:&nbsp;&nbsp;&nbsp; 把对象name拷入comment属性中<br>'* Version:&nbsp; 1.0<br>'* Author：wangnc<br>'* 执行方法：PD11 -- Open PDM -- Tools --&nbsp; Execute Commands -- Run Script<br>'******************************************************************************</p>
<p>Option Explicit<br>ValidationMode = True<br>InteractiveMode = im_Batch</p>
<p>Dim mdl ' the current model</p>
<p>' get the current active model<br>Set mdl = ActiveModel<br>If (mdl Is Nothing) Then<br>&nbsp;&nbsp; MsgBox "There is no current Model"<br>ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then<br>&nbsp;&nbsp; MsgBox "The current model is not an Physical Data model."<br>Else<br>&nbsp;&nbsp; ProcessFolder mdl<br>End If</p>
<p>' This routine copy name into code for each table, each column and each view<br>' of the current folder<br>Private sub ProcessFolder(folder)<br>&nbsp;&nbsp; Dim Tab 'running&nbsp; table<br>&nbsp;&nbsp; for each Tab in folder.tables<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if not tab.isShortcut then<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tab.comment = tab.name<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim col ' running column<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for each col in tab.columns<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; col.comment= col.name<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; next<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if<br>&nbsp;&nbsp; next</p>
<p>&nbsp;&nbsp; Dim view 'running view<br>&nbsp;&nbsp; for each view in folder.Views<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if not view.isShortcut then<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; view.comment = view.name<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if<br>&nbsp;&nbsp; next</p>
<p>&nbsp;&nbsp; ' go into the sub-packages<br>&nbsp;&nbsp; Dim f ' running folder<br>&nbsp;&nbsp; For Each f In folder.Packages<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if not f.IsShortcut then<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ProcessFolder f<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if<br>&nbsp;&nbsp; Next<br>end sub</p>
<br>转自：<a href="http://blog.csdn.net/edeed/archive/2006/02/10/596271.aspx">http://blog.csdn.net/edeed/archive/2006/02/10/596271.aspx</a>
<img src ="http://www.blogjava.net/yesjoy/aggbug/123405.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yesjoy/" target="_blank">★yesjoy★</a> 2007-06-11 15:54 <a href="http://www.blogjava.net/yesjoy/articles/123405.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>