61阅读

powerdesigner教程-PowerDesigner教程(完整)

发布时间:2017-09-27 所属栏目:powerdesigner 教程

一 : PowerDesigner教程(完整)

前言

在CSDN上转悠经常看到有网友寻求PowerDesigner相关资料的帖子,Baidu,Google上找找还真很少;同

时也有不少网友发来Email询问相关PowerDesigner问题或索要相关资料的,故下定决心制作本文档。[www.61k.com)折腾

二十多天,终于输出了现在的文档,其中绝大部分内容都是依照PowerDesigner自带的帮助文档翻译过来,

乐意啃英文的朋友最好还是看其”原汁”教程,同时本文档仅用于帮助分析设计人员更快熟悉掌握

PowerDesigner的使用方法,不包含分析设计方面的理论,所以要作好系统的分析设计工作还是需要用户深

厚的项目实践功底。

起初想尽量按照PowerDesigner自带帮助文档完整地进行,尝试了一上午的工作之后这种方案马上

就被我否决,原因有二:1.内容太多,工作量太多。2.原帮助文档特别周全,个人觉得可以在内容上作很大

程度的压缩。姑决定按原帮助文档写,同时加入自己目前正在做的技术论坛分析设计过程以便于理解。

对本文档内容的几点说明:

1. 本文档只包括PowerDesigner部分内容(RQM,Report,CDM,PDM),内容不够全面。

2. 内容尽量简略,一些相同或类似操作过程尽量不再重复。

3. 部分术语参考了飞思科技产品研发中心监制电子工业出版社的《PowerDesigner数据库系统分析设计与

应用》。

4. 暂时没有包含OOM,XML,BPM,ILM等模型内容,我将会在后期陆续更新。

版本说明:我使用的是PowerDesigner Trial 11英文版,因此文档中一些菜单,按钮名称也用英文写

出(因当心自己译出的名称和中文版上的名称不一致而造成理解不便),若是给使用中文版的朋友带来不便,

我在这说声”抱歉”了!同时由于各版本不同部分操作可能会有所区别。

这里要感谢在我进行翻译工作期间给我发送Email关注的网友,感谢一直支持我的朋友们!由于第

一次做翻译工作,限于水平有限,文档中肯定存在很多不足和错误之处,衷心欢迎各位网友指点迷津,期

望得到您的指导!

Email:dingchungao@gmail.com dingchungao@126.com

QQ:330982401

Blog:http:\\feiren1421.cnblogs.com

Slash

2006.8.31

PowerDesigner11.0.0.1363评估版

为了更好的将原文含义再现,不加入我个人语言习惯,我尽量按照原文档内容翻译。

环境简介 需求模型

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

Workspace

左边的资源浏览窗口Browser提供当前的Workspace层次结构,根节点为Workspace节点,Workspace中可以包含目录(Folder),模型(Model),多模型报告(Multi-Model Report),其中模型可以各种系统支持的模型类型。(www.61k.com]

powerdesigner 教程 PowerDesigner教程(完整)

一般我们将欲构建的目标系统的各种模型,文档及报告放在同一Workspace中,以便于模型设计与管理。 Workspace定义了使用PowerDesigner建模时的信息集合,PowerDesgner工作时只能有一个Workspace处于打开状态。要新建Workspace必须先将当前Workspace关闭,如以下操作:右击当前Workspace->选择”Close”,这样即完成了原Workspace的关闭,同时也自动创建了新的Workspace,只是新Workspace中还没有内容。接下来就可以在其中添加自己想要新建的模型了。

需求模型基础(Requirement model basics)

Requirements Model(RQM)是一种文档式模型,它通过准确恰当地列出,解释开发过程程中需要实现的功能行为来描述待开发项目。你可以为开发过程中需要使用到的各种结构化技术文档(功能或技术规格说明书,测试计划)而使用Requirements Model.

powerdesigner 教程 PowerDesigner教程(完整)

Requirements Model以下面两种视图呈现(而不是以图表形式):

需求文档视图 对一系列公共属性进行编号

可编辑行矩阵 单元格代表了当前需求与设计对象,外部文件或其它需求的联系

Requirements Model允许你可以:

对一结构化技术文档建立需求模型

检查现有或引入的模型

对需求和设计对象(其它类型模型)建立联系

对其它设计对象建立需求模型,或反之通过需求模型建立其它设计类型

从需求模型生成或更新MS Word文档,提供用户一符合需求模型的MS Word文档

从现有MS Word文档生成或更新相应的需求模型

各对象之间关系如下图所示:

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

由于Requirements Model中没有图表,以上各对象均没有与之对应的图象符号。(www.61k.com)需求是以图表视图形式列出,可编辑矩阵视图显示出需求和各设计对象,外部文件或其它需求之间的联系。

需求建模环境包括一系列定义不同模型内容和行为的参数和设定选项,你可以通过在建立模型时,使用默认选项建立模型后或建立模型模版时进行设置。

菜单栏—>选择”Tools”?Model Options,可见以下模型选项对话框,现在可以进行你喜欢的设置了。

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

定义模型属性

在打开相应模型文件后,选择菜单栏中Model->Model Properties,或在左边树性对象浏览器中选中对应模型,双击/右键->选择Properties,均可进入Properties设置区间,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

扩展:powerdesigner 教程 / power designer 教程 / powerdesigner教程pdf

接下来就可以进行你想要的设置了!

新建Requirements Model

下面以我自己最近的项目过程为例逐步讲解各过程:

项目简介:这是个类似动网或CSDN的论坛系统,参考了它们的功能设计,主要用于本人练习N层架构的学习。[www.61k.com]

建立需求模型:

建立完成的需求视图

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

首先我们要新建一Workspace作为整个系统各种模型,文档与报告信息集合。(www.61k.com]

启动PowerDesigner,这时会默认打开一个Workspace,单击鼠标右键->选择”Close”,这样我们完成了关闭原来Workspace,同时新建Workspace的工作。接下来就是在其中添加各种模型了。

新建Requirements Model

点击File->New或鼠标右键单击Workspace->New->Requirement Model可以看到新建模型属性选项框如下:

powerdesigner 教程 PowerDesigner教程(完整)

选择左边Requirements Model,其它为默认设置,确定,OK!

下面我们对新建的RQM进行先进行一些基本属性设置:

在资源浏览窗口中右键单击刚建好的RQM->Properties或直接双击对应RQM,直接进去模型属性设置Model Properties,如下图所示:

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

现在你可以进行自己想要设置了。[www.61k.com]这里我们将Name,Comment分别进行基本设置,同时系统默认Name和Code是一致的,Name用来进行分析描述,为了形象明了可以使用中文,而Code则和后期的具体设计有关,如用于编码设计,一般多用英文加数字等标准命名(仅供参考)。

同时我们可以看到在新建RQM时也自动建立了一个模型视图(View),接下来我们就要对该视图(View)进行编辑以建立需求模型,根据前面需求模型简介介绍的相关RQM视图知识,需求模型可以用文档视图的形式表示,后续的大部分工作只有对View进行编辑就OK了!

先看看完成后的需求视图吧!

powerdesigner 教程 PowerDesigner教程(完整)

这里的各系统需求是按层次排列的,这样也使需求文档视图能和标准的层次化Word/rtf文档能进行相互转换。可以通过视图上方的工具栏进行全面的需求模型建设。

添加需求(Requirement):

点击需求文档视图工具栏上”Insert a Row”工具或点击需求文档视图的空白区

这样一个预先默认自定义的需求已经添加在文档视图中,如下所示:

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

编辑需求属性

双击需求TitleID左边的箭头(arrow)或单击需求文档视图工具栏最左边的Properties工具即进入属性属性编辑。[www.61k.com)

其中除了TitleID栏之外每栏都处于可编辑状态的。

powerdesigner 教程 PowerDesigner教程(完整)

注:箭头所在行为选中行

属性各栏目对应着文档视图中的各可编辑栏。这里我们可以设置各需求的详细内容和描述信息,比如标题(Title),需求描述(Description),优先级(Priority),风险(Risk),状态(Status),工作量(Workload)等详细内容。详细设置信息请参考示例文件。

若要更改文档视图中的可见栏目,可以通过单击需求文档视图工具栏中Customize Columns and Filter工具,进入

powerdesigner 教程 PowerDesigner教程(完整)

现在可以选择您想要显示的栏目了。

这样我们就基本上完成了系统需求的设计过程,依此多次操作完成如下系统需求文档视图基本框架:

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

后面的工作就是对其中各Requirement做进一步的细化,对各需求模块做更为细致的划分,即分层细化,这样也和层次化的文档吻合。[www.61k.com)这里我们以对Functional Requements的设计为例进行讲解,先看看细化完成后的需求文档视图(部分):

powerdesigner 教程 PowerDesigner教程(完整)

现在让我们开始吧!

方法一:

需求文档视图,选中Functional Requirements->点击视图工具栏”Insert Sub-Object”工具(而不是”Insert a Row”工具),这样就在Functional Requirements中插入了一个子对象。

方法二:

于左边资源管理窗口Requirements目录下右键单击相应需求名称->New->Requirement即可。如下图:

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

现在只要对新插入的子对象进行详细的内容编辑设计即可,同样地我们也可以对各子对象通过再次添加子对象作进一步的细化工作。(www.61k.com)

如果要提升或降低某部分的需求层次,则可以通过工具栏中的Promote和Demote来实现调整。

定义Users和Groups

Users(用户) 指在一个需求模型中至少和一个已定义需求有关的人的集合。

Groups(组) 指专属于开发进程中一个或多个方面的用户类别。每个用户组要与需求模型中至少一个已定义需求有关。

扩展:powerdesigner 教程 / power designer 教程 / powerdesigner教程pdf

新建User/Group

在资源浏览窗口中,右键单击模型名称(图标)-->New?User/Group,打开User或Group属性窗口,输入相应名称和代码名,确定即完成新建。

同样也可在菜单栏选择”Model”?Users/Groups完成新建过程。

下一步是将相应的User与Group联系,添加进Group中,打开相应的Group属性,选择Group Users属性栏

powerdesigner 教程 PowerDesigner教程(完整)

点击属性工具栏中”Add Objects”工具,从中选择您要添加的User对象,当然只有在您已经建立了相应的User对象时才会显示User成员列表。

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

现在选择您需要添加的User对象,确定就可以了。(www.61k.com]

建立Business rules(业务规则)

业务规则是对为了满足业务需求,模型应该包括的特定内容或关于如何构建模型方面的描述清单。在这里的示例模型中,我们要定义关于论坛积分制度的业务规则,具体业务规则内容见参考文档。

在Requirement Model状态下,PowerDesgner默认Businss为不可用状态,为此我们需要通过新建Extended model definition(扩展模型定义)来激活Business rules。

步骤如下:

选择菜单栏”Model”? Extended Model Definitions,这时打开List of Extended Model Definitions,通过选择其工具栏中”Add a Row”工具,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

点击Apply即在资源浏览窗口中添加Extended Model Definitions目录。

在资源浏览器中打开Extended Model Definitions目录,双击相应扩展模型定义左边图标

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

即打开

powerdesigner 教程 PowerDesigner教程(完整)

Extended Model Definition Propreties

现在可以在右边输入extended model definition的Name,Code等信息。(www.61k.com)

选择左边窗口中”Profile”目录,右键单击在上下文菜单中选择”Add Metaclasses…”,这时可以看到Metaclass Selection对话框,选择PdCommon页,在Metaclass选择列表中选定

powerdesigner 教程 PowerDesigner教程(完整)

BusinessRule

powerdesigner 教程 PowerDesigner教程(完整)

点击OK,现在可以在Profile目录下看到BusinessRule了,点击OK!已经完成了BusinessRule的激活。(www.61k.com) 完成上述激活步骤后我们就可以执行Business Rules的新建了。

在资源浏览器窗口中右键单击当前需求模型->选择”New”,或通过选择菜单栏上Model,你可以看到Business Rule(s)选项了,选择执行,设定详细业务规则属性内容就OK了,示例模型中我们完成了三个关于论坛积分制度方面的业务规则,可以查看参考文档,不再赘述!

接下来我们为示例模型添加术语表(glossary term)

选择菜单栏Model->Glossary terms,进入List of Glossary terms对话框

powerdesigner 教程 PowerDesigner教程(完整)

选择工具栏上”Add a Row”工具,进行glossary term编辑。

或通过资源浏览器中也同样能执行添加术语操作。

若目标系统比较大,功能较多,也可以通过在系统模型中添加文件夹(package)来方便管理,也能使整个模型更清晰,具有层次性。

到这我们就已经基本完成了整个需求模型,接下来让我们来与word文档协调工作且生成内容全面的需求报告文档。

从需求模型生成Word文档

资源浏览窗口中,右键单击当前模型名称或图标->选择”Export as Word Document”

或在菜单栏中选择Tools->Export as Word Document...,这时文档生成就开始执行,输出窗口会显示对当前模型的检验信息,这里我们对其中的Warning就忽略不作考虑了。

片刻后会弹出

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

选择空白文档,单击确定,你可以看到文档输出了!

生成的文档如

powerdesigner 教程 PowerDesigner教程(完整)

其中红色部分文字表示与当前模型联接的信息,如果已经确定需求模型,要生成最终文档作为分析成果,可以通过在MS Word菜单栏上选择”Requirements”->Detach the Document from the Requirements Model,这样就实现了最终文档与需求模型的分离,同时生成的文档也没有那些红色的联接信息了。[www.61k.com]

在没有将文档与模型分离时,我们还可能在PowerDesigner中对需求模型进行修改,这时我们可以对文档执行更新操作,同时对符合层次化标准的Word文档,也可以将其转化为相应的需求模型。

需求模型的个人见解就到此为止,要申明的是:以上内容只是对PowerDesigner提供的需求建模功能的大概说明,其中太多细节还需日后使用过程中慢慢掌握。

生成模型报告

文档生成Report

个人觉得有必要将Report(文档生成)提前讲解,毕竟软件工程的任何阶段都会输出相应文档,PowerDesigner支持生成RTF和HTML两种格式文档。

下面以刚完成的示例论坛系统的需求模型为例讲解。

PowerDesigner提供对Report的操作有关于Report Template Editor(报告模板编辑器),Report Template(报告模板),Report Editor(报告编辑器),Multi-Model Report Editor(多模型报告编辑器),Report Language Editor(报告语言编辑器)

扩展:powerdesigner 教程 / power designer 教程 / powerdesigner教程pdf

1. 使用Report Template Editor(报告模板编辑器)

打开Report Template Editor(报告模板编辑器)

(1)选择Tools->Resources->Report Templates,可以打开List of Report Templates(报告模板列表),列表显示出当前系统中存在的报告模板,如下图示:

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

(2)在Type(类型)下拉列表中选择相应的模板类型,可用模板中会显示对应您选择模板类型的模板,同时您也可以通过单击模板列表工具栏上的New工具新建您所需要的模板。(www.61k.com)

powerdesigner 教程 PowerDesigner教程(完整)

(3)选择相应模板

(4)通过单击工具栏上Properties工具或直接双击所选定模板,进入相应模板属性编辑器。其中左边Available items为可用项目,右边Template items为当前模板中项目,表示出该报告模板的结构。

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

现在你可以对该报告模板进行编辑修改!

也可以通过选择Model->Reports打开List of Reports(报告列表),再选择报告列表工具栏上Manage Report Templates(管理报告模板)工具打开List of Report Templates(报告模板列表)。[www.61k.com)

2. 标准报告模板(Standard report templates)

PowerDesigner默认自带了一系列的标准报告模板,其模板安装目录在Sybase\PowerDesigner Trial 11\Resource Files\Report Templates下。

其中每种类型的模板都包含三种类型的标准模板,如下表所示:

powerdesigner 教程 PowerDesigner教程(完整)

3. 创建报告模板

报告模板是一种可以用来快速生成报告文档的文件,你可以使用PowerDesigner自带的一些标准模板或创建你自己的模板。创建模板时需要指明你在报告中需要包含的信息,同时也可以通过选择一种你想要语言用以显示报告文档。

(1) 选择Tools->Resources->Report Templates,打开了List of Report Templates窗口

powerdesigner 教程 PowerDesigner教程(完整)

(2) 工具栏中New工具,即打开Report Template Type窗口

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

(3) 输入相应的模板名称,选择语言种类同时在模板列表中选择模板类别

(4) 单击OK即进去Report Template Editor(报告模板编辑器),现在你可以将想要在模板中显示的

项目进行添加调整了。(www.61k.com)

(5) 完成模板编辑后,选择File->Save,就可以将你所编辑好的报告模板保存为.rtp文件。

使用报告编辑器(Using the Report Editors)

1.创建模型报告

你可以通过使用报告编辑器创建模型报告和多模型编辑器创建多模型报告,但是当你要创建报告时,在当前workspace中必须打开至少一个模型且要有一个默认生成节点。

这里我们对前期需求模型创建报告文档作为示例。

(1)Model->Reports,打开List of Reports窗口

powerdesigner 教程 PowerDesigner教程(完整)

(2)单击工具栏上New工具,弹出New Report对话框,输入对应名称,选择语言类别和报告模板。

powerdesigner 教程 PowerDesigner教程(完整)

(3)单击OK,即完成报告新建工作,这里我选择的报告模板为None,接下来我们对报告内容及节点进行编辑。

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

如上图对目标报告文档内容进行编辑,报告节点设计完毕后就可以生成html或rtf报告了。[www.61k.com)

(4)选择Report面板中的Generate HTML或Generate RTF即可生成相应格式报告文档,若要预览文档,可以选择面板中的Print Preview工具。

powerdesigner 教程 PowerDesigner教程(完整)

最终生成的html文档如下图示:

powerdesigner 教程 PowerDesigner教程(完整)

创建多模型报告(Multi-Model Report)

多模型报告能够通过使用Section在同一个报告中包含不同类型模型中的对象,将不同模型结合起来提供一个全局视角的综合报告。但是每个Section只能是一种模型类型,并且只能使用一个模板类型,被使用模型必须在当前workspace中处于打开状态。

powerdesigner 教程 PowerDesigner教程(完整)

(1)在当前workspace中打开一些需要参与多模型报告的模型,选择菜单栏中File->New,

在弹出的新建窗口中选择Multi-Model Report。[www.61k.com)

或通过右键单击当前Workspace->New->Multi-Model Report亦能完成多模型报告的新建。

(2)弹出新建多模型报告窗口。

powerdesigner 教程 PowerDesigner教程(完整)

(3)输入报告名称,选择语言种类,同时在Model name的下拉框中选择一个Section将要描述的模型。同时根据可以根据需要在Report template下拉列表中选择相应的报告模板。

扩展:powerdesigner 教程 / power designer 教程 / powerdesigner教程pdf

(4)点击OK,确认操作!这时就已经打开多模型报告编辑窗口,如下图示:

powerdesigner 教程 PowerDesigner教程(完整)

(5)基本的多模型报告框架已经建好,下一步就是对其中Section进行设置编辑即可。根据需要加入不同模型创建适当Section,基本操作与普通单模型报告类似!

处理Section

每个报告文件至少要包含一个Section,通过使用Section可以使模型设计者将目标模型分为几个不同部分,便于分析模型各部分功能,因此恰当地使用Section可以让报告文档更加清晰,具有层次性。可以通过两种方式创建Section(节):

1. 创建一个空白Section

2. 创建一个基于模板(Template)的Section

当你创建新Section时,模板列属性默认被设置为None,且应用模板选项框被自动选取。

创建Section

powerdesigner 教程 PowerDesigner教程(完整)

(1) 在Report Editor编辑窗口下,选择Report->Sections,即弹出List of Report Sections窗口,其中

Section列表包含一默认生成的

powerdesigner 教程 PowerDesigner教程(完整)

Section.

(2) 输入Section名称,如果没有更改输入名称系统将会在报告项目面板(Report Items)中使用默

认名称。[www.61k.com]

(3) 如果当前报告为多模型报告,则可以在模型栏(Model column)中选择对应模型类型,多模型

报告可能包括多种模型类型的Section,如OOM,PDM,CDM等,但必须这些模型在当前Workspace中都处于打开状态。若当前报告为单模型报告,则Model列为不可选,系统自动设置为当前模型。

(4) 单击模板栏(Template),选择需要的模板类型,可选项有None,Full Requirement report, List

Requirement report,Standard Requirement report。若选择None则创建空白Section.,同时Apply Template选项框为默认选取状态。

(5) 以上操作已经完成对当前Section的设置,要再次添加Scetion则通过选取工具栏上Add a Row

或Insert a Row工具添加新Section,同时再次执行(1)---(4)步骤设置其属性。

(6) 单击OK,现在已经完成多个Section的创建。其中每个Section在报告编辑器(Report Editor)

中显示为Report Items面板底部的Tab页中,如下图所示:

powerdesigner 教程 PowerDesigner教程(完整)

将报告中Section创建为模板

经常我们需要将已经设计好的Section供以后在其他模型中使用,为此我们可以将创建好的Section保存为模板。

(1) 单击需要保存的Section的Tab页(在Report Items面板底部的Tab页)

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

(2) 选择工具栏上Report->Create Template From Section,打开报告模板编辑器(Report Template

Editor)页面,则原来在报告项目(Report Items)中显示的项目(Items)这时显示在模板项目面板中。[www.61k.com]

powerdesigner 教程 PowerDesigner教程(完整)

(3) 确认模板项目后,选择菜单栏上File->Save,即打开保存文件对话框。

(4) 输入相应模板名称,单击保存即可。

使用报告语言编辑器(Using the Report Language Editor)

通过使用报告语言编辑器可以创建和修改报告语言的源文件(Resource files),报告语言源文件是以XRL为后缀的XML格式文件,其中包含了报告中所有可打印文本和它们的一些默认数据,报告语言源文件保存在中心区域且能够被任何模型报告共享使用,从而保证了数据一致性,节省了用户创建编辑报告文档的时间。PowerDesigner在安装目录\Sybase\PowerDesigner Trial 11\Resource Files\Report Languages下自带了一系列的报告语言源文件。我们也可以通过使用报告语言编辑器(Report Language Editor)创建符合自己需求的文档报告源文件。

打开报告语言编辑器

(1) 选择菜单栏上Tools->Resources->Report Languages,即打开报告语言列表(List of Report

Languages)窗口,其中显示出当前系统具有的所有报告语言列表。

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

(2) 选择某种报告语言

(3) 单击工具栏上Properties工具,或双击该行,打开Report Language Properties窗口

powerdesigner 教程 PowerDesigner教程(完整)

同样你也可以通过报告编辑器打开报告语言编辑窗口:选择菜单栏上Report->Edit Current Language,不过这时打开的语言种类是针对当前选择语言。[www.61k.com)

报告语言编辑器(Report Language Editor)由两个不同部分组成:根据语言类别和实体导航的左侧目录树与显示相关信息的右侧树型视图。

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

左边目录树主要包含以下三个部分

powerdesigner 教程 PowerDesigner教程(完整)

Object Attrbutes和Report Titles分别包含PowerDesigner每个模型特定特征的种类。[www.61k.com)Value Mapping类别则包含具有一个标准入口的子类别:

扩展:powerdesigner 教程 / power designer 教程 / powerdesigner教程pdf

Forms:Cards和Checks中的对象属性的关键字。

Lists:Lists中的对象属性的关键字。

PowerDesigner提供自带的报告语言源文件还是很符合语言习惯的,一般来说不用进行更改订制,但选择中文模板时会出现一些问题,比较常见的就是如Primary Key,Foreign Key等翻译存在一些差异。下面以简体中文模板对我们示例系统的PDM建立系统数据字典报告文件。

已经完成的示例PDM关系图如下:

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

下面对每个数据表和各数据表的字段生成数据字典:

(1)为了方便演示,我们选择新建空白的报告模板,只将表格清单(List of Tables),表格列清单(List of Table Columns-表%PARENT%的列清单)和关系图表(Diagram)添加至报告项目面板(Report Items)。[www.61k.com]

powerdesigner 教程 PowerDesigner教程(完整)

(2)右键选择List of Table Columns-表%PARENT%的列清单->Layout,弹出要显示对象列表。

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

(3)在列表中选择需要显示的对象。[www.61k.com)

这时直接生成RTF文档,看看文档效果。

powerdesigner 教程 PowerDesigner教程(完整)

看到上述文档效果估计很多朋友都会很失望的,没关系,现在让我们一步步来完善!

(1) 选择菜单栏上Tools->Resources->Report Languages…打开List of Report Languages(报告语言列

表)窗口,这里我们选择双击Simplified Chinese,以打开报告语言属性窗口。

(2) 选择Object Attributes\Physical Data Model\Column\Primary,将Value中”主要的”改为”主键”。

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

(3) 选择Object Attributes\Physical Data Model\Column\ForeignKey,将Value”外来键”改为”外键”

(4) 选择Report Titles\Physical Data Model\Table\Columns list,将Value”表格%PARENT%的专栏清

单”改为” 表%PARENT%的列清单”.

(5) 双击报告项目面板中的”Table-表格%ITEM%”对象,在弹出的编辑窗口中将”表格%ITEM%”改

为”表%ITEM%”,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

(6) 当然还可以通过报告源文件编辑器进行其它报告项目显示方面的更改,同时也可以使用如其它

常用软件中的查找替换功能,可以在报告语言属性窗口找到相应工具。[www.61k.com]不过这时执行的是全局替换,使用前应小心。

(7) 通常在进行报告语言属性进行更改之后,为了保证软件自带的报告语言源文件(.xrl文件)不

发生变更,可以选择”Save As…”命令。不过必须在语言报告属性窗口中执行,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

(8) 调整各属性列宽度,右键单击报告项目(Report Items)面板中”List of Table Columns-

表%PARENT%的列清单”,在弹出菜单中选择”Layout”,打开List Layout窗口,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

现在调整Width列的数值就行了,支持百分比和实际宽度两种属性。(www.61k.com)现在可以看看生成的文档了,如下图示:

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

为了使显示效果更简洁点,不妨将其中大部分的FALSE不显示,TRUE也只用T代换,为此我们需要将系统的TRUE和FALSE进行转换,需要在报告语言属性中更改映射表。[www.61k.com)

(9) 在报告语言属性窗口中选择”Values Mapping\Lists\Standard”,添加True和FALSE映射即可,如

下图:

powerdesigner 教程 PowerDesigner教程(完整)

现在在进行文档生成,基本上满足正式文档要求。

当然关于模型报告还有很多细节问题,这里不能做到一一分析,可以在日后实际使用中慢慢发掘,毕竟运用才是关键!好了,这一小节就到此为止!

概念数据模型CDM(Conceptual Database Model)

以下我们要完成对示例论坛系统的数据库设计工作,首先让我们建立目标系统的概念数据模型(CDM)。

在进行相关CDM演示之前,让我先简要介绍概念数据模型(CDM)的相关概念。我们进行数据库设计时,一般都是概念层次(Conceptual level)开始的。在概念层次上,你无须考虑数据库的实际物理执

powerdesigner 教程 PowerDesigner教程(完整)

行细节。(www.61k.com]概念模型(CDM)描述了与任何软件或数据存储系统无关的数据库整体逻辑结构,通常包含了与物理数据库无关的数据对象,提供了一种对用于运行企业或业务行为的形象化的表达方式。

CDM功能:

(1)通过创建实体关系图表(E-R)来描述数据的组织结构。

扩展:powerdesigner 教程 / power designer 教程 / powerdesigner教程pdf

(2)能够校验数据设计的合理性。

(3)生成指定了相应物理实现数据库的物理数据模型(PDM)

(4)能够生成用UML标准描述CDM中对象的面向对象模型(OOM)

(5)为在不同的设计阶段创建另一个模型版本,可以生成概念数据模型(CDM)

关于Palette工具面板中含义简介:

powerdesigner 教程 PowerDesigner教程(完整)

新建CDM

(1) 选择File->New,打开New窗口,在左边模型选择列中选中Conceptual Data Model,单击OK,

即确认创建概念数据模型。

(2) 双击资源浏览窗口中新创建的CDM名称图标,打开CDM模型属性窗口,进行相关属性信息

设置。如下图:

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

对刚创建的CDM进行详细之前有必要先说说有关实体属性命名问题。(www.61k.com)

PowerDesigner默认在CDM中不能存在相同名称的实体属性,这也是考虑到可能产生的一些如主键外键等名称冲突问题,但当我们进行实际数据库设计时,可能会多次使用相同数据项(DataItem)便于理解各实体。为此需要对更改PowerDesigner相关设置。软件默认为DataItem不能重复使用(重名),需要进行以下操作:

选择

powerdesigner 教程 PowerDesigner教程(完整)

Tools->Model Options,

在Model Setting设置目录中,将Data Item下的Unique Code取消选中即可,系统默认将Unique Code和

Allow Reuse均选中。

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

同时该设置均是面向特定模型的,即针对当前模型有效,若希望在其它模型中也有此命名设置,则需要重新进行设置。(www.61k.com]不过在Check Model时,如果选择全部Check,则依旧会报DataItem重名的错误信息,这时需要我们在人为检查确认数据项无误时,可以在选择不对DataItem不检查,如下图示:

powerdesigner 教程 PowerDesigner教程(完整)

各种数据类型对应匹配(这里只给出与SQL Server中的常用对应类型,其它DBMS可以使用类似处理)

实体及各类关系

实体(Entity)

(1) 在新创建的CDM中,选择Palette工具面板中的Entity工具,再在模型区域淡季鼠标左键,即

添加了一个实体图符。

powerdesigner 教程 PowerDesigner教程(完整)

(2) 单击鼠标右键或单击面板中Pointer工具,使鼠标处于选择图形状态。

(3) 双击新创建的实体图符,打开实体属性窗口,输入实体名称和代码。

(4) 单击OK,即完成实体创建过程。

继续上述操作,创建多个实体,分别设置为不同名称,具体信息参考示例文档。

实体创建完成后资源浏览窗口中层次结构如下所示:

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

现在编辑各实体的详细内容,如属性组,实体间关系等。[www.61k.com)

实体属性(Entity Attributes)

(1) 以User实体为例,打开实体User属性窗口,进入Attributes属性页,如下图示:

powerdesigner 教程 PowerDesigner教程(完整)

(2) 单击属性窗口工具栏中Add a Row工具,即在属性实体属性列表中添加了一个属性,同时设置

该属性相关信息,如数据类型,是否为主标识符,是否不可为空等。

(3) 详细设置新添加的属性为UserID,作为系统唯一标识区别的用户编号,同时选择P,M,数据类型

(DataType)选择Integer。如下图:

powerdesigner 教程 PowerDesigner教程(完整)

(4)对属性列进行更为详细的设置,可以通过单击对应属性列左边箭头,进入Attribute Properties窗口,可以进行更为精确详细的设置,如数据上下限,精度等。如下图:

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

(5)同时若要更改实体属性列表中显示的相关选项可以通过单击工具栏中Customize Columns and Filter工具以打开Customize Columns and Filter窗口

powerdesigner 教程 PowerDesigner教程(完整)

只要在列表中选择想要显示的项目即可完成设置。[www.61k.com)

标识符(Identifiers)

标识符是能够用于唯一标识实体的每条记录的一个实体属性或实体属性的集合,CDM中的标识符等同于PDM中的主键(Primary Key)或候选键(Alternate Key)。每个实体至少要有一个标识符,若一个实体中只存在一个标识符,它就自动被默认指派为该实体的主标识符(Primary Identifier)。

指定相应标识符

(1) 在双击图表中对应实体以显示实体属性窗口。

(2) 在当前实体属性窗口中选择Identifiers属性栏,如下所示:

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

扩展:powerdesigner 教程 / power designer 教程 / powerdesigner教程pdf

(3) 可以通过单击工具栏上Property 工具或双击所要选择的标识符栏,进入标识符属性编辑窗口。[www.61k.com)

(4) 选择Attributes属性,可以看到当前标识符所关联的属性列表,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

(5) 单击工具栏中Add Attributes工具,即可以进行为当前标识符添加属性。

关系(Relationship)

关系(Relationship)表示实体间的连接。如在一个人力资源管理系统的CDM中,员工是团队中的成员,关系”Member”连接了员工(Employee)和团队(Team),这种关系表述了每个雇员在团队中工作且每个团队都由员工组成。

建立关系(Relationship)这里以用户实体(User)和帖子实体(Post)为例

(1) 在Palette面板中左键单击Relationship工具

(2) 在实体User上单击鼠标左键,按住不放,拖拽鼠标至实体Post上后才松开,这样即建立了User

和Post之间的Relationship.

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

(3) 单击鼠标右键或左键单击Palette面板上的Pointer工具,使鼠标返回至选择状态。[www.61k.com]

(4) 双击图表中的刚建立的两实体之间关系(Relationship)以打开关系属性窗口,便于对关系进行

详细定义。

powerdesigner 教程 PowerDesigner教程(完整)

(5) 输入相应的Name和Code,选择Detail选项,进入如下属性编辑页:

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

(6) 选择One-Many选项,因为User和Post为”一对多”关系,且每一条Post均对应有User,因此

User to Post角色的基数(Cardinality)下拉列表中选择”0,n”,在Post to User角色的基数列表中选择”1,1”。[www.61k.com)同时Role name中输入相应的角色名称。

(7) 确定修改后,单击OK,即可在模型图表中显示新建的Relationship。

(8) 若要自定义关系显示信息,可通过选择菜单栏中Tools->Display Preferences,打开Display

Preferences窗口,在左边树型菜单中选择Object->Relationship,这时即可在右侧选择你所要显示的项目了。

powerdesigner 教程 PowerDesigner教程(完整)

当然你也可以选择其它节点,实现对图符的显示属性设置。

各种类型关系(Relationship)

这部分是比较令人头疼的,不太好懂,需要投入较多时间研究。

自反关系(Reflexive relationship)

是一种实体和它自身的关系。这里用员工的管理概念来表述管理人员管理员工,同时管理人员也属于员工范畴。

(1) 左键单击Palette面板中Relationship工具

(2) 在实体内单击鼠标左键且按住不放,将鼠标拖放至实体旁的空白位置后松开鼠标。

(3) 再次单击实体即成功创建自反关系。

不过这时自反关系的图符不太雅观,可以通过先选定需要更改的图符,然后选择Display Preferences->Format,单击Modify以打开Symbol Format窗口,然后更改Line Style属性中的Corners下拉框中选项

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

确认修改后,最后在单击Display Preferences窗口的OK按纽后会弹出Change Formats选择对话框,若只要将修改应该至当前的自反图符,只需选择所选定图符(Selected symbols)即可。(www.61k.com)

powerdesigner 教程 PowerDesigner教程(完整)

依赖关系(Dependent relationship)

支配关系(Dominant relationship)

强制关系(Mandatory relationship)

以上其它关系不再赘述,需要在实际使用过程加以运用才能加深进一步的理解,同时以上知识点和关系型数据库的理论知识密切相关,PowerDesigner的这些功能只是对应于这些理论的一种运用映射。

关系(Association)

Association也是一种实体间的连接,在Merise模型方法学理论中,Association是一种用于连接分别代表明确定义的对象的不同实体,这种连接仅仅通过另一个实体不能很明确地表达,而通过”事件(Event)”连接来表示。下面通过示例论坛系统的用户实体(User)和论坛栏目(ForumColumn)实体的Association来讲解。示例论坛系统中通过一个Association来表示目标系统中论坛栏目对应的版主关系,包括了属性创建时间(DateCreated)用于记录版主添加的时间。

创建Association

(1) 在Palette面板中单击Association Link工具

(2) 在实体User内单击鼠标左键且按住不放,拖放鼠标至另一实体ForumColumn上,松开鼠标左

键,即在两实体间创建了Association。如下图:

powerdesigner 教程 PowerDesigner教程(完整)

(3) 双击模型图表中刚创建的Association图符以打开Association Properties窗口。

(4) 输入Association的Name和Code,选择Attributes属性页,添加实体属性DateCreated,并设

置相关属性,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

扩展:powerdesigner 教程 / power designer 教程 / powerdesigner教程pdf

(5) 同时可以通过在模型图表中双击相应的Association Link来打开Association Link Properties来编

辑连接属性:

powerdesigner 教程 PowerDesigner教程(完整)

按类似方法可以创建论坛栏目实体(ForumColumn)和角色实体(Role)之间的Association。[www.61k.com]

继承(Inheritance)

Inheritance允许你定义一个实体为另一个更一般(常规)的特例。涉及到继承的实体之间有着共同相似的特征,但却是不同的。超类(或父类)指那些包含共同特征的更一般的类,而特例则被成为子类型,包含了一些更为具体和特殊的特例。

关于继承方面的例子不少,稍具有面向对象观念的都应该能够理解,不再赘述。

而PowerDesigner中关于继承方面的操作过程在这只作简要介绍:

(1) 在Palette面板中单击Inheritance工具

(2) 左键单击子类型,按住鼠标不放,拖放至鼠标至父类型实体图符中,松开鼠标,即完成了一个

Inheritance Link的创建

(3) 要再次添加另一子实体时,可以单击Inheritance工具,从半圆形图处拖动鼠标至另一子类型实

体,然后松开鼠标即可。

(4) 双击新创建的继承图符或实体之间的连接线即可打开弹出Inheritance Properties编辑窗口。

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

(5) 输入相应Name和Code,完成基本设置,单击OK,即完成创建过程。(www.61k.com)

现在已经基本上完成了目标系统的概念建模过程,为此下一步我们需要校验已经设计好的模型,便于能够正确地转换为物理数据模型(PDM)。

检验模型(Check)

(1) 选择Tools->Check Models,打开Check Model Parameters窗口,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

在这你可以对需要Check的项目进行自定义选择。

(2) 确认选择后,单击OK,则PowerDesigner开始对模型进行检验。

(3) 完成检验后,PowerDesigner会将检验结果在输出列表中显示出来

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

我们可以根据所列出的错误信息对模型进行修改,错误信息分别有Error,Warning, Automatic correction三种,同时只要经过检验后没有Error一类的错误信息,我们就可以将该CDM转化为对应PDM。[www.61k.com]

生成PDM

当你从一个CDM生成PDM时,PowerDesigner将CDM中的对象和数据类型转换为PDM对象和当前DBMS支持的数据类型。

PDM转换概念对象到物理对象的对象关系如下表:

powerdesigner 教程 PowerDesigner教程(完整)

同一个表中的两列不能有相同的名称,如果因为外键迁移而导致列名冲突,PowerDesigner会自动对迁移列重命名,新列名由原始实体名的前三个字母加属性的代码名组成。主标识符在生成PDM中的主键和外键,非主标识符则对应生成候选键。

在PDM中生成的键类型取决于CDM中用于定义一个Relationship的基数和依赖类型。

1. 非依赖性一对多关系(Independent one-to-many relationships)

在非依赖性关系中,”一”端的实体主标识符将转化为:

(1) 由关系中”一(one)”端的实体生成的表的主键(Primary key)

(2) 由关系中”多(many)”端的实体生成的表的外键(Foreign key)。

如下图所示:

powerdesigner 教程 PowerDesigner教程(完整)

CDM中Independent one-to-many relationship

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

生成的PDM中的Independent one-to-many relationship

2. 依赖性一对多关系(Dependent one-to-many relationships)

在依赖性关系中,被依赖端的主标识符转化为主键,依赖端则产生一个与被依赖端主标识符同名称的字段同时作为同时作为依赖端的主键和外键,如果依赖端实体中已经存在主标识符转化为主键,则该键同主键共同组成主键,同时作为外键。[www.61k.com]

powerdesigner 教程 PowerDesigner教程(完整)

CDM中

powerdesigner 教程 PowerDesigner教程(完整)

Dependent one-to-many relationship

生成的PDM中的Dependent one-to-many relationship

powerdesigner 教程 PowerDesigner教程(完整)

3. 非依赖性多对多关系(Independent many-to-many relationships)

在非依赖性多对多关系中,各实体的主标识符(Primary key)迁移至一个新生成的连接表中都作为外键,同时共同组成这个新连接表的主键,各实体的主标识符也转化为其所生成表的主键(Primary key)。[www.61k.com)下图所示CDM,每个雇员可以是一个或多个团队的成员,同时每个团队也可能包含一个或多个的雇员。

powerdesigner 教程 PowerDesigner教程(完整)

CDM中Dependent one-to-many relationship

powerdesigner 教程 PowerDesigner教程(完整)

扩展:powerdesigner 教程 / power designer 教程 / powerdesigner教程pdf

生成的PDM中的Dependent one-to-many relationship

4. 非依赖性一对一关系(Independent one-to-one relationships)

在非依赖性一对一关系中,如果没有定义支配角色(Dominant role)的方向,则各实体的主标识符均自动迁移转化为另一实体生成的表的外键。

个人觉得在生成PDM过程中有关生成主键,外键等问题比较棘手,我自己在生成该示例论坛系统的PDM时就遇到这方面问题,后来在多次对一些设计得比较优秀的开源系统进行反向工程,然后慢慢研究借鉴,发现自己在设计过程的一些问题,因此觉得这方面只有多多研究才能逐渐得心应手。

准备差不多了,开始生成我们需要的PDM。

(1) 选择菜单栏上Tools->Generate Physical Data Model弹出PDM Generation Options窗口,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

(2) 选择Generate Physical Data Midel,在DBMS下拉列表中选择相应的DBMS,输入新物理模型

的Name和Code.

(3) 若单击Configure Model Options则进入Model Options窗口,可以设置新物理模型的详细属性。[www.61k.com)

(4) 选择PDM Generation Options中的Detail页,设置目标PDM的属性细节。

(5) 单击Selection页,选择需要进行转化的对象。

(6) 确认各项设置后,单击确定。即生成相应的PDM模型。

生成PDM后,我们可能还会对前面的CDM进行更改,若要将所做的更改与所生成的PDM保持一致,这时可以对已有PDM进行更新。这时操作也很简单,Tools->Generate Physical Data Model,在打开的PDM Generation Options窗口中选择Update existing Physical Data Model,并通过Select model下拉框选择将要更新的PDM。如下图:

powerdesigner 教程 PowerDesigner教程(完整)

最后我们在CDM部分的工作应该就是根据所建立的概念模型生成文档了,文档是作为设计成果的输出,也用于开发小组成员交流的媒介,其重要性不能忽视。这方面我们可以参考前面生成报告(Report)方面的内容。

物理数据模型

PDM基础

PDM是用于定义详细定义物理结构和数据查询的数据库设计工具。你可以在PDM中使用不同类型的图表,这取决于你所要设计的目标数据库的类型。当今关于数据库方面比较热门的话题莫过于数据仓库,数据集市,OLAP,数据挖掘等内容了。而PowerDesigner对这几方面的设计都有很好的支持,分别支持了操作型数据库,数据仓库或数据集市,OLAP等类型数据库系统。相信大家都应该有所了解,关于这几个概念就不再赘述,本小节内容主要是涉及操作型数据库的专题。

PDM DBMS

PowerDesigner能够用于创建多种不同类型的DBMS,对于每种类型的DBMS,都包含一个标准定义文件用

powerdesigner 教程 PowerDesigner教程(完整)

于在PowerDesigner和DBMS中确定关联而提供一套接口。[www.61k.com]你可以修改装载在PowerDesigner中DBMS,对于每个你将要修改的初始DBMS,你都可以创建一个相应的新DBMS。

新建PDM

你可以通过三种方式新建PDM

(1) 直接创建新PDM

(2) 使用模板创建新PDM

(3) 通过现有基础创建新PDM,现有元素包括:数据库的反向工程,引入一Erwin模型,从现有

CDM或OOM自动生成,从V6版本的数据仓库分析模型迁移等。

下面只简要讲解概述其中一种PDM的创建过程:

(1) 选择New,即打开创建模型选项窗口,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

(2)选择New model单选框。

(3)选择左边模型列表中Physical Data Model,同时在DBMS下拉列表中选择相应类型DBMS(当然你也可以在后面的过程中更改DBMS类型),

(4)在First diagram中选择Physical Diagram,其中列表中Multidimensional Diagram选项用于创建多维(Multidimensional)数据模型。

(5)单击”确认”,即完成PDM创建过程。

业务规则概念

业务规则是业务进程需要遵从的一些规则,它们可能是政府法令,客户需求或者内部的一些方针规范。业务规则通常来自于简单的观测,如”客户可以通过拨打免费热线下订单”,而在设计过程中,我们就就需要将该过程分解成更加详细的描述。如当下订单时客户需要提供什么样的信息或根据客户的信用度来判定客户能够订购多少产品。

业务规则能够规划并将模型文档化。如规则”一个雇员仅属于一个部门”可以帮你图形化地在一个雇员和一个部门之间建立联系。

业务规则用一种不易用图形化表达的信息补充模型图形,如有些规则以公式或验证规则的形式来表达一些特殊的物理概念,而这些技术表达方式通常不能通过图形化形式显示出来。也可以将业务规则和PDM中具体对象联系起来,如果建立了验证规则与列或域之间的联系,你就可以通过业务验证规则来检查参数。

创建业务规则(Business rule)

(1) 选择Model->Business Rules,打开List of Business Rules窗口,列表显示当前模型中存在的业

powerdesigner 教程 PowerDesigner教程(完整)

务规则,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

(2) 单击工具栏中Add a Row工具或单击列表中一个空白行,即添加一个新业务规则。[www.61k.com)

(3) 输入相应的Name和Code,单击Apply,提交业务规则的新建。

(4) 双击所选择的业务规则或单击工具栏上Properties工具,打开业务规则属性(Business Rule

Properties)窗口,如下图所示:

powerdesigner 教程 PowerDesigner教程(完整)

扩展:powerdesigner 教程 / power designer 教程 / powerdesigner教程pdf

(5) Type下拉列表中选择相应的业务规则方式,待选类别有定义(Definition),事实(Fact),公式

(Formula),需求(Requirement),验证(Validation),约束(Constraint)。但只有验证(Validation)和约束(Constraint)类型的业务规则才能生成到数据库中。

(6) 选择 Expression属性窗口,有两种类型的业务规则表达式,分别为Client和Server。其中Server

部分为可以生成到数据库中,而Client部分则仅用于模型文档的生成。

(7) 设置完毕,单击”确认”,完成业务规则创建过程。

在PDM中应用业务规则

(1) 在当前模型图表中双击将要应用业务规则的对象,以打开该对象属性窗口。

(2) 选择Rules属性,列表中显示应用至该对象上的业务规则列表。

(3) 单击工具栏中Add Objects工具以显示业务规则列表。如下图:

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

(4) 选择你想要添加的应用于该对象的业务规则,单击OK。(www.61k.com)

(5) 在对象属性框中单击OK,即完成业务规则应用,若添加的是约束规则或验证规则,你可以通

过Preview选项看到业务规则生成的数据库代码。

建立物理图表(Physical Diagram)

由于PowerDesigner中CDM和PDM的很多操作类似,因此在后面的讲解中尽量简化一些操作细节。下面以PowerDesigner自带的示例模型Project Management为例讲解,该文件位于安装目录Sybase\PowerDesigner Trial 11\Examples下的project.pdm文件。

域(Domain)

域(Domain)可以帮助你确定模型中的信息类型。域定义了一组对列可用的数值,对列应用域可以简化对不同表中列的数据类型标准化工作。

创建域

(1) 选择Model->Domains以打开域列表(List of Domains)窗口。

(2) 单击工具栏中Add a Row工具,新建域。

(3) 输入相应的Name和Code,这里我们输入Identifier和ID。

(4) 单击Apply提交Domain的创建,单击工具栏中Properties工具以打开Domain Properties窗口,

如下图:

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

(5) 选择数据类型(Data type),设置Length等属性,同时可以选择Standard Checks属性页以编辑

详细约束。(www.61k.com]

(6) 单击OK,确认修改。

这样就已经完成域Identifier的创建过程。

修改Domain属性

(1) 选择Model->Domains以打开域列表(List of Domains)。

(2) 单击你想要修改的域对象,使目标域对象处于选择状态。

(3) 双击该域对象或单击工具栏中Properties工具以打开域属性(Domain Properties)窗口,现在可

以对域属性进行更改了。

(4) 确认更改后,点击”应用”,若该域已经被某些列使用,则会弹出下列窗口:

powerdesigner 教程 PowerDesigner教程(完整)

选择Enforce non-divergence,再选择相应模型元素即可,这样每次Domain发生更改后,对应使用了该Domain的模型元素就自动发生更改。

powerdesigner 教程 PowerDesigner教程(完整)

创建表(Table)

(1) 左键单击Palette面板中Table工具

(2) 左键单击模型图表空白区域以在模型图表中新建Table图符。[www.61k.com]

(3) 单击鼠标右键或单击Palette面板中Pointer工具,使鼠标处于选择状态。

(4) 左键双击模型图表中刚创建的Table图符以打开Table属性窗口,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

(5) 输入相应表的名称和代码。

(6) 其中Number选项为物理数据库中表的记录的大概估计,用于后述的估计数据库的大小规模;

Generate选项表示是否在物理数据库中生成该表。这里我们将Number设置为1000,勾选上Generate。

(7) 单击”确定”,即完成表Employee的创建。

添加编辑列

(1) 打开表Employee的属性窗口,选择Columns属性页,如下所示:

powerdesigner 教程 PowerDesigner教程(完整)

(2) 这里我们需要使用域Identifier,前面我们已经完成了域的创建工作,这里可以直接应用于列中。

先设置Columns属性列表中显示Domain,单击工具栏上Customize Columns and Filter工具,弹出Customize Columns and Filter窗口,在列表中选择Domain,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

(3) 单击OK,则这时Columns属性页中显示Domain属性。[www.61k.com)

(4) 编辑列Employee属性,在Domain下拉列表中选择Identifier,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

(5)单击确认,即将域(Domain)Identifier应用至该列。

定义引用(Reference)

引用(Reference)是一个父表(parent table)和子表(child table)之间的连接,它定义了在数据表各列用于主键,候选键,外键或用户指定列之间的完整性约束。当两个表中的数据列通过了引用(Reference)连接时,子表中的该列的每个值都对应了父表中对应列的一个相同的值。

扩展:powerdesigner 教程 / power designer 教程 / powerdesigner教程pdf

在一对引用关系中,数据列之间通过连接(Join)连接,根据在主键/候选键中列的数目,指定列的数目,一个引用关系中可能包含一个或多个连接(Join)。

powerdesigner 教程 PowerDesigner教程(完整)

建立引用(Reference)

(1) 选择Palette面板中Reference工具

(2) 在模型图表区域,左键单击子表图符并按住鼠标不放,拖动鼠标至父表图符,松开鼠标,即在

两表之间建立了引用关系。(www.61k.com)

(3) 单击Palette面板中Pointer工具或单击鼠标右键使鼠标处于选择状态。

(4) 双击模型图表中的引用(Reference)连接图符以打开引用属性(Reference Properties)窗口,

如下图:

powerdesigner 教程 PowerDesigner教程(完整)

(5) 输入相应的引用(Reference)Name和Code。

(6)定义引用连接(Join),选择Joins属性页,如下图所示:

powerdesigner 教程 PowerDesigner教程(完整)

(7)在Parent key选项列表中选择相应的父表键,此时列表中显示出当前连接(Join)所连接的父表列和对应的子表列。

(8)现在可以对对应于每个父表列(Parent Table Column)的子表列(Child Table Column)进行选择更改。

powerdesigner 教程 PowerDesigner教程(完整)

重建引用(Rebuilding references)

有时我们进行反向工程时可能不会将所有的对象都添加进去,这时可能会遇到引用冲突问题,即在已经添加进反向工程的项目中可能包含一些具有引用关系的表,而这些引用关系与没有添加进反向工程中。(www.61k.com)这时我们可以借助PowerDesigner提供的重建引用(Rebuilding references)功能,对引用进行选择重建。

(1) 选择Tools->Rebuild Objects->Rebuild References,弹出重建引用窗口。

powerdesigner 教程 PowerDesigner教程(完整)

(2) 在General属性页中选择重建引用方式(其中Delete and rebuild方式为删除所有现有引用,

再根据匹配键列创建新的引用;Perserve方式为保留所有现有引用,且根据匹配键列建立新

的引用)。

(3) 选择Selection属性页,根据需要选择你要重建引用的表。

(4) 确认选择后,单击”确认”按钮,若你选择的重建方式为Delete and rebuild,则会弹出如下确

认对话框:

powerdesigner 教程 PowerDesigner教程(完整)

(5) 确认重建,单击”是(Y)”即可完成重建引用。

引用完整性(Referential Integrity)

引用完整性是管理数据主键,候选键和外键之间数据一致性的一系列规则,它定义了当你更新或删除父表中的一个被引用的列,或从父表中删除一条包含被引用的列的数据记录时要发生的动作。有以下两种方式实现引用完整性:

Declarative 引用完整性通过详细引用来定义,当引用生成目标DBMS,它评估引用的正确性并生成相应的错误消息。

Using triggers 通过在引用属性窗口中定义的基于完整性约束的触发器(Trigger)来实现引用完整性约束。触发器用于衡量引用的正确性并生成适当的用户自定义错误信息。

注:对于目标数据库你可以作为生成目标数据库的选项而定义引用完整性,但并不是所有的类型的DBMS都支持使用引用完整性作为生成数据库的选项,此时当你生成这些类型DBMS的SQL脚本时,其中不会包含引用完整性的定义。

powerdesigner 教程 PowerDesigner教程(完整)

定义引用完整性

(1) 双击模型图表中的引用图符以打开引用属性窗口。[www.61k.com]

(2) 选择Integrity属性页,显示出其中用于引用完整性约束的一系列可设置选项,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

(3) 上图中各设置项目这里就不再多说。

视图(View)

为图表中已选定对象创建视图(View)

(1) 在模型图表中选择一个以上的表(Table)或视图(View)

(2) 选择Tools->Create View,这时可以看到已经模型图表中会出现一个视图图符,其中显示出了

所选定的表和视图中所有字段,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

(3) 双击刚创建的视图图符以打开视图属性(View Properties)窗口。

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

(4) 输入相应的Name和Code,同时可以通过不同属性页对视图属性进行进一步详细设计。[www.61k.com] (5) 单击”确认”,完成视图创建过程。

先建立空白视图,再选择所需表和视图

(1) 选择Tools->Create View,打开如下选择窗口:

powerdesigner 教程 PowerDesigner教程(完整)

(2) 在列表中选择你所要添加的表和视图,单击OK,确认添加即可完成创建,这时在模型视图中出

现视图图符。其它操作略。

为视图使用扩展依赖(Extended Dependencies)

扩展依赖是物理图表对象之间的连接,这些连接有助于让模型对象之间的关系更加清晰,而不会被PowerDesigner解释或检查,主要是用于文档化而建立的。

(1) 选择Palette面板中Link/Extented Dependency工具

(2) 在模型图表中先单击目标视图,拖放鼠标至其有关联的表和视图上,即将视图和表之间建立了联

扩展:powerdesigner 教程 / power designer 教程 / powerdesigner教程pdf

系,如下图示:

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

注:使用扩展依赖仅仅是为了文档化模型,使对象关系更为清晰而已。(www.61k.com)

定义视图生成次序

你可以通过使用扩展依赖来定义视图的生成次序,扩展依赖是PDM对象之间的自由连接,这种连接能够使模型对象之间的关系更加清晰。正如前面内容所说,通常这些连接都仅仅用于文档生成而不会被PowerDesigner解释和检查。然而,如果指定视图之间的扩展依赖的Stereotype为《DBCreateAfter》时,则这些连接在生成数据库脚本时也会被解析。

如果创建一个自反,循环的扩展依赖,且其Stereotype方式为《DBCreateAfter》,则在检验模型时会提示错误信息。如果忽略该错误,则视图会依照字母顺序创建,如果不考虑其生成次序,数据库在生成视图时又可能会导致错误。

例如,我们为表STORE创建视图DEPARTMENT STORE,其SQL Script为:select STORE.STOR_ID,STORE.CITY,SOTRE.STATE from STORE。同时为了仅显示公司库存数据的一部分我们需要创建在视图DEPARTMENT STORE基础上创建另一视图COMPUTER COUNTER取出其中一部分信息。 在默认情况下会按字母顺序生成视图,则COMPUTER COUNTER会生成失败,由于它所依赖的视图DEPARTMENT STORE还没有被生成。为解决这个问题,你可以在这两个视图之间创建Steretype方式为《DBCreateAfter》的扩展依赖,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

注:《DBCreateAfter》选项只有在两个视图对象之间才有效,扩展依赖所连接的两对象皆为视图(View)时才可选《DBCreateAfter》,否则为不可选状态。

步骤:

(1) 选择Palette面板中Link/Extended Dependeny工具

(2) 左键单击依赖视图(Dependent View)拖动鼠标至另一视图上,松开鼠标,即在两视图之间建立

了扩展依赖连接,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

(3) 双击其中的扩展依赖连接线线,弹出视图属性窗口的扩展依赖属性页,列表中显示相关扩展依赖。(www.61k.com) (4) 在对应的扩展依赖行单击Steretype列的选择箭头,选择《DBCreateAfter》即可。

powerdesigner 教程 PowerDesigner教程(完整)

从上图中可以看到,在列表第一行的Stereotype下拉列表中没有《DBCreateAfter》选项,只有视图之间的扩展依赖连接才支持《DBCreateAfter》选项。

查询(Query)

我们通过对表和视图进行查询,再通过对查询所得表进行关系运算来构建视图,PowerDesigner中通过视图属性窗口中SQL Query属性页详细定义每个查询,每个SELECT查询都显示在Query的下拉列表中。其中每个视图可以有一个或多个查询组成,各查询之间通过关系运算(如Union,Union All,Intersect等)构成整个视图。

编辑定义查询(Query)

(1) 在模型图表中双击视图图符以打开视图属性窗口。

(2) 选择SQL Query属性页,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

(3) 若要新建查询,则单击Query下拉列表右边的Add a Query工具,同时也可以通过单击Add a Query

右边的箭头选择各个查询之间的连接关系,如下图示:

powerdesigner 教程 PowerDesigner教程(完整)

(4) 在单击Add a Query工具后弹出查询属性(Query Properties)窗口,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

这时通过选择不同的属性页可以对查询进行详细编辑。(www.61k.com]

(5) 接(3)步,同时可以单击视图属性(View Properties)窗口中Query下拉列表右边的Edit with SQL

Editor工具以打开SQL Editor,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

现在可以很轻松地对该视图的查询进行编写订制了。(www.61k.com]

这里只是简要介绍PowerDesigner中关于Query方面的内容,实际上涉及内容非常多,不能一一列举,相信熟悉数据库操作的朋友应该能很快掌握。

在物理模型中定义视图引用(View References)

视图引用是父表/视图和子表/视图之间的连接,也包括父字段和子字段之间的连接(Join),视图引用(View Reference)可以在两个视图或视图和表之间创建,而不能用于连接两个表(Table),视图引用不会生成在目标数据库中,

创建视图引用(View Reference)

(1) 在Palette面板中单击Reference工具。

(2) 在模型图表中,单击子表或子视图并按住鼠标,拖动鼠标至父表或父视图区域中,松开鼠标。 (3) 单击Palette面板中Pointer工具或单击鼠标右键,使鼠标处于选择状态。

(4) 在模型图表中双击刚创建的引用图符以打开视图引用属性(View Reference Properties)窗口,如

下图:

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

(5) 输入Name和Code后,选择Joins属性页,现在可以根据工具栏中各工具对其中连接(Join)设

扩展:powerdesigner 教程 / power designer 教程 / powerdesigner教程pdf

置。(www.61k.com)

(6) 确认设置,单击”确定”。

触发器(Triggers)和存储过程(Procedures)

注:后述内容不再包含过多的数据库设计理论知识。

触发器(Triggers)

触发器模板(Trigger templates)

触发器模板是对创建触发器的一种预先定义形式,PowerDesigner集成了针对各种所支持的DBMS的一系列模板,

使用触发器(Using triggers)

触发器是一种能灵活地用于数据表管理和修改的工具,其中还可以包含变量,针对不同类型的DBMS能定义相同类型的一些触发器。

自动创建触发器

我们可以为模型中一个或多个数据表自动创建触发器(triggers),这些触发器的创建是针对那些定义了引用完整性的引用(References),以及那些值依赖于一个Sequence的列。

那些使用了触发器模板但是已经被修改过,以及用户定义的触发器在重建触发器的时候都不会被创建,所有通过Rebuilding Triggers重建的触发器都是根据DBMS和用户自定义触发器模板而创建的,其中所有已经被选择的数据表都会被创建INSERT触发器,而UPDATE和DELETE触发器则会根据相应触发器的引用完整性来确定创建。当你更改目标DBMS类别,如从Sybase转变为Oracle或IBM DB2,这时我们定义的触发器就需要重新创建。

你可以选择以下两种模式重新创建触发器:

Delete和Rebuild 删除已经存在的触发器(不包括用户自定义触发器)然后根据引用完整性和数据列的Sequence重新创建触发器。

Preserve 保留现有用户已经定义的触发器然后根据引用完整性和数据列的Sequence重新创建其它触发器。

创建触发器操作步骤:

(1) 选择Tools->Rebuild Objects->Rebuild Triggers。即打开Rebuild Triggers窗口,在General属性页中

显示出现有触发器模板的名称。

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

(2) 如果你想要删除现有的触发器再重建,请选择Delete and Rebuild单选框;或选择Preserve单选框

确保重建触发器时能够保存现有触发器。(www.61k.com)

(3) 同时在General属性页中选择你想要创建触发器。

(4) 展开所选择的触发器节点。

(5) 展开相应的触发器模板节点,其中显示出包含在该触发器模板定义中的模板项。

(6) 选择你想要包含在目标触发器中的模板项(template item)。

(7) 同样展开其它节点进行相同操作以选择需要包含的模板项。

(8) 选择Selection属性页,会列出当前模型中的数据表(Table)。

(9) 在列表中选择你希望创建触发器的表,单击”确认”,完成创建过程。

手动创建触发器

(1) 在模型图形中双击你想要创建触发器的表的图符,弹出对应表属性窗口。

(2) 选择Triggers属性页,显示出已经定义的触发器列表。

(3) 单击工具栏中Add a Row工具,即在列表中添加了一个Trigger。

(4) 输入相应的Name和Code,单击”应用”,提交触发器的创建。

(5) 双击刚创建完的Trigger行,弹出触发器属性窗口(Trigger Properties)。

(6) 打开Definition属性页,可以在模板下拉列表中选择相应的触发器模板,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

你也可以通过选择下拉列表中”None”选项创建触发器,这时不使用任何触发器模板,你需要在文本框输入详细的触发器定义。[www.61k.com)

(7) 进行详细的触发器定义内容修改。

(8) 在Order下拉列表中选择你希望该触发器执行的顺序。

(9) 单击”确认”完成创建定义过程。

定义存储过程(Stored Procedures)与函数(Functions)

为存储过程和函数定义模板

(1) 选择Database->Edit Current DBMS以打开DBMS属性窗口,如下图示:

powerdesigner 教程 PowerDesigner教程(完整)

(2) 展开DBMS树形视图中的Script节点,继续展开Objects节点。

(3) 展开Procedure节点。

(4) 单击CustomProc条目以编辑存储过程模板,或单击CustomFunc条目以编辑函数模板。 (5) 输入你想要进行的更改,单击”确认”即完成模板定义过程。

创建存储过程和函数

(1) 单击Palette面板中Procedure工具。

(2) 在模型图表空白区域单击鼠标左键,即在图表中添加了一个Procedure图符。

(3) 单击Palette面板中的Pointer工具或单击鼠标右键使鼠标鼠标处于选择状态。

(4) 双击刚添加的图符,弹出存储过程或函数属性窗口,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

(5) 输入相应的Name和Code后,选择Definition属性页,在下拉列表中选择需要创建的类别:Procedure

或Function。[www.61k.com)

(6) 在文本框中输入详细的Procedure或Function定义信息,你也可以通过使用工具栏中的一些脚本项

来编辑定义。

(7) 单击”确认”,完成存储过程或函数的创建过程。

当然,您也可以同时使用菜单栏上Model->Procedure来完成创建过程,这里不再赘述。

将存储过程与表关联

如果当前DBMS支持存储过程的话,你可以使存储过程与数据表关联,该特性允许更新表或从表中读取数据。当我们将PDM向OOM转换时,与数据表关联的存储过程就会转化为所生成的类中的Stereotype为《procedure》的操作。通过将存储过程与数据表相关联,你可以定义所生成的类中的操作。

当我们将OOM转化为PDM时,Stereotype为《procedure》的类操作将转化为与最终生成的表相关联的存储过程。

扩展:powerdesigner 教程 / power designer 教程 / powerdesigner教程pdf

步骤:

(1) 打开目标数据表的属性窗口。

(2) 选择Procedure属性页。

(3) 单击工具栏中Add Objects工具以打开对象选择(Selection)窗口.

(4) 在现有存储过程列表中选择你所需要关联该表的存储过程,单击”OK”,则相应存储过程已经添加

进存储过程列表中。

(5) 单击”确认”完成关联过程。

生成触发器和存储器脚本

在PowerDesigner中,我们可以通过直接使用ODBC或间接使用脚本创建或修改数据库触发器和存储过程,使用脚本时将生成脚本文件,若使用ODBC创建或修改数据库触发器和存储过程则需要直接与DBMS连接。

定义存储过程的生成顺序

这方面的内容同前面讲解的关于视图创建顺序问题相似,我们可以通过使用扩展依赖(Extended Dependency)定义生成存储过程的次序,扩展依赖是PDM对象之间的自由连接,这些连接使模型对象之间的关系更加清楚。通常这些连接不会被PowerDesigner解释或检查,而仅仅是用于生成文档。然而,如

powerdesigner 教程 PowerDesigner教程(完整)

果你指派一个存储过程之间的扩展依赖的Stereotype为《DBCreateAfter》,那么在生成数据库过程中该扩展依赖也会被分析。[www.61k.com]

扩展依赖所起始的存储过程是依赖过程而连接终点的过程为影响(存储)过程,这时依赖过程可能使用到影响过程,所以影响过程需要在依赖过程之前生成,否则PowerDesigner会按照字母顺序生成脚本,则可能会导致错误。这时我们就需要在依赖过程和影响过程之间设定相应的生成顺序。

步骤:

(1) 先需要建立存储过程之间的扩展依赖关系,单击Palette面板中Link/Extended Dependency工具。 (2) 在模型图表中单击依赖(存储)过程图符,拖动鼠标至影响(存储)过程,松开鼠标,则建立两

存储过程之间的扩展依赖关系,如下图:

如下图:

powerdesigner 教程 PowerDesigner教程(完整)

(2) 在Triggers and Procedures Generation窗口中的Generation选项中选择ODBC Generation单选框。(www.61k.com) (3) 经过其它类似生成脚本的设置后,单击”确认”。

(4) 随即弹出Connect to an ODBC Source对话框,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

(5) 在下拉列表中选择相应的机器数据源或选择一个数据源文件。

(6) 输入用户ID和password。

powerdesigner 教程 PowerDesigner教程(完整)

(7) 单击”Connect”,消息窗口会显示对应的生成过程信息。[www.61k.com)

(8) 单击”确认”,完成创建过程。

数据库的创建与修改

前面也已经接触过相关与数据库操作例子,PowerDesigner中我们可以直接生成数据库脚本(Script),也可以直接通过ODBC与相关DBMS中数据源相连接,从而可以利用PowerDesigner提供的强大功能实现数据库的创建和修改操作.

通过ODBC操作数据库

步骤:

(1) 选择Database->Connect,弹出Connect to an ODBC Source窗口,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

(2) 在上面窗口中你可以对所想要连接的数据源进行设置,如果想重新设置数据源,可以通过单击窗

口中Setup按纽;若是选择File data source选项框,则打开数据文件(.sql)选择窗口;同时若需要设置数据源连接属性,则可通过单击Add按纽对可选数据源进行设置,弹出如下窗口:

powerdesigner 教程 PowerDesigner教程(完整)

(3) 设置完毕,单击”确定”,返回Connect to an ODBC source窗口,输入相应的登录信息,单击”Connect”

按纽,完成ODBC数据源连接设置.

定制脚本

有时我们需要对所设计的数据库脚本添加一些诸如版权,创建日期,注释等信息,对于一些大型系

powerdesigner 教程 PowerDesigner教程(完整)

统还可能需要对相应数据表视图等对象也添加相应的信息,这也在某种程度上方便了开发成员之间的交流.下面我们开始定制过程:

为数据库创建添加Begin and End Scripts

(1) 选择Model->Model Properties,打开Model Properties窗口,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

(2) 在General属性页中单击Database文本框旁的Create工具,弹出Database Properties窗口,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

(3) 输入相应的Name和Code,选择Script属性页,现在可以通过切换Begin和End页定制对应信息. 同理我们可以通过打开数据表的属性窗口->选择”Script”属性页为数据表插入Begin and End Scripts,具体操作不再赘述.

生成SQL脚本

(1) 选择Database->Generate Database,弹出Database Generation窗口,其中包含生成数据库的各种参

数选项,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

(6) 同样通过选择不同属性页分别设置Keys & Indexs,Database,Options等生成脚本参数. (7) 选择Selection属性页,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

(8) 在对象列表中选择需要生成脚本的对象.

(9) 单击”确定”,完成生成脚本配置过程.

PowerDesigner开始执行脚本生成过程,这时输出窗口会显示相应的生成过程信息,最后弹出Result窗口,

powerdesigner 教程 PowerDesigner教程(完整)

扩展:powerdesigner 教程 / power designer 教程 / powerdesigner教程pdf

如下图:

powerdesigner 教程 PowerDesigner教程(完整)

这时让我们利用已经生成的脚本文件来创建数据库,这里我们使用的DBMS是MS SQLServer2000.现在我们新建一数据库FreeZone,在查询分析器中打开当前新建的FreeZone数据库下,执行刚生成的脚本文件,发现查询分析器输出窗口报告以下错误信息:

powerdesigner 教程 PowerDesigner教程(完整)

而在左边树型资源窗口中刷新,发现已经成功创建了相应的数据库对象.让我们回头看看所生成的脚本文件内容:

powerdesigner 教程 PowerDesigner教程(完整)

这时应该差不多清楚了,所生成脚本中先删除所有的外键,同时检查原数据库中是否存在相同对象,若存在则将其删除,所以当我们第一次执行脚本时数据库中并不存在相应数据库对象,才会报告”不存在………..”等错误信息,同时每个执行过程后都加”go”,确保某段代码没能成功执行时不会影响后续代码

powerdesigner 教程 PowerDesigner教程(完整)

的执行.

直接创建数据库(使用ODBC)

(1) 选择Database->Generate Database.

(2) 选择相应的脚本存储目录,输入相应脚本名称.

(3) 在Generation选项栏中选择ODBC generation单选框.

(4) 后续其它参数设置同前面生成脚本文件类似,不再赘述.

(5) 单击”确定”按纽,会弹出Connect to an ODBC Data Source窗口,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

(6) 选中Machine data source单选框后在下拉列表中选择对应的数据源;或选中File data source并选取

对应数据库文件.

(7) 输入对应用户登录信息,单击”Connect”,确认连接,PowerDesigner随即开始脚本生成进程,完毕

后弹出Execute SQL Query窗口,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

(8) 单击”Run”,即开始数据库创建过程.

powerdesigner 教程 PowerDesigner教程(完整)

在PDM中进行反向工程(Reverse Engineering)

从脚本文件反向工程数据对象

步骤:

(1) 新建PDM,这里示例演示选择的DBMS为MS SQLServer2000。[www.61k.com]

(2) 选择Database->Reverse Engineer Database,弹出Database Reverse Engineering窗口,如下图所示:

powerdesigner 教程 PowerDesigner教程(完整)

(3) 选择Using script files单选框,即为从脚本文件执行反向工程。

(4) 单击工具栏上Add Files工具,选择要进行反向工程的脚本文件;同时你也可以添加多个脚本文件,

但需要注意的是:应该将触发器或存储过程脚本文件放在数据表脚本文件后面,因为反向工程时需要先执行数据表脚本。因此需要正确调整各种脚本文件顺序,否则可能导致触发器不能正确地进行反向工程。

(5) 在Options属性页中设置反向工程选项。

(6) 单击”确定”,完成创建过程。

这时会弹出进度窗口显示当前反向工程进度,完成后会在当前PDM中产生相应的模型对象。

从ODBC数据源反向工程

(1) 新建PDM,这里也将DBMS设置为MS SQLServer2000。

(2) 选择Database->Reverse Engineer Database,弹出Database Reverse Engineering窗口。

(3) 这时我们不再选择Using script files,而是选择Using an ODBC data source单选框,即设置是从ODBC

数据源进行反向工程。

(4) 单击Connect to an ODBC Source工具以显示Connect to an ODBC Source对话框,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

(5) 单击Machine data source单选框,从数据源下拉列表中选择相应要进行反向工程的数据源;者选

择File data source单选框,通过Select a File DSN工具以在相应目录选择相应DSN文件。(www.61k.com)

(6) 输入对应用户ID和密码。

(7) 单击Connect,这样所选定的ODBC数据源就会在Database Reverse Engineering窗口中,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

(8) 可以选择Reverse using administrator’s permissions选项框以使用数据库管理员身份进行反向工程。 (9) 接下来通过选择Options和Target Models属性设置反向工程选项。

(10) 单击”确定”,即开始执行反向工程过程,弹出ODBC Reverse Engineering窗口,其

中列出相应的对象,其中只有数据表和触发器是被默认选中的,如下图:

powerdesigner 教程 PowerDesigner教程(完整)

powerdesigner 教程 PowerDesigner教程(完整)

(11) 同时还可以通过工具上一些快捷工具对其中要进行反向工程的数据库对象进行订

制。(www.61k.com)

(12) 选择你想要添加进反向工程的数据库对象,可切换不同的Tab页进行选择,确认选

择后,单击”OK”,完成创建设置。

可以看到PowerDesigner已经开始反向工程过程,同时输出窗口会显示出当前进程信息。

同时若当前PDM中已经存在模型对象,这时进行反向工程,则可以根据需要进行模型合并,覆盖等操作。

扩展:powerdesigner 教程 / power designer 教程 / powerdesigner教程pdf

powerdesigner 教程 PowerDesigner教程(完整)

扩展:powerdesigner 教程 / power designer 教程 / powerdesigner教程pdf

二 : PowerDesigner教程(完整)

前言

在CSDN上转悠经常看到有网友寻求PowerDesigner相关资料的帖子,Baidu,Google上找找还真很少;同

时也有不少网友发来Email询问相关PowerDesigner问题或索要相关资料的,故下定决心制作本文档。折腾

二十多天,终于输出了现在的文档,其中绝大部分内容都是依照PowerDesigner自带的帮助文档翻译过来,

乐意啃英文的朋友最好还是看其”原汁”教程,同时本文档仅用于帮助分析设计人员更快熟悉掌握

PowerDesigner的使用方法,不包含分析设计方面的理论,所以要作好系统的分析设计工作还是需要用户深

厚的项目实践功底。

起初想尽量按照PowerDesigner自带帮助文档完整地进行,尝试了一上午的工作之后这种方案马上

就被我否决,原因有二:1.内容太多,工作量太多。2.原帮助文档特别周全,个人觉得可以在内容上作很大

程度的压缩。姑决定按原帮助文档写,同时加入自己目前正在做的技术论坛分析设计过程以便于理解。

对本文档内容的几点说明:

1. 本文档只包括PowerDesigner部分内容(RQM,Report,CDM,PDM),内容不够全面。

2. 内容尽量简略,一些相同或类似操作过程尽量不再重复。

3. 部分术语参考了飞思科技产品研发中心监制电子工业出版社的《PowerDesigner数据库系统分析设计与

应用》。

4. 暂时没有包含OOM,XML,BPM,ILM等模型内容,我将会在后期陆续更新。

版本说明:我使用的是PowerDesigner Trial 11英文版,因此文档中一些菜单,按钮名称也用英文写

出(因当心自己译出的名称和中文版上的名称不一致而造成理解不便),若是给使用中文版的朋友带来不便,

我在这说声”抱歉”了!同时由于各版本不同部分操作可能会有所区别。

这里要感谢在我进行翻译工作期间给我发送Email关注的网友,感谢一直支持我的朋友们!由于第

一次做翻译工作,限于水平有限,文档中肯定存在很多不足和错误之处,衷心欢迎各位网友指点迷津,期

望得到您的指导!

Email:dingchungao@gmail.com dingchungao@126.com

QQ:330982401

Blog:http:\\feiren1421.cnblogs.com

Slash

2006.8.31

PowerDesigner11.0.0.1363评估版

为了更好的将原文含义再现,不加入我个人语言习惯,我尽量按照原文档内容翻译。

环境简介 需求模型

Workspace

左边的资源浏览窗口Browser提供当前的Workspace层次结构,根节点为Workspace节点,Workspace中可以包含目录(Folder),模型(Model),多模型报告(Multi-Model Report),其中模型可以各种系统支持的模型类型。

一般我们将欲构建的目标系统的各种模型,文档及报告放在同一Workspace中,以便于模型设计与管理。 Workspace定义了使用PowerDesigner建模时的信息集合,PowerDesgner工作时只能有一个Workspace处于打开状态。要新建Workspace必须先将当前Workspace关闭,如以下操作:右击当前Workspace->选择”Close”,这样即完成了原Workspace的关闭,同时也自动创建了新的Workspace,只是新Workspace中还没有内容。接下来就可以在其中添加自己想要新建的模型了。

需求模型基础(Requirement model basics)

Requirements Model(RQM)是一种文档式模型,它通过准确恰当地列出,解释开发过程程中需要实现的功能行为来描述待开发项目。你可以为开发过程中需要使用到的各种结构化技术文档(功能或技术规格说明书,测试计划)而使用Requirements Model.

Requirements Model以下面两种视图呈现(而不是以图表形式):

需求文档视图 对一系列公共属性进行编号

可编辑行矩阵 单元格代表了当前需求与设计对象,外部文件或其它需求的联系

Requirements Model允许你可以:

对一结构化技术文档建立需求模型

检查现有或引入的模型

对需求和设计对象(其它类型模型)建立联系

对其它设计对象建立需求模型,或反之通过需求模型建立其它设计类型

从需求模型生成或更新MS Word文档,提供用户一符合需求模型的MS Word文档

从现有MS Word文档生成或更新相应的需求模型

各对象之间关系如下图所示:

由于Requirements Model中没有图表,以上各对象均没有与之对应的图象符号。需求是以图表视图形式列出,可编辑矩阵视图显示出需求和各设计对象,外部文件或其它需求之间的联系。

需求建模环境包括一系列定义不同模型内容和行为的参数和设定选项,你可以通过在建立模型时,使用默认选项建立模型后或建立模型模版时进行设置。

菜单栏—>选择”Tools”?Model Options,可见以下模型选项对话框,现在可以进行你喜欢的设置了。

定义模型属性

在打开相应模型文件后,选择菜单栏中Model->Model Properties,或在左边树性对象浏览器中选中对应模型,双击/右键->选择Properties,均可进入Properties设置区间,如下图:

接下来就可以进行你想要的设置了!

新建Requirements Model

下面以我自己最近的项目过程为例逐步讲解各过程:

项目简介:这是个类似动网或CSDN的论坛系统,参考了它们的功能设计,主要用于本人练习N层架构的学习。

建立需求模型:

建立完成的需求视图

首先我们要新建一Workspace作为整个系统各种模型,文档与报告信息集合。

启动PowerDesigner,这时会默认打开一个Workspace,单击鼠标右键->选择”Close”,这样我们完成了关闭原来Workspace,同时新建Workspace的工作。接下来就是在其中添加各种模型了。

新建Requirements Model

点击File->New或鼠标右键单击Workspace->New->Requirement Model可以看到新建模型属性选项框如下:

选择左边Requirements Model,其它为默认设置,确定,OK!

下面我们对新建的RQM进行先进行一些基本属性设置:

在资源浏览窗口中右键单击刚建好的RQM->Properties或直接双击对应RQM,直接进去模型属性设置Model Properties,如下图所示:

现在你可以进行自己想要设置了。这里我们将Name,Comment分别进行基本设置,同时系统默认Name和Code是一致的,Name用来进行分析描述,为了形象明了可以使用中文,而Code则和后期的具体设计有关,如用于编码设计,一般多用英文加数字等标准命名(仅供参考)。

同时我们可以看到在新建RQM时也自动建立了一个模型视图(View),接下来我们就要对该视图(View)进行编辑以建立需求模型,根据前面需求模型简介介绍的相关RQM视图知识,需求模型可以用文档视图的形式表示,后续的大部分工作只有对View进行编辑就OK了!

先看看完成后的需求视图吧!

这里的各系统需求是按层次排列的,这样也使需求文档视图能和标准的层次化Word/rtf文档能进行相互转换。可以通过视图上方的工具栏进行全面的需求模型建设。

添加需求(Requirement):

点击需求文档视图工具栏上”Insert a Row”工具或点击需求文档视图的空白区

这样一个预先默认自定义的需求已经添加在文档视图中,如下所示:

编辑需求属性

双击需求TitleID左边的箭头(arrow)或单击需求文档视图工具栏最左边的Properties工具即进入属性属性编辑。

其中除了TitleID栏之外每栏都处于可编辑状态的。

注:箭头所在行为选中行

属性各栏目对应着文档视图中的各可编辑栏。这里我们可以设置各需求的详细内容和描述信息,比如标题(Title),需求描述(Description),优先级(Priority),风险(Risk),状态(Status),工作量(Workload)等详细内容。详细设置信息请参考示例文件。

若要更改文档视图中的可见栏目,可以通过单击需求文档视图工具栏中Customize Columns and Filter工具,进入

现在可以选择您想要显示的栏目了。

这样我们就基本上完成了系统需求的设计过程,依此多次操作完成如下系统需求文档视图基本框架:

后面的工作就是对其中各Requirement做进一步的细化,对各需求模块做更为细致的划分,即分层细化,这样也和层次化的文档吻合。这里我们以对Functional Requements的设计为例进行讲解,先看看细化完成后的需求文档视图(部分):

现在让我们开始吧!

方法一:

需求文档视图,选中Functional Requirements->点击视图工具栏”Insert Sub-Object”工具(而不是”Insert a Row”工具),这样就在Functional Requirements中插入了一个子对象。

方法二:

于左边资源管理窗口Requirements目录下右键单击相应需求名称->New->Requirement即可。如下图:

现在只要对新插入的子对象进行详细的内容编辑设计即可,同样地我们也可以对各子对象通过再次添加子对象作进一步的细化工作。

如果要提升或降低某部分的需求层次,则可以通过工具栏中的Promote和Demote来实现调整。

定义Users和Groups

Users(用户) 指在一个需求模型中至少和一个已定义需求有关的人的集合。

Groups(组) 指专属于开发进程中一个或多个方面的用户类别。每个用户组要与需求模型中至少一个已定义需求有关。

新建User/Group

在资源浏览窗口中,右键单击模型名称(图标)-->New?User/Group,打开User或Group属性窗口,输入相应名称和代码名,确定即完成新建。

同样也可在菜单栏选择”Model”?Users/Groups完成新建过程。

下一步是将相应的User与Group联系,添加进Group中,打开相应的Group属性,选择Group Users属性栏

点击属性工具栏中”Add Objects”工具,从中选择您要添加的User对象,当然只有在您已经建立了相应的User对象时才会显示User成员列表。

现在选择您需要添加的User对象,确定就可以了。

建立Business rules(业务规则)

业务规则是对为了满足业务需求,模型应该包括的特定内容或关于如何构建模型方面的描述清单。在这里的示例模型中,我们要定义关于论坛积分制度的业务规则,具体业务规则内容见参考文档。

在Requirement Model状态下,PowerDesgner默认Businss为不可用状态,为此我们需要通过新建Extended model definition(扩展模型定义)来激活Business rules。

步骤如下:

选择菜单栏”Model”? Extended Model Definitions,这时打开List of Extended Model Definitions,通过选择其工具栏中”Add a Row”工具,如下图:

点击Apply即在资源浏览窗口中添加Extended Model Definitions目录。

在资源浏览器中打开Extended Model Definitions目录,双击相应扩展模型定义左边图标

即打开

Extended Model Definition Propreties

现在可以在右边输入extended model definition的Name,Code等信息。

选择左边窗口中”Profile”目录,右键单击在上下文菜单中选择”Add Metaclasses…”,这时可以看到Metaclass Selection对话框,选择PdCommon页,在Metaclass选择列表中选定

BusinessRule

点击OK,现在可以在Profile目录下看到BusinessRule了,点击OK!已经完成了BusinessRule的激活。 完成上述激活步骤后我们就可以执行Business Rules的新建了。

在资源浏览器窗口中右键单击当前需求模型->选择”New”,或通过选择菜单栏上Model,你可以看到Business Rule(s)选项了,选择执行,设定详细业务规则属性内容就OK了,示例模型中我们完成了三个关于论坛积分制度方面的业务规则,可以查看参考文档,不再赘述!

接下来我们为示例模型添加术语表(glossary term)

选择菜单栏Model->Glossary terms,进入List of Glossary terms对话框

选择工具栏上”Add a Row”工具,进行glossary term编辑。

或通过资源浏览器中也同样能执行添加术语操作。

若目标系统比较大,功能较多,也可以通过在系统模型中添加文件夹(package)来方便管理,也能使整个模型更清晰,具有层次性。

到这我们就已经基本完成了整个需求模型,接下来让我们来与word文档协调工作且生成内容全面的需求报告文档。

从需求模型生成Word文档

资源浏览窗口中,右键单击当前模型名称或图标->选择”Export as Word Document”

或在菜单栏中选择Tools->Export as Word Document...,这时文档生成就开始执行,输出窗口会显示对当前模型的检验信息,这里我们对其中的Warning就忽略不作考虑了。

片刻后会弹出

选择空白文档,单击确定,你可以看到文档输出了!

生成的文档如

其中红色部分文字表示与当前模型联接的信息,如果已经确定需求模型,要生成最终文档作为分析成果,可以通过在MS Word菜单栏上选择”Requirements”->Detach the Document from the Requirements Model,这样就实现了最终文档与需求模型的分离,同时生成的文档也没有那些红色的联接信息了。

在没有将文档与模型分离时,我们还可能在PowerDesigner中对需求模型进行修改,这时我们可以对文档执行更新操作,同时对符合层次化标准的Word文档,也可以将其转化为相应的需求模型。

需求模型的个人见解就到此为止,要申明的是:以上内容只是对PowerDesigner提供的需求建模功能的大概说明,其中太多细节还需日后使用过程中慢慢掌握。

生成模型报告

文档生成Report

个人觉得有必要将Report(文档生成)提前讲解,毕竟软件工程的任何阶段都会输出相应文档,PowerDesigner支持生成RTF和HTML两种格式文档。

下面以刚完成的示例论坛系统的需求模型为例讲解。

PowerDesigner提供对Report的操作有关于Report Template Editor(报告模板编辑器),Report Template(报告模板),Report Editor(报告编辑器),Multi-Model Report Editor(多模型报告编辑器),Report Language Editor(报告语言编辑器)

1. 使用Report Template Editor(报告模板编辑器)

打开Report Template Editor(报告模板编辑器)

(1)选择Tools->Resources->Report Templates,可以打开List of Report Templates(报告模板列表),列表显示出当前系统中存在的报告模板,如下图示:

(2)在Type(类型)下拉列表中选择相应的模板类型,可用模板中会显示对应您选择模板类型的模板,同时您也可以通过单击模板列表工具栏上的New工具新建您所需要的模板。

(3)选择相应模板

(4)通过单击工具栏上Properties工具或直接双击所选定模板,进入相应模板属性编辑器。其中左边Available items为可用项目,右边Template items为当前模板中项目,表示出该报告模板的结构。

现在你可以对该报告模板进行编辑修改!

也可以通过选择Model->Reports打开List of Reports(报告列表),再选择报告列表工具栏上Manage Report Templates(管理报告模板)工具打开List of Report Templates(报告模板列表)。

2. 标准报告模板(Standard report templates)

PowerDesigner默认自带了一系列的标准报告模板,其模板安装目录在Sybase\PowerDesigner Trial 11\Resource Files\Report Templates下。

其中每种类型的模板都包含三种类型的标准模板,如下表所示:

3. 创建报告模板

报告模板是一种可以用来快速生成报告文档的文件,你可以使用PowerDesigner自带的一些标准模板或创建你自己的模板。创建模板时需要指明你在报告中需要包含的信息,同时也可以通过选择一种你想要语言用以显示报告文档。

(1) 选择Tools->Resources->Report Templates,打开了List of Report Templates窗口

(2) 工具栏中New工具,即打开Report Template Type窗口

(3) 输入相应的模板名称,选择语言种类同时在模板列表中选择模板类别

(4) 单击OK即进去Report Template Editor(报告模板编辑器),现在你可以将想要在模板中显示的

项目进行添加调整了。

(5) 完成模板编辑后,选择File->Save,就可以将你所编辑好的报告模板保存为.rtp文件。

使用报告编辑器(Using the Report Editors)

1.创建模型报告

你可以通过使用报告编辑器创建模型报告和多模型编辑器创建多模型报告,但是当你要创建报告时,在当前workspace中必须打开至少一个模型且要有一个默认生成节点。

这里我们对前期需求模型创建报告文档作为示例。

(1)Model->Reports,打开List of Reports窗口

(2)单击工具栏上New工具,弹出New Report对话框,输入对应名称,选择语言类别和报告模板。

(3)单击OK,即完成报告新建工作,这里我选择的报告模板为None,接下来我们对报告内容及节点进行编辑。

如上图对目标报告文档内容进行编辑,报告节点设计完毕后就可以生成html或rtf报告了。

(4)选择Report面板中的Generate HTML或Generate RTF即可生成相应格式报告文档,若要预览文档,可以选择面板中的Print Preview工具。

最终生成的html文档如下图示:

创建多模型报告(Multi-Model Report)

多模型报告能够通过使用Section在同一个报告中包含不同类型模型中的对象,将不同模型结合起来提供一个全局视角的综合报告。但是每个Section只能是一种模型类型,并且只能使用一个模板类型,被使用模型必须在当前workspace中处于打开状态。

(1)在当前workspace中打开一些需要参与多模型报告的模型,选择菜单栏中File->New,

在弹出的新建窗口中选择Multi-Model Report。

或通过右键单击当前Workspace->New->Multi-Model Report亦能完成多模型报告的新建。

(2)弹出新建多模型报告窗口。

(3)输入报告名称,选择语言种类,同时在Model name的下拉框中选择一个Section将要描述的模型。同时根据可以根据需要在Report template下拉列表中选择相应的报告模板。

(4)点击OK,确认操作!这时就已经打开多模型报告编辑窗口,如下图示:

(5)基本的多模型报告框架已经建好,下一步就是对其中Section进行设置编辑即可。根据需要加入不同模型创建适当Section,基本操作与普通单模型报告类似!

处理Section

每个报告文件至少要包含一个Section,通过使用Section可以使模型设计者将目标模型分为几个不同部分,便于分析模型各部分功能,因此恰当地使用Section可以让报告文档更加清晰,具有层次性。可以通过两种方式创建Section(节):

1. 创建一个空白Section

2. 创建一个基于模板(Template)的Section

当你创建新Section时,模板列属性默认被设置为None,且应用模板选项框被自动选取。

创建Section

(1) 在Report Editor编辑窗口下,选择Report->Sections,即弹出List of Report Sections窗口,其中

Section列表包含一默认生成的

Section.

(2) 输入Section名称,如果没有更改输入名称系统将会在报告项目面板(Report Items)中使用默

认名称。

(3) 如果当前报告为多模型报告,则可以在模型栏(Model column)中选择对应模型类型,多模型

报告可能包括多种模型类型的Section,如OOM,PDM,CDM等,但必须这些模型在当前Workspace中都处于打开状态。若当前报告为单模型报告,则Model列为不可选,系统自动设置为当前模型。

(4) 单击模板栏(Template),选择需要的模板类型,可选项有None,Full Requirement report, List

Requirement report,Standard Requirement report。若选择None则创建空白Section.,同时Apply Template选项框为默认选取状态。

(5) 以上操作已经完成对当前Section的设置,要再次添加Scetion则通过选取工具栏上Add a Row

或Insert a Row工具添加新Section,同时再次执行(1)---(4)步骤设置其属性。

(6) 单击OK,现在已经完成多个Section的创建。其中每个Section在报告编辑器(Report Editor)

中显示为Report Items面板底部的Tab页中,如下图所示:

将报告中Section创建为模板

经常我们需要将已经设计好的Section供以后在其他模型中使用,为此我们可以将创建好的Section保存为模板。

(1) 单击需要保存的Section的Tab页(在Report Items面板底部的Tab页)

(2) 选择工具栏上Report->Create Template From Section,打开报告模板编辑器(Report Template

Editor)页面,则原来在报告项目(Report Items)中显示的项目(Items)这时显示在模板项目面板中。

(3) 确认模板项目后,选择菜单栏上File->Save,即打开保存文件对话框。

(4) 输入相应模板名称,单击保存即可。

使用报告语言编辑器(Using the Report Language Editor)

通过使用报告语言编辑器可以创建和修改报告语言的源文件(Resource files),报告语言源文件是以XRL为后缀的XML格式文件,其中包含了报告中所有可打印文本和它们的一些默认数据,报告语言源文件保存在中心区域且能够被任何模型报告共享使用,从而保证了数据一致性,节省了用户创建编辑报告文档的时间。PowerDesigner在安装目录\Sybase\PowerDesigner Trial 11\Resource Files\Report Languages下自带了一系列的报告语言源文件。我们也可以通过使用报告语言编辑器(Report Language Editor)创建符合自己需求的文档报告源文件。

打开报告语言编辑器

(1) 选择菜单栏上Tools->Resources->Report Languages,即打开报告语言列表(List of Report

Languages)窗口,其中显示出当前系统具有的所有报告语言列表。

(2) 选择某种报告语言

(3) 单击工具栏上Properties工具,或双击该行,打开Report Language Properties窗口

同样你也可以通过报告编辑器打开报告语言编辑窗口:选择菜单栏上Report->Edit Current Language,不过这时打开的语言种类是针对当前选择语言。

报告语言编辑器(Report Language Editor)由两个不同部分组成:根据语言类别和实体导航的左侧目录树与显示相关信息的右侧树型视图。

左边目录树主要包含以下三个部分

Object Attrbutes和Report Titles分别包含PowerDesigner每个模型特定特征的种类。Value Mapping类别则包含具有一个标准入口的子类别:

Forms:Cards和Checks中的对象属性的关键字。

Lists:Lists中的对象属性的关键字。

PowerDesigner提供自带的报告语言源文件还是很符合语言习惯的,一般来说不用进行更改订制,但选择中文模板时会出现一些问题,比较常见的就是如Primary Key,Foreign Key等翻译存在一些差异。下面以简体中文模板对我们示例系统的PDM建立系统数据字典报告文件。

已经完成的示例PDM关系图如下:

下面对每个数据表和各数据表的字段生成数据字典:

(1)为了方便演示,我们选择新建空白的报告模板,只将表格清单(List of Tables),表格列清单(List of Table Columns-表%PARENT%的列清单)和关系图表(Diagram)添加至报告项目面板(Report Items)。

(2)右键选择List of Table Columns-表%PARENT%的列清单->Layout,弹出要显示对象列表。

(3)在列表中选择需要显示的对象。

这时直接生成RTF文档,看看文档效果。

看到上述文档效果估计很多朋友都会很失望的,没关系,现在让我们一步步来完善!

(1) 选择菜单栏上Tools->Resources->Report Languages…打开List of Report Languages(报告语言列

表)窗口,这里我们选择双击Simplified Chinese,以打开报告语言属性窗口。

(2) 选择Object Attributes\Physical Data Model\Column\Primary,将Value中”主要的”改为”主键”。

(3) 选择Object Attributes\Physical Data Model\Column\ForeignKey,将Value”外来键”改为”外键”

(4) 选择Report Titles\Physical Data Model\Table\Columns list,将Value”表格%PARENT%的专栏清

单”改为” 表%PARENT%的列清单”.

(5) 双击报告项目面板中的”Table-表格%ITEM%”对象,在弹出的编辑窗口中将”表格%ITEM%”改

为”表%ITEM%”,如下图:

(6) 当然还可以通过报告源文件编辑器进行其它报告项目显示方面的更改,同时也可以使用如其它

常用软件中的查找替换功能,可以在报告语言属性窗口找到相应工具。不过这时执行的是全局替换,使用前应小心。

(7) 通常在进行报告语言属性进行更改之后,为了保证软件自带的报告语言源文件(.xrl文件)不

发生变更,可以选择”Save As…”命令。不过必须在语言报告属性窗口中执行,如下图:

(8) 调整各属性列宽度,右键单击报告项目(Report Items)面板中”List of Table Columns-

表%PARENT%的列清单”,在弹出菜单中选择”Layout”,打开List Layout窗口,如下图:

现在调整Width列的数值就行了,支持百分比和实际宽度两种属性。现在可以看看生成的文档了,如下图示:

为了使显示效果更简洁点,不妨将其中大部分的FALSE不显示,TRUE也只用T代换,为此我们需要将系统的TRUE和FALSE进行转换,需要在报告语言属性中更改映射表。

(9) 在报告语言属性窗口中选择”Values Mapping\Lists\Standard”,添加True和FALSE映射即可,如

下图:

现在在进行文档生成,基本上满足正式文档要求。

当然关于模型报告还有很多细节问题,这里不能做到一一分析,可以在日后实际使用中慢慢发掘,毕竟运用才是关键!好了,这一小节就到此为止!

概念数据模型CDM(Conceptual Database Model)

以下我们要完成对示例论坛系统的数据库设计工作,首先让我们建立目标系统的概念数据模型(CDM)。

在进行相关CDM演示之前,让我先简要介绍概念数据模型(CDM)的相关概念。我们进行数据库设计时,一般都是概念层次(Conceptual level)开始的。在概念层次上,你无须考虑数据库的实际物理执

行细节。概念模型(CDM)描述了与任何软件或数据存储系统无关的数据库整体逻辑结构,通常包含了与物理数据库无关的数据对象,提供了一种对用于运行企业或业务行为的形象化的表达方式。

CDM功能:

(1)通过创建实体关系图表(E-R)来描述数据的组织结构。

(2)能够校验数据设计的合理性。

(3)生成指定了相应物理实现数据库的物理数据模型(PDM)

(4)能够生成用UML标准描述CDM中对象的面向对象模型(OOM)

(5)为在不同的设计阶段创建另一个模型版本,可以生成概念数据模型(CDM)

关于Palette工具面板中含义简介:

新建CDM

(1) 选择File->New,打开New窗口,在左边模型选择列中选中Conceptual Data Model,单击OK,

即确认创建概念数据模型。

(2) 双击资源浏览窗口中新创建的CDM名称图标,打开CDM模型属性窗口,进行相关属性信息

设置。如下图:

对刚创建的CDM进行详细之前有必要先说说有关实体属性命名问题。

PowerDesigner默认在CDM中不能存在相同名称的实体属性,这也是考虑到可能产生的一些如主键外键等名称冲突问题,但当我们进行实际数据库设计时,可能会多次使用相同数据项(DataItem)便于理解各实体。为此需要对更改PowerDesigner相关设置。软件默认为DataItem不能重复使用(重名),需要进行以下操作:

选择

Tools->Model Options,

在Model Setting设置目录中,将Data Item下的Unique Code取消选中即可,系统默认将Unique Code和

Allow Reuse均选中。

同时该设置均是面向特定模型的,即针对当前模型有效,若希望在其它模型中也有此命名设置,则需要重新进行设置。不过在Check Model时,如果选择全部Check,则依旧会报DataItem重名的错误信息,这时需要我们在人为检查确认数据项无误时,可以在选择不对DataItem不检查,如下图示:

各种数据类型对应匹配(这里只给出与SQL Server中的常用对应类型,其它DBMS可以使用类似处理)

实体及各类关系

实体(Entity)

(1) 在新创建的CDM中,选择Palette工具面板中的Entity工具,再在模型区域淡季鼠标左键,即

添加了一个实体图符。

(2) 单击鼠标右键或单击面板中Pointer工具,使鼠标处于选择图形状态。

(3) 双击新创建的实体图符,打开实体属性窗口,输入实体名称和代码。

(4) 单击OK,即完成实体创建过程。

继续上述操作,创建多个实体,分别设置为不同名称,具体信息参考示例文档。

实体创建完成后资源浏览窗口中层次结构如下所示:

现在编辑各实体的详细内容,如属性组,实体间关系等。

实体属性(Entity Attributes)

(1) 以User实体为例,打开实体User属性窗口,进入Attributes属性页,如下图示:

(2) 单击属性窗口工具栏中Add a Row工具,即在属性实体属性列表中添加了一个属性,同时设置

该属性相关信息,如数据类型,是否为主标识符,是否不可为空等。

(3) 详细设置新添加的属性为UserID,作为系统唯一标识区别的用户编号,同时选择P,M,数据类型

(DataType)选择Integer。如下图:

(4)对属性列进行更为详细的设置,可以通过单击对应属性列左边箭头,进入Attribute Properties窗口,可以进行更为精确详细的设置,如数据上下限,精度等。如下图:

(5)同时若要更改实体属性列表中显示的相关选项可以通过单击工具栏中Customize Columns and Filter工具以打开Customize Columns and Filter窗口

只要在列表中选择想要显示的项目即可完成设置。

标识符(Identifiers)

标识符是能够用于唯一标识实体的每条记录的一个实体属性或实体属性的集合,CDM中的标识符等同于PDM中的主键(Primary Key)或候选键(Alternate Key)。每个实体至少要有一个标识符,若一个实体中只存在一个标识符,它就自动被默认指派为该实体的主标识符(Primary Identifier)。

指定相应标识符

(1) 在双击图表中对应实体以显示实体属性窗口。

(2) 在当前实体属性窗口中选择Identifiers属性栏,如下所示:

(3) 可以通过单击工具栏上Property 工具或双击所要选择的标识符栏,进入标识符属性编辑窗口。

(4) 选择Attributes属性,可以看到当前标识符所关联的属性列表,如下图:

(5) 单击工具栏中Add Attributes工具,即可以进行为当前标识符添加属性。

关系(Relationship)

关系(Relationship)表示实体间的连接。如在一个人力资源管理系统的CDM中,员工是团队中的成员,关系”Member”连接了员工(Employee)和团队(Team),这种关系表述了每个雇员在团队中工作且每个团队都由员工组成。

建立关系(Relationship)这里以用户实体(User)和帖子实体(Post)为例

(1) 在Palette面板中左键单击Relationship工具

(2) 在实体User上单击鼠标左键,按住不放,拖拽鼠标至实体Post上后才松开,这样即建立了User

和Post之间的Relationship.

三 : PowerDesigner简单的使用教程

PowerDesigner是一款功能非常强大的建模工具软件,足以与Rose比肩,同样是当今最著名的建模软件之一。[www.61k.com)Rose是专攻UML对象模型的建模工具,之后才向数据库建模发展,而PowerDesigner则与其正好相反,它是以数据库建模起家,后来才发展为一款综合全面的Case工具。

PowerDesigner主要分为7种建模文件:

1.  概念数据模型 (CDM)

对数据和信息进行建模,利用实体-关系图(E-R图)的形式组织数据,检验数据设计的有效性和合理性。

2.  逻辑数据模型 (LDM)

PowerDesigner 15 新增的模型。逻辑模型是概念模型的延伸,表示概念之间的逻辑次序,是一个属于方法层次的模型。具体来说,逻辑模型中一方面显示了实体、实体的属性和实体之间的关系,另一方面又将继承、实体关系中的引用等在实体的属性中进行展示。逻辑模型介于概念模型和物理模型之间,具有物理模型方面的特性,在概念模型中的多对多关系,在逻辑模型中将会以增加中间实体的一对多关系的方式来实现。

逻辑模型主要是使得整个概念模型更易于理解,同时又不依赖于具体的数据库实现,使用逻辑模型可以生成针对具体数据库管理系统的物理模型。逻辑模型并不是在整个步骤中必须的,可以直接通过概念模型来生成物理模型。

3.  物理数据模型 (PDM)

基于特定DBMS,在概念数据模型、逻辑数据模型的基础上进行设计。由物理数据模型生成数据库,或对数据库进行逆向工程得到物理数据模型。

4.  面向对象模型 (OOM)

包含UML常见的所有的图形:类图、对象图、包图、用例图、时序图、协作图、交互图、活动图、状态图、组件图、复合结构图、部署图(配置图)。OOM 本质上是软件系统的一个静态的概念模型。

5.  业务程序模型 (BPM)

BPM 描述业务的各种不同内在任务和内在流程,而且客户如何以这些任务和流程互相影响。 BPM 是从业务合伙人的观点来看业务逻辑和规则的概念模型,使用一个图表描述程序,流程,信息和合作协议之间的交互作用。

6.  信息流模型(ILM)

ILM是一个高层的信息流模型,主要用于分布式数据库之间的数据复制。

7.  企业架构模型(EAM):

从业务层、应用层以及技术层的对企业的体系架构进行全方面的描述。包括:组织结构图、业务通信图、进程图、城市规划图、应用架构图、面向服务图、技术基础框架图。

首先我们需要创建一个测试数据库,为了简单,我们在这个数据库中只创建一个Student表和一个Major表.其表结构和关系如下所示.

powerdesigner 教程 PowerDesigner简单的使用教程

看看怎样用PowerDesigner快速的创建出这个数据库吧.

1.现在开始使用PowerDesigner创建数据库,首先运行程序,进入主界面:

powerdesigner 教程 PowerDesigner简单的使用教程

2.File—New Model—Physical Data Model—Physical Diagram—Model name 设置为test,DBMS属性设置为Microsoft SQL Server 2005(你用的数据库):

powerdesigner 教程 PowerDesigner简单的使用教程

3.首先用表格工具创建一个表格模板:

powerdesigner 教程 PowerDesigner简单的使用教程

4.双击表格模板,设置属性,我们首先设置Major表:

powerdesigner 教程 PowerDesigner简单的使用教程

5.设置好表名,点击Columns标签,设置字段属性,设置如图所示:

powerdesigner 教程 PowerDesigner简单的使用教程

6.因为MajorID字段我们要设置为自动增长,所以要设置它的高级属性,选择MajorID字段,点击属性按钮,在General面板中勾选上Identity复选框:

powerdesigner 教程 PowerDesigner简单的使用教程

7.确定后我们再创建一个Student表,字段设置如图所示:

powerdesigner 教程 PowerDesigner简单的使用教程

8.接着是为Student创建一个MajorID外键,使用PowerDesigner可以很轻松的完成这个工作,选择关系设置工具,在Student表上按住左键不放,拖拽至Major表,便可为Student表添加一个MajorID的外键:

powerdesigner 教程 PowerDesigner简单的使用教程

9.现在测试表已经设置好了,接着设置一下我们要生成的数据库吧,这些表都将被创建到该数据库中,我们在设计面板空白处右键—Properties,在弹出的属性设置对话框设置如下:

powerdesigner 教程 PowerDesigner简单的使用教程

10好了,在此我们对新数据库的设置已经完成,但是在SQL中还是空空如也啊,我们要怎么把这边设计好的结构移植到SQLServer 2005中呢?执行操作:Database—Generate Database,设置好存储过程导出目录和文件名,点击确定即可:

powerdesigner 教程 PowerDesigner简单的使用教程

11.到你的导出目录,就可以看见导出的数据库创建存储过程了,打开SQL,执行一下,你就会看到数据库被神奇的创建好了:

powerdesigner 教程 PowerDesigner简单的使用教程

四 : PowerDesigner使用教程

PowerDesigner是一款功能非常强大的建模工具软件,足以与Rose比肩,同样是当今最著名的建模软件之一。[www.61k.com)Rose是专攻UML对象模型的建模工具,之后才向数据库建模发展,而PowerDesigner则与其正好相反,它是以数据库建模起家,后来才发展为一款综合全面的Case工具。

PowerDesigner主要分为7种建模文件:

1. 概念数据模型 (CDM)

对数据和信息进行建模,利用实体-关系图(E-R图)的形式组织数据,检验数据设计的有效性和合理性。

2. 逻辑数据模型 (LDM)

PowerDesigner 15 新增的模型。逻辑模型是概念模型的延伸,表示概念之间的逻辑次序,是一个属于方法层次的模型。具体来说,逻辑模型中一方面显示了实体、实体的属性和实体之间的关系,另一方面又将继承、实体关系中的引用等在实体的属性中进行展示。逻辑模型介于概念模型和物理模型之间,具有物理模型方面的特性,在概念模型中的多对多关系,在逻辑模型中将会以增加中间实体的一对多关系的方式来实现。

逻辑模型主要是使得整个概念模型更易于理解,同时又不依赖于具体的数据库实现,使用逻辑模型可以生成针对具体数据库管理系统的物理模型。逻辑模型并不是在整个步骤中必须的,可以直接通过概念模型来生成物理模型。

3. 物理数据模型 (PDM)

基于特定DBMS,在概念数据模型、逻辑数据模型的基础上进行设计。由物理数据模型生成数据库,或对数据库进行逆向工程得到物理数据模型。

4. 面向对象模型 (OOM)

包含UML常见的所有的图形:类图、对象图、包图、用例图、时序图、协作图、交互图、活动图、状态图、组件图、复合结构图、部署图(配置图)。OOM 本质上是软件系统的一个静态的概念模型。

5. 业务程序模型 (BPM)

BPM 描述业务的各种不同内在任务和内在流程,而且客户如何以这些任务和流程互相影响。 BPM 是从业务合伙人的观点来看业务逻辑和规则的概念模型,使用一个图表描述程序,流程,信息和合作协议之间的交互作用。

6. 信息流模型(ILM)

ILM是一个高层的信息流模型,主要用于分布式数据库之间的数据复制。

7. 企业架构模型(EAM):

从业务层、应用层以及技术层的对企业的体系架构进行全方面的描述。包括:组织结构图、业务通信图、进程图、城市规划图、应用架构图、面向服务图、技术基础框架图。

正所谓“工欲善其事必先利其器”,PowerDesigner就是一把强大的“神器”,若能运用自如,再身怀“绝世武功”,那你基本就遇神杀神遇佛杀佛了!

关于PowerDesigner物理数据模型的基本使用,我这里就不废话了,给出个连接,地球人看完都知道:

 下面就一些比较高级型的用法和技巧我着重说明下。

1. 生成sql脚本

Database→Generate Database

选择要输出的文件路径,即文件存储路径,并根据需要修改文件名,单击确定后便会生成sql脚本。

powerdesigner教程 PowerDesigner使用教程

在Options选项卡里,可以个性化选择和配置sql脚本,如取消外键,去除drop语句等。

powerdesigner教程 PowerDesigner使用教程

Selection选项卡中可以选择哪些表要生成sql脚本。

在Preview选项卡可以预览将要生成的sql脚本。

2. 将所有名词转化为大写

tools→Model Options...→Naming Convention→Code→Uppercase。

powerdesigner教程 PowerDesigner使用教程

3. 表字段设计窗口显示comment来编写注释

双击表打开表的属性窗口→Columns选项卡→单击上排倒数第二个图标(Customize Columns and Filter)→勾选comment

powerdesigner教程 PowerDesigner使用教程

4. 修改表的字段Name的时候,Code不自动跟着变

tools→General Options...→Dialog→取消勾选Name to Code mirroring

powerdesigner教程 PowerDesigner使用教程

5. 不同数据库之间的转化

Database→Change Current DBMS→选择要转换成的目标数据库

powerdesigner教程 PowerDesigner使用教程

6.  导入sql脚本生成相应的数据库表模型图

 File→Reverse Engineer→Database...→修改模块名称并选择DBMS

powerdesigner教程 PowerDesigner使用教程

Using script files→点击下方图标(Add Files)来添加sql脚本文件→确定

powerdesigner教程 PowerDesigner使用教程

7. 由物理模型生成对象模型,并生成相应的get、set方法

tools→Generate Object-Oriented Model...→选择语言→修改Name和Code→(Selection选项卡→选择要生成对象模型的表)→确定

powerdesigner教程 PowerDesigner使用教程

双击生成的某张表的类图打开属性窗口→选中全部字段→将字段Visibility全部改为private→单击下方Add...按钮→选择Get/Set Operations→确定

扩展:powerdesigner教程 / powerdesigner / powerdesigner教程pdf

之后生成代码即可:Language→Generate Java Code...

powerdesigner教程 PowerDesigner使用教程

【注意:不同语言Add...按钮下的内容有区别,如C#是Property】

6. 生成数据库文档

Report→Generate Report...→选择Generate RTF→修改Repor namet→语言选择Chinese→选择文件存放位置→确定

powerdesigner教程 PowerDesigner使用教程

PowerDesigner还提供了文档编辑功能:Report→Reports...→点击New Report图标→修改Repor namet→语言选择Chinese→Report template选择Full Physical Report

之后即可打开文档编辑窗口,不过限于篇幅这里就不再详细说明如何编辑了,大家自己看看吧。

8. 如何建立自增主键

双击表打开属性窗口→勾选P主键复选框→双击设置为主键的字段(在行的头部双击)或者单击上方的属性图标按钮→在打开的窗口下方(注意不同数据库不一样,sql server是identity复选框)选择sequence,如果没有则单击旁边的新建按钮创建一个sequence。

powerdesigner教程 PowerDesigner使用教程

9. 如何建立视图

工具栏中单击视图(view)按钮→创建视图→双击视图打开属性窗口,其中Usage是表示视图是只读的还是可更新的。如果我们只创建一般的视图,那么选择query only选项即可。

powerdesigner教程 PowerDesigner使用教程

切换到SQL Query选项卡,在文本框中可以设置定义视图的sql查询语句,在定义视图时最好不要使用*,而应该使用各个需要的列名,这样在视图属性的Columns中才能看到每个列。单击右下角Edit with SQL Editor按钮,即可弹出SQL Editor编辑器,编写SQL语句。也可采用其他sql语句生成器生成sql语句。

powerdesigner教程 PowerDesigner使用教程

10. 如何建立索引

双击表打开属性窗口→选择Indexes选项卡→新建一索引→双击该索引打开属性窗口

powerdesigner教程 PowerDesigner使用教程

选择Columns选项卡→单击Add Columns图标按钮→选择要建立索引的字段→确定

这里Column definition就不要选了,会与主键冲突。

powerdesigner教程 PowerDesigner使用教程

11. 如何建立存储过程

工具栏中单击Procedure按钮→创建存储过程→双击存储过程打开属性窗口→选择Definition选项卡,其中在下拉列表框中,有Default Procedure、Default Function这两个选项,前者是定义过程,后者是定语函数,系统会根据选择的类型创建SQL语句的模板→编辑存储过程脚本。

powerdesigner教程 PowerDesigner使用教程

以上就是PowerDesigner物理模型的最主要内容了,其实这只是沧海一粟罢了,仅仅刚刚涉及到了一个模型,还有其他好多模型值得我们学习,这里要想真的讲全面的话,那一篇博文肯定容不下,需要连载了。

PowerDesigner真的非常强大,用它设计UML同样很牛叉,大家有时间真应该好好学学这个工具怎么使,如果可能,我可能会在今后的博文中介绍下如何用PowerDesigner设计对象模型UML,或者搞不好真的要连载了,呵呵。那么小小期待下吧!

补充:

1、在pdm模型中,当建立两个表的关系时,有如下的级联关系:

 双击2个表之间的关联关系 弹出表信息窗口,选择identity选项卡可看到 以下是几个参数,含义如下: None:父表修改,子表不影响。 Restrict:父表修改,如果子表存在,则出错。 Cascade:父表修改,如果子表存在,则相应的修改。 Set Null:父表修改,如果子表存在,则相应置空。 Set Default:父表修改,如果子表存在,则相应置默认值。  

扩展:powerdesigner教程 / powerdesigner / powerdesigner教程pdf

五 : Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

***计算机科学学院711实验室

PowerDesigner15.1使用教程

图文并茂详解

幽灵柯南 ?版权所有vivianshine@126.com

2011-7-1

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

1 PowerDesigner简介 ............................................... 3

1.1 powerDesigner建模工具简介 ............................... 3

1.2 PowerDesigner 主要包括以下几个功能部分 .................. 4

1.3 PowerDesigner 的5 种模型文件 ............................ 1.3.1概念数据模型 (CDM) 1.3.2逻辑数据模型 (LDM) 1.3.3物理数据模型 (PDM) 6

1.3.4面向对象模型 (OOM) 6

1.3.5业务程序模型 (BPM) 7

1.4模型区别 7

1.4.1对象转换 .7

1.4.2其它对比 .7

2概念模型设计 .7

2.1实体8

2.2 关系12

2.2.3继承 .15

2.2.4关联(Association) 16

3. 物理模型设计1——表和主外键 18

3.1主键 20

3.2外键 22

4.物理模型设计2——约束24

4.1唯一约束 24

4.2 CHECK 25

4.331

5. .......................... 32

5.132

5.2 ............................................ 34

6.Domain) ......................................... 36

.................................................... 36

对象转换成PDM 对象 ...................................... 38

................................. 42

....................................................... 44

10.生成数据库报表文件 ............................................ 45

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

PowerDesigner是Sybase公司的CASE

powerdesigner 教程 Powerdesigner 15.1使用教程

工具集,使用它可以方便地对管理信息系统进行分析设计,它几乎包括了数据库模型设计的全过程。(www.61k.com] 利用PowerDesigner可以制作数据流程图、概念数据模型、物理数据模型,可以生成多种客户端开发工具的应用程序,还可为数据仓库制作结构模型,也能对团队设备模型进行控制。 它可与许多流行的数据库设计软件,例如:PowerBuilder,Delphi,VB等相配合使用来缩短开发时间和使系统设计更优化。

1.1 powerDesigner建模工具简介

提高软件质量,缩短开发周期, 并且使软件更能够适应业务需求的变化,以提高投资回报率,是每个企业所面临的、需要解决的关键问题。软件建模一直被认为是提高与有效控制软件质量的解决之道。近些年来为大家关注的主要是数据设计模型、对象模型、和业务流程模型。由于历史原因,面向数据架构,开发以及业务分析的建模工作总是被单独购买,彼此之间没有集成或共享信息。但是,企业不断需要更集成的建模套件,即集成化企业级建模工具,来支持在共享环境下,企业整个架构的不同方面的全面建模。

目前各主要的建模工具厂商如Sybase PowerDesigner, IBM Rational Rose, Computer Associates的ERWin等都在加强各自建模工具的融合与集成。PowerDesigner经过近20年的发展,已经在原有的数据建模的基础上,形

成一套完整的集成化企业级建模解决方案(如图所示)

PowerDesigner系列产品提供了一个完整的建模解决方案,业务或系统分析人员,设计人员,数据库管理员DBA和开发人员可以对其裁剪以满足他们的特定的需要;而其模块化的结构为购买和扩展提供了极大的灵活性,从而使开发单位可以根据其项目的规模和范围来使用他们所需要的工具。PowerDesigner灵活的分析和设计特性允许使用一种结构化的方法有效地创建数据库或数据仓库,而不要求严格遵循一个特定的方法学。

PowerDesigner提供了直观的符号表示使数据库的创建更加容易,并使项目

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

,用于以只读的、图形化方式访问整个企业

的模型信息。[www.61k.com]

1.2 PowerDesigner 主要包括以下几个功能部分

(1) DataArchitect

这是一个强大的数据库设计工具,使用DataArchitect 可利用实体-关系图为一个信息系统

创建"概念数据模型"-CDM(Conceptual Data Model)。并且可根据CDM 产生基于某一特定

数据库管理系统(例如:Sybase System 11)的"物理数据模型

"-PDM(Physical Data Model)。

还可优化PDM,产生为特定DBMS 创建数据库的SQL 语句并可以文件形式存储以便在其他时

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

关系:一对一关系,一对多关系,多对多关系。[www.61k.com]

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

扩展:powerdesigner / powerdesigner15教程 / powerdesigner 中文版

1.3.2逻辑数据模型 (LDM) 在后期的PowerDesigner 15 中,又引入了新的模型 如 LDM,多维数据模型等 而逻辑模型是概念模型的延伸,表示概念之间的逻辑次序,是一个属于方法层次的模型。[www.61k.com)具体来说,逻辑模型中一方面显示了实体、实体的属性和实体之间的关系,另一方面又将继承、实体关系中的引用等在实体的属性中进行展示。逻辑模型介于概念模型和物理模型之间,具有物理模型方面的特性,在概念模型中的多对多关系,在逻辑模型中将会以增加中间实体的一对多关系的方式来实现。

逻辑模型主要是使得整个概念模型更易于理解,同时又不依赖于具体的数据库实现,使用逻辑模型可以生成针对具体数据库管理系统的物理模型。逻辑模型并不是在整个步骤中必须的,可以直接通过概念模型来生成物理模型。

是对概念数据模型进一步的分解和细化。

1.3.3物理数据模型PDM 叙述数据库的物理实现。藉由 PDM ,你考虑真实的物理实现的细节。 它进入帐户两个软件或数据储藏结构之内拿。 你能修正 PDM 适合你的表现或物理约束。

象。

面向对象模型 (OOM)

一个OOM包含一系列包,类,接口 , 和他们的关系。 这些对象一起形成所有的( 或部份) 一个软件系统的逻辑的设计视图的类结构。 一个OOM 本质上是软件系统的一个静态的概念模型。

你使用 PowerDesigner 面向对象模型建立面向对象模型.(OOM) 你能为纯粹地对象- 导向的靠模切目的建立一个OOM, 产生Java 文件或者

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

1.3.5业务程序模型 (BPM)

powerdesigner 教程 Powerdesigner 15.1使用教程

实体属性( Attribute )、实体标识( Identifiers )、关系

( Relationship )、继承(Inheritance)、关联(Association)、关联连接(Association Link)。[www.61k.com]

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

实体就是我们抽象出的对象,比如:一个选课系统中,学生、教师、班级、课程等等都是实体。(www.61k.com]实体属性就是一个实体中所包含的简单属性,比如学生实体,具有学号、姓名、生日、性别等属性。另外实体还有个标识用于唯一的标识出每个实体实例,比如学生实体中就可用将学生的学号作为该实体的标识。标识可用是一个实体属性也可以是多个属性的结合。在PD 中新建一个新的概念模型如下: 1.

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

系统将出现一个工具栏如下,用于在设计面板中设计模型。

单击Entity 图标,然后在设计主面板中单击一次便可添加一个实体。

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

2.再单击鼠标图标,即可切换回一般鼠标的模式。(www.61k.com)双击已经添加的实体,弹出实体属性设置对话框,在General 中可以设置实体的Name 和Code 等属性,如图所示:CODE是字段在数据库中的实际名称,一般用英文 NAME示的名称,一般用中文,方便理解。

powerdesigner 教程 Powerdesigner 15.1使用教程

3.

powerdesigner 教程 Powerdesigner 15.1使用教程

选项卡可以设置实体的属性Name、Code、

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

等,

powerdesigner 教程 Powerdesigner 15.1使用教程

右边还有3 个复选框,M 表示是标识属性,D 表StudentID 的P 复选框,系统将会自动生成该Student Identifier。(www.61k.com]如果不希望系Identifiers 选项卡,添加一行Identifier

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

设置完毕之后如图:

powerdesigner 教程 Powerdesigner 15.1使用教程

2.2

powerdesigner 教程 Powerdesigner 15.1使用教程

关系

powerdesigner 教程 Powerdesigner 15.1使用教程

扩展:powerdesigner / powerdesigner15教程 / powerdesigner 中文版

分为一对一(1:1), 一对多(1:n),多对一(n:1),多对多(m:n)4 种对应关系,一对多和多对一其实就是方向相反,所以实际上就是一对一、一对多和多对多。[www.61k.com)最最常用的就是一对多,比如班级实体和学生实体就是一对多关系,一个班级有多个学生,一个学生只会属于一个班级。在设计面板中添加一个Class 实体,然后单击工具栏的Relationship 按钮,然后在Class 实体上单击一下,再到Student 上单击一下,

就可以在Class 和Student 之间建立一对多关系,如图:

生成如图:

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

系统默认会给该关系一个命名

powerdesigner 教程 Powerdesigner 15.1使用教程

Relationship_1,切换到鼠标指针模式,双击Relationship_1,即可打开关系的属性窗口,可以在General 选项卡中

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

1,n 两种,也就是说一个班级可以对应多个学生,那么一个班级中最少是没有学生还是要至少存在一个学生,同样的一的一方有0,1 和1,1 两种,就是说一个

powerdesigner 教程 Powerdesigner 15.1使用教程

学生是可以不属于任何班级呢还是必须属于某一个存在的班级,这里我们都选至少是1,所以最终的设置界面如图:

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

2.2.3

powerdesigner 教程 Powerdesigner 15.1使用教程

继承 在概念模型中的继承与在

powerdesigner 教程 Powerdesigner 15.1使用教程

OO 实体,同样以选课系统为例,现在具有学号属性是教师没有的。[www.61k.com]

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

这里只是概念模型,在

powerdesigner 教程 Powerdesigner 15.1使用教程

DBMS

powerdesigner 教程 Powerdesigner 15.1使用教程

逻辑模型和物理模型中,

powerdesigner 教程 Powerdesigner 15.1使用教程

这里只是概念模型,所以才有继承的说法。(www.61k.com)

2.2.4关联(Association)

Association 也是一种实体间的连接,在Merise 模型方法学理论中,

Association 是一种用于连接分别代表明确定义的对象的不同实体,这种连接仅仅通过另一个实体不能很明确地表达,而通过“事件(Event)”连接来表示。

所以Association 来表达,这种关系之间一般是一个“事件”虚实体,也就是说是一个动词对应的实体。前面说的可能还是太抽象。

以实际的例子来说明:现在有了学生实体,有课

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

程实体,

powerdesigner 教程 Powerdesigner 15.1使用教程

一个学生可以选择多门课程,一门课程有多个学生来上课,所以之间就

powerdesigner 教程 Powerdesigner 15.1使用教程

存在一个“选课”的Association,其中记录了学生选课的时间、选课的状态:所以学生实体和课程实体与选课的关系都是一对多,添加关联连接,能太枯燥了,没有学生来选,所以课程对应选课可能是0,n够了这学期一门课都不选,所以学生对应选课也可能是0,n 最终形成的概念模型如图所示:

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

在PD 中建立物理模型由以下几种办法:

1. 直接新建物理模型。(www.61k.com]

2. 设计好概念模型,然后由概念模型生成物理模型。

3. 设计好逻辑模型,然后由逻辑模型生成物理模型。

4. 使用逆向工程的方法,连接到现有的数据库,由数据库生成物理模型。 物理模型能够直观的反应出当前数据库的结构。在数据库中的表、视图、存

储过程等数据库对象都可以在物理模型中进行设计。致性,接下来以数据库对象和物理模型对象的对应来一一介绍:

新建物理模型时需要指定物理模型对应的DBMS,这里我们使用Server 2005工具栏如图所示:

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

扩展:powerdesigner / powerdesigner15教程 / powerdesigner 中文版

若要在物理模型中添加一个表,单击“表”按钮,然后再到模型设计面板中 单击一次便可添加一个表,系统默认为表命名为Table_n,这里的n 会随着添加

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

单击工具栏的鼠标指针按钮,将鼠标切换回指针模式,然后双击一个表,系

powerdesigner 教程 Powerdesigner 15.1使用教程

统将打开表属性窗口,在General 选项卡中可以设置表的Name、Code 等属性。[www.61k.com)例如我们要新建一个学生表(Student),则可修改Name 和Code。

Code 是生成数据库表的时候的实际表名。另外Name SQL Server 中的表备注。单击Columns 切换到列选项卡,在Name是模型上显示的名称,Code 是生成的实3 个复选框P 代办主键、F 代表外键,M 代表不能为空。为教室表

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

3.1

powerdesigner 教程 Powerdesigner 15.1使用教程

主键

1.在Columns P 列复选框,这是最简单的方 式。[www.61k.com]

2. 当然也包括该列是否是否是主键。另外还 Identity”。选中Identity 复选框则表示该列为自增列。

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

3.

powerdesigner 教程 Powerdesigner 15.1使用教程

切换到Keys PK_Student,然后单

Columns 选项 钮即可完成主键的创建。(www.61k.com)General 选项卡中可以设置该主键

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

3.2

powerdesigner 教程 Powerdesigner 15.1使用教程

外键

那么外键是通过

Relationship 生成的,Reference 来实现两表之间的外键关系。[www.61k.com)而一个教室会安排多个课程那么课程表中就需要添加RoomID 具体操作方法就是在工具栏中单击“Reference”按钮,课程表上按下鼠标左键,并拖拽到教师表中放开鼠标,这时RoomID 列,系统会自动创建RoomID 列并创建该列上的外键

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

生成如图所示:

中可以设置该引用的Name、Code、关联的列、约束名、更新策略和删除策略

等。(www.61k.com]

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

4.1唯一约束

唯一约束与创建唯一索引基本上是一回事,因为在创建唯一约束的时候,系统会创建对应的一个唯一索引,通过唯一索引来实现约束。(www.61k.com]不过唯一约束更直观的表达了对应列的唯一性,使得对应索引的目的更加清晰,所以一般建议创建唯一约束而不是只创建唯一索引。在PD 中创建唯一约束的操作,RoomID 是主键,必然是唯一的,RoomName 如果我们也要去必须是唯一的,具体操作如下:

在PD ” 选项卡,可以看到里面有一行数据PK_ClassRoom 数据,命名为UQ_RoomName,不能将右边的“P 的“属性”按钮,弹出UQ_RoomName 增加列按钮,选择将RoomName 约束的添加。

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

而表约束是对多个列进行的约束,需要在表的属性中

1.标准CHECK 约束

对于一些常用的CHECK 约束,可以直接通过设置界面来完成。[www.61k.com)以班级表为例,ClassName 每个学校有自己的命名规则,假设这里规定

powerdesigner 教程 Powerdesigner 15.1使用教程

ClassName 必须以2 开头,那么需要在ClassName 列上定义CHECK 约束,使得其满足命名规范。具

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

切换到StandardChecks 选项卡如图:

powerdesigner 教程 Powerdesigner 15.1使用教程

属性可接受的最小数

属性可接受的最大数

Default 属性不赋值时,系统提供的默认值

扩展:powerdesigner / powerdesigner15教程 / powerdesigner 中文版

Unit 单位,如公里、吨、元

Format 属性的数据显示格式

Lowercase 属性的赋值全部变为小写字母

Uppercase 属性的赋值全部变为大写字母

Cannot modify 该属性一旦赋值不能再修改

List Of Values 属性赋值列表,除列表中的值,不能有其他的值

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

在前面弹出ClassName 属性窗口中,单击左下角的“More”按钮,系统将弹出更多的选项卡,切换到“Additional Checks”选项卡,可以设置约束名和具体的约束内容,如图表级的CHECK 约束与列级的CHECK 约束设置类似,单击表属性窗口左下角的“More”按钮,切换到

powerdesigner 教程 Powerdesigner 15.1使用教程

Check 选项卡,设置CHECK 名和SQL语句内容。[www.61k.com)

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

3.

powerdesigner 教程 Powerdesigner 15.1使用教程

使用Rule 创建约束

同样以班级名必须以2 Rule 创建CHECK 约束。[www.61k.com]首先需要创建一个Rule,双击Rules 选项卡,单击“Create a Object,如图所示:

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

然后切换到Expression 选项卡,设置规则的内容为“

powerdesigner 教程 Powerdesigner 15.1使用教程

ClassName LIKE

'2%'”,单击确定按钮即可完成Rule 的设置。(www.61k.com]切换到表属性的Check 选项卡,

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

中设置,那么只需要删除%RULES%将CHECK 约束内容添加进去,也可以留%RULES%,然后在与%RULES%之间添加一个and 即可。[www.61k.com)比如规定ClassID必须小于10000,那么我们可以将Check 内容设置如下:

powerdesigner 教程 Powerdesigner 15.1使用教程

ClassName varchar(20) not null,

constraint PK_CLASS primary key nonclustered (ClassID),

constraint CKT_CLASS check (ClassID<10000),

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

)

go

可以看到,根据Rule 生成的CHECK 约束与在Check 选项卡中设置的约束将分别创建一个约束,相互并不影响。[www.61k.com)

4.3默认约束

CreateTime 字段,设置默认值为getdate()ApplyTime 的默认值为getdate()性窗口,选择ApplyTime 切换到StandardChecks 选项卡,在getdate()即可。

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

PD 中的设置都介绍完了,下一篇将介绍视图、存储

3——视图、存储过程和函数

视图

在SQL Server 中视图定义了一个SQL 查询,一个查询中可以查询一个表也可以查询多个表,在PD 中定义视图与在SQL Server 中定义查询相似。[www.61k.com)例如要创几个所有学生的所有选课结果的视图,那么在工具栏中选择视图按钮,然后在设计面板中单击鼠标一次便可添加一个空白的视图,切换到鼠标指针模式,

powerdesigner 教程 Powerdesigner 15.1使用教程

双击该视图便可打开视图的属性窗口。在General 选项卡中,可以设置视图的名字和其他属性。

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

Usage check option ,也不能依据视图来验证任何直接对视图的指定该视图表示的是维度还是事实,这个主要是在进行数据一般情况下不需要指定。(www.61k.com]后面的两个复选框也不需要Type 使用默认的view 选项。切换到SQL Query 选项卡,在文本框建议直接先在SSMS 中验证视图定义SQL 语句的正确性,然后再将SQL 语句复制粘贴到该文本框中。在定义视图时最好不要使用*,而应该使用各个需要的列名,这样在视图属性的Columns 中才能看到每个列。设计SQL Query 如图所示。

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

扩展:powerdesigner / powerdesigner15教程 / powerdesigner 中文版

当然,

powerdesigner 教程 Powerdesigner 15.1使用教程

也可以在PD

powerdesigner 教程 Powerdesigner 15.1使用教程

中使用自带的SQL SQL 语句,单击右下角的“Edit with SQL Editor”按钮,即可弹出编辑器,编写SQL 语句。(www.61k.com)

5.2存储过程和函数

Procedure Procedure。例如要 Procedure,打开Procedure 属性窗口,在General 选

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

SQL

powerdesigner 教程 Powerdesigner 15.1使用教程

语句中,可以将create procedure [%QUALIFIER%]%PROC%保留,其

据自己要创建的存储过程编写SQL 语句。[www.61k.com)

create procedure [%QUALIFIER%]%PROC%

@StudentID int

as

begin

select CourseName

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

单击确定按钮,系统会根据编写的SQL 语句,将所使用的表、视图与存储过程关联起来,如图所示:

powerdesigner 教程 Powerdesigner 15.1使用教程

create function 而不是create Procedure 至此,表(表的约束)、视图、存储过程、函数等在PD 的

6.Domain)

一个域定义能适用于多个数据项(Data Item)的标准数据结构。(www.61k.com)当修正一个域时,将更新全部与域关联的数据项目。当作任何变化的时候,导致数据一致化特性比较容易实现。

6.2 创建一个新的域

下面将会创建两个域,为钱数定义一个标准化的域,为模型中的百分比定义 一个域。

1 选择菜单栏的模型域,Model > Domains。

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

3 在名字列输入Amount。[www.61k.com)

这是域的名字。相同的代码自动地在代码列中被进入。

4 点击应用。新创建的域被提交。

5 点击新的域行。

6 点击属性工具。

powerdesigner 教程 Powerdesigner 15.1使用教程

7 点击紧邻数据类型下拉列表的问号按钮。

8 点点击Momey

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

域现在有一个

powerdesigner 教程 Powerdesigner 15.1使用教程

Money数据类型。(www.61k.com]一个

来储存数字。然后,的数量数据项目(Data Item) 的时候,9 在长度框中打字88。

10 在精密框中打字2 11 点击OK。

回到域特性页。值MN8,2MN是一个Money数据 类型的代码。8指出8个长度。2指出数量有2个小数位精度。 12 点击OK13

,一个默认的名字和代码被输入。

14 。

15

7.将CDM 对象转换成PDM 对象

当从一个CDM生成PDM时,PowerDesigner将CDM中的对象和数据类型转 换为PDM对象和当前DBMS支持的数据类型。同一个表中的两列不能有相同的名称,如果因为外键迁移而导致列名冲突,PowerDesigner会自动对迁移列重命名,新列名由原始实体名的前三个字母加属性的代码名组成。主标识符在生成

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

2 从数据库管理系统下拉列表框选择一种数据库系统系统。[www.61k.com)

3 选择 Share 单选按钮。

powerdesigner 教程 Powerdesigner 15.1使用教程

4 点击detail

5 :

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

如果选择了

powerdesigner 教程 Powerdesigner 15.1使用教程

Check Model Save

powerdesigner 教程 Powerdesigner 15.1使用教程

GenerationDependencies 选项决定是否为每个模型的对象保 CDM生成的两个PDM。[www.61k.com)

6 选择Selection 择。

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

生成PDM后,可能还会对前面的CDM 成的PDM保持一致,这时可以对已有

扩展:powerdesigner / powerdesigner15教程 / powerdesigner 中文版

PDM Generation Options窗口 中选择,并通过Select model下拉框选择将 要更新的PDM。[www.61k.com)如下图:

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

8.

powerdesigner 教程 Powerdesigner 15.1使用教程

可以直接地从PDM PDM相同数据库的脚本,但是也可以

1 选择Database。(www.61k.com]

它显示生成参数。 默认参数已经被选择。

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

2 SQL

powerdesigner 教程 Powerdesigner 15.1使用教程

的文件名称框中键入脚本文件名。(www.61k.com) 3

powerdesigner 教程 Powerdesigner 15.1使用教程

在目录框中,输入或选择一条路径。

4 选择生成脚本的按钮。

5 选择仅仅生成一个文件。

6 点击Selection 定位键。

7 点击底部表定位键。

表页列出模型中选择可用的所有数据库表。

8 全部点击选择工具。这选择所有的表复选框。 9 切换Views和Domains选择需要的视图和域。 10 点击Preview,可预览脚本。

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

9.

powerdesigner 教程 Powerdesigner 15.1使用教程

逆向工程

powerdesigner 教程 Powerdesigner 15.1使用教程

PowerdesignerPDM之内。(www.61k.com]数据 来源可以是脚本文件或一个ODBC

从脚本文件逆向工程到PDM

1 选择显示新的物理数据模型的对话框。

2 输入数据模型名称。

3 选择下拉列表框的一个数据库管理系统。

4 点击确定。数据库逆向工程对话框出现。可以有两种选择。一种是使用sql脚

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

10.

DOC文件是很必要的,下面讲解如何生

New->Report,弹出如下界面

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

输入报表名称,选择报表模板。(www.61k.com]

powerdesigner 教程 Powerdesigner 15.1使用教程

1.

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

3.

powerdesigner 教程 Powerdesigner 15.1使用教程

修改输出选项的内容 在内容上单击右键,选择

powerdesigner 教程 Powerdesigner 15.1使用教程

Format,可以修改相应项目的标题、字体、格式等。(www.61k.com)

powerdesigner 教程 Powerdesigner 15.1使用教程

powerdesigner 教程 Powerdesigner 15.1使用教程

5.

powerdesigner 教程 Powerdesigner 15.1使用教程

生成RTF或者其他的类型的报表文件.

powerdesigner 教程 Powerdesigner 15.1使用教程

扩展:powerdesigner / powerdesigner15教程 / powerdesigner 中文版

本文标题:powerdesigner教程-PowerDesigner教程(完整)
本文地址: http://www.61k.com/1098522.html

61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1