视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
PowerDesigner教程
2025-09-26 10:46:53 责编:小OO
文档
PowerDesigner教程:概念数据模型

[收藏此页] [打印]

作者:KevinYin  2007-08-27 

内容导航:

概念数据模型概述 

第1页: 概念数据模型概述 第2页: PowerDesigner概念数据模型 第3页: 属性的标准检查约束 第4页: 如何定义实体的主、次标识符 第5页: 数据项、新增数据项、数据项的唯一性... 第6页: 联系的定义及使用 

【IT168技术文档】

 

目标: 本小节主要介绍PowerDesigner中概念数据模型 CDM的基本概念。

一、概念数据模型概述 

    数据模型是现实世界中数据特征的抽象。数据模型应该满足三个方面的要求: 

1)能够比较真实地模拟现实世界 

2)容易为人所理解 

3)便于计算机实现 

    概念数据模型也称信息模型,它以实体-联系(Entity-RelationShip,简称E-R)理论为基础,并对这一理论进行了扩充。它从用户的观点出发对信息进行建模,主要用于数据库的概念级设计。 

  

    通常人们先将现实世界抽象为概念世界,然后再将概念世界转为机器世界。换句话说,就是先将现实世界中的客观对象抽象为实体(Entity)和联系 (Relationship),它并不依赖于具体的计算机系统或某个DBMS系统,这种模型就是我们所说的CDM;然后再将CDM转换为计算机上某个 DBMS所支持的数据模型,这样的模型就是物理数据模型,即PDM。 

    CDM是一组严格定义的模型元素的集合,这些模型元素精确地描述了系统的静态特性、动态特性以及完整性约束条件等,其中包括了数据结构、数据操作和完整性约束三部分。 

1)数据结构表达为实体和属性; 

2)数据操作表达为实体中的记录的插入、删除、修改、查询等操作; 

3)完整性约束表达为数据的自身完整性约束(如数据类型、检查、规则等)和数据间的参照完整性约束(如联系、继承联系等); 

二、实体、属性及标识符的定义 

    实体(Entity),也称为实例,对应现实世界中可区别于其他对象的“事件”或“事物”。例如,学校中的每个学生,医院中的每个手术。 

    每个实体都有用来描述实体特征的一组性质,称之为属性,一个实体由若干个属性来描述。如学生实体可由学号、姓名、性别、出生年月、所在系别、入学年份等属性组成。 

实体集(Entity Set)是具体相同类型及相同性质实体的集合。例如学校所有学生的集合可定义为“学生”实体集,“学生”实体集中的每个实体均具有学号、姓名、性别、出生年月、所在系别、入学年份等性质。 

实体类型(Entity Type)是实体集中每个实体所具有的共同性质的集合,例如“患者”实体类型为:患者{门诊号,姓名,性别,年龄,身份证号.............}。实体是实体类型的一个实例,在含义明确的情况下,实体、实体类型通常互换使用。 

实体类型中的每个实体包含唯一标识它的一个或一组属性,这些属性称为实体类型的标识符(Identifier),如“学号”是学生实体类型的标识符,“姓名”、“出生日期”、“信址”共同组成“公民”实体类型的标识符。 

有些实体类型可以有几组属性充当标识符,选定其中一组属性作为实体类型的主标识符,其他的作为次标识符。 

三、实体、属性及标识符的表达 

 

PowerDesigner教程:概念数据模型

[收藏此页] [打印]

作者:KevinYin  2007-08-27 

内容导航:

PowerDesigner概念数据模型 

第1页: 概念数据模型概述 第2页: PowerDesigner概念数据模型 第3页: 属性的标准检查约束 第4页: 如何定义实体的主、次标识符 第5页: 数据项、新增数据项、数据项的唯一性... 第6页: 联系的定义及使用 

本小节主要介绍PowerDesigner概念数据模型以及实体、属性创建。

一、新建概念数据模型

   1)选择File-->New,弹出如图所示对话框,选择CDM模型(即概念数据模型)建立模型。

2)完成概念数据模型的创建。以下图示,对当前的工作空间进行简单介绍。(以后再更详细说明)

3) 选择新增的CDM模型,右击,在弹出的菜单中选择“Properties”属性项,弹出如图所示对话框。在“General”标签里可以输入所建模型的名 称、代码、描述、创建者、版本以及默认的图表等等信息。在“Notes”标签里可以输入相关描述及说明信息。当然再有更多的标签,可以点击 "More>>"按钮,这里就不再进行详细解释。

二、创建新实体

1)在CDM的图形窗口中,单击工具选项版上的Entity工具,再单击图形窗口的空白处,在单击的位置就出现一个实体符号。点击Pointer工具或右击鼠标,释放Entitiy工具。如图所示

2)双击刚创建的实体符号,打开下列图标窗口,在此窗口“General”标签中可以输入实体的名称、代码、描述等信息。

三、添加实体属性

1)在上述窗口的“Attribute”选项标签上可以添加属性,如下图所示。

注意:

   数据项中的“添加属性”和“重用已有数据项”这两项功能与模型中Data Item的Unique code 和Allow reuse选项有关。

P列表示该属性是否为主标识符;D列表示该属性是否在图形窗口中显示;M列表示该属性是否为强制的,即该列是否为空值。

如果一个实体属性为强制的,那么, 这个属性在每条记录中都必须被赋值,不能为空。

2)在上图所示窗口中,点击插入属性按钮,弹出属性对话框,如下图所示。

注意:这里涉及到域的概念,即一种标准的数据结构,它可应用至数据项或实体的属性上。在以下的教程中将另立章节详细说明。

PowerDesigner教程:概念数据模型

[收藏此页] [打印]

作者:KevinYin  2007-08-27 

内容导航:

属性的标准检查约束 

第1页: 概念数据模型概述 第2页: PowerDesigner概念数据模型 第3页: 属性的标准检查约束 第4页: 如何定义实体的主、次标识符 第5页: 数据项、新增数据项、数据项的唯一性... 第6页: 联系的定义及使用 

目标:

本小节主要介绍属性的标准检查约束、如何定义属性的附加检查。

一、定义属性的标准检查约束

标准检查约束是一组确保属性有效的表达式。在实体属性的特性窗口,打开如图所示的检查选项卡。

在这个选项卡可以定义属性的标准检查约束,窗口中每项的参数的含义,如下

参数说明
Minimum属性可接受的最小数
Maximum 属性可接受的最大数
Default属性不赋值时,系统提供的默认值
Unit单位,如公里、吨、元
Format属性的数据显示格式
Lowercase属性的赋值全部变为小写字母
Uppercase属性的赋值全部变为大写字母
Cannot modify该属性一旦赋值不能再修改
List Of Values属性赋值列表,除列表中的值,不能有其他的值
Label属性列表值的标签

二、定义属性的附加检查

当Standard checks 或Rules 不能满足检查的要求时,可以在Additional Checks选项卡的Server子页上,通过SQL语句中使用%MINMAX%、%LISTVAL%、%RULES%、%UPPER%、%LOWER% 几个变量来定义Standard和Rule,如图所示

%MINMAX%、%LISTVAL%、%UPPER%、%LOWER%

在Standard Check中定义的Minimum 和Maximum、List values 、uppervalues、lowervalues

%RULES%

在Rules特性窗口Expression选项卡中定义的有效性规则表达式

PowerDesigner教程:概念数据模型

[收藏此页] [打印]

作者:KevinYin  2007-08-27 

内容导航:

如何定义实体的主、次标识符 

第1页: 概念数据模型概述 第2页: PowerDesigner概念数据模型 第3页: 属性的标准检查约束 第4页: 如何定义实体的主、次标识符 第5页: 数据项、新增数据项、数据项的唯一性... 第6页: 联系的定义及使用 

目标:

本小节主要介绍如何定义实体的主、次标识符。

一、标识符

    标识符是实体中一个或多个属性的集合,可用来唯一标识实体中的一个实例。要强调的是,CDM中的标识符等价于PDM中的主键或候选键。

每个实体都必须至少有一个标识符。如果实体只有一个标识符,则它为实体的主标识符。如果实体有多个标识符,则其中一个被指定为主标识符,其余的标识符就是次标识符了。

二、如果定义主、次标识符

1)选择某个实体双击弹出实体的属性对话框。在Identifiers选项卡上可以进行实体标识符的定义。如下图所示

2)选择第一行“主标识符”,点击属性按钮或双击第一行“主标识符”,弹出属性对话框,如图所示

3)选择"Attributes"选项卡,再点击“Add Attributes”工具,弹出如图所示窗口,选择某个属性作为标识符就行了。

待续。

PowerDesigner教程:概念数据模型

[收藏此页] [打印]

作者:KevinYin  2007-08-27 

内容导航:

数据项、新增数据项、数据项... 

第1页: 概念数据模型概述 第2页: PowerDesigner概念数据模型 第3页: 属性的标准检查约束 第4页: 如何定义实体的主、次标识符 第5页: 数据项、新增数据项、数据项的唯一性... 第6页: 联系的定义及使用 

目标:

本小节主要介绍数据项、新增数据项、数据项的唯一性代码选项和重用选项等。

一、数据项

    数据项(Data Item)是信息存储的最小单位,它可以附加在实体上作为实体的属性。

注意:模型中允许存在没有附加至任何实体上的数据项。

二、新建数据项

1)使用“Model”---> Data Items 菜单,在打开的窗口中显示已有的数据项的列表,点击 “Add a Row”按钮,创建一个新数据项,如图所示

2)当然您可以继续设置具体数据项的Code、DataType、Length等等信息。这里就不再详细说明了。

三、数据项的唯一性代码选项和重用选项

使用Tools--->Model Options->Model Settings。在Data Item组框中定义数据项的唯一性代码选项(Unique Code)与重用选项(Allow Reuse)。

注意:

如果选择Unique Code复选框 ,每个数据项在同一个命名空间有唯一的代码,而选择Allow reuse ,一个数据项可以充当多个实体的属性。

四、在实体中添加数据项

1)双击一个实体符号,打开该实体的属性窗口。

2)单击Attributes选项卡,打开如下图所示窗口

注意:

Add a DataItem 与 Reuse a DataItem的区别在于

Add a DataItem 情况下,选择一个已经存在的数据项,系统会自动复制所选择的数据项。如果您设置了UniqueCode选项,那系统在复制过程中,新数据项的Code会自动生成一个唯一的号码,否则与所选择的数据项完全一致。

Reuse a DataItem情况下,只引用不新增,就是引用那些已经存在的数据项,作为新实体的数据项。

PowerDesigner教程:概念数据模型

[收藏此页] [打印]

作者:KevinYin  2007-08-27 

内容导航:

联系的定义及使用 

第1页: 概念数据模型概述 第2页: PowerDesigner概念数据模型 第3页: 属性的标准检查约束 第4页: 如何定义实体的主、次标识符 第5页: 数据项、新增数据项、数据项的唯一性... 第6页: 联系的定义及使用 

目标:本小节主要介绍联系的定义及使用。 

 一、 联系

    联系(Relationship)是指实体集这间或实体集内部实例之间的连接。

 实体之间可以通过联系来相互关联。与实体和实体集对应,联系也可以分为联系和联系集,联系集是实体集之间的联系,联系是实体之间的联系,联系是具有方向性的。联系和联系集在含义明确的情况之下均可称为联系。

 按照实体类型中实例之间的数量对应关系,通常可将联系分为4类,即一对一(ONE TO ONE)联系、一对多(ONE TO MANY)联系、多对一(MANY TO ONE)联系和多对多联系(MANY TO MANY)。

 二、 建立联系

在CDM工具选项板中除了公共的工具外,还包括如下图所示的其它对象产生工具。

 在图形窗口中创建两个实体后,单击“实体间建立联系”工具,单击一个实体,在按下鼠标左键的同时把光标拖至别一个实体上并释放鼠标左键,这样就在两个实体间创建了联系,右键单击图形窗口,释放Relationship工具。如下图所示

三、 四种基本的联系

即一对一(ONE TO ONE)联系、一对多(ONE TO MANY)联系、多对一(MANY TO ONE)联系和多对多联系(MANY TO MANY)。如图所示

四、 其他几类特殊联系

除了4种基本的联系之外,实体集与实体集之间还存在标定联系(Identify Relationship)、非标定联系(Non-Identify RelationShip)和递归联系(Recursive Relationship)。

标定联系:

每个实体类型都有自己的标识符,如果两个实体集之间发生联系,其中一个实体类型的标识符进入另一个实体类型并与该实体类型中的标识符共同组成其标识符时,这种联系则称为标定联系,也叫依赖联系。反之称为非标定联系,也叫非依赖联系。

 注意:

在 非标定联系中,一个实体集中的部分实例依赖于另一个实例集中的实例,在这种依赖联系中,每个实体必须至少有一个标识符。而在标定联系中,一个实体集中的全 部实例完全依赖于另个实体集中的实例,在这种依赖联系中一个实体必须至少有一个标识符,而另一个实体却可以没有自己的标识符。没有标识符的实体用它所依赖 的实体的标识符作为自己的标识符。

换句话来理解,在标定联系中,一个实体(选课)依赖 一个实体(学生),那么(学生)实体必须至少有一个标识符,而(选课)实体可以没有自己的标识符,没有标标识符的实体可以用实体(学生)的标识符作为自己的标识符。

 递归联系:

递归联系是实体集内部实例之间的一种联系,通常形象地称为自反联系。同一实体类型中不同实体集之间的联系也称为递归联系。

例 如:在“职工”实体集中存在很多的职工,这些职工之间必须存在一种领导与被领导的关系。又如“学生”实体信中的实体包含“班长”子实体集与“普通学生”子 实体集,这两个子实体集之间的联系就是一种递归联系。创建递归联系时,只需要单击“实体间建立联系”工具从实体的一部分拖至该实体的别一个部分即可。如图

五、 定义联系的特性

在两个实体间建立了联系后,双击联系线,打开联系特性窗口,如图所示。

 六、 定义联系的角色名

    在联系的两个方向上各自包含有一个分组框,其中的参数只对这个方向起作用,Role Name为角色名,描述该方向联系的作用,一般用一个动词或动宾组表。

如:“学生 to 课目 ” 组框中应该填写“拥有”,而在“课目To 学生”组框中填写“属于”。(在此只是举例说明,可能有些用词不太合理)。

七、 定义联系的强制性

    Mandatory 表洋这个方向联系的强制关系。选中这个复选框,则在联系线上产生一个联系线垂直的竖线。不选择这个复选框则表示联系这个方向上是可选的,在联系线上产生一个小圆圈。

八、 有关联系的基数

联系具有方向性,每个方向上都有一个基数。

举例,

“ 系”与“学生”两个实体之间的联系是一对多联系,换句话说“学生”和“系”之间的联系是多对一联系。而且一个学生必须属于一个系,并且只能属于一个系,不 能属于零个系,所以从“学生”实体至“系”实体的基数为“1,1”,从联系的另一方向考虑,一个系可以拥有多个学生,也可以没有任何学生,即零个学生,所 以该方向联系的基数就为“0,n”,如图所示

待续。

PowerDesigner UML 建模简介

[收藏此页] [打印]

作者:David Dichmann  2007-08-28 

内容导航:

引言 

第1页: 引言 第2页: 对象图 

【IT168 技术文档】

引言

    PowerDesigner支持UML1.3的所有图包括用例图、序列图和类图、活动图表和组件图表等,并全面支持UML2.0。改进了面向对象分析与设计(OOAD)分析方法并增强了与开发过程的集成。 

PowerDesigner 能够帮助您构建适应现代 IT 发展的传统商务和电子商务系统,使用 Java 等面向对象的语言以及 XML 等新技术,以物理或虚拟的方式与我们的数据库技术合并。我们的目标是根据您的需求,提供随时随地访问信息、控制业务流程的能力,并通过计算机和最新技术赋 予企业在当今任何市场上先拔头筹的竞争优势。 

我们的分析方法和设计技术将会是多种多样的,从业务流程建模,到 UML 面向对象分析和设计,以及传统的关系建模等。本文将帮助您深入了解 UML 这项强大的技术,它可以帮助您的企业创建出高效的传统商务和电子商务系统。 

面向对象的分析 

    在您准备为企业作出系统和软件投资前,必须首先了解企业的实际需求,明确所部署的技术将如何帮助您的企业获取更大的成功。您可以使用 UML,借助用例图、序列图和活动图来进行分析。这些图表将帮助您规划系统的范围、动态性能、以及表现方式等。不必考虑实施细节,您希望获得的只是按照您 的需求而表现的系统性能。 

用例图(The Use Case Diagram) 

UML 用例图提供了一个系统环境的建模方式。它能够帮助您确定系统/应用程序的外部和内部元素以及系统范围。作为图形建模模式,它在您需要与所收集的系统需求进 行对话时也将有所帮助,对于研制成品的开发团队来说,更是有着举足轻重的重要性。对于企业的所有者,或第一次接触该软件产品的用户也有很大的帮助作用。用 例图能够以可视化的方式,表达系统如何满足所收集的业务规则,以及特定的用户需求等信息。 

在项目 后期,也能够用到 UML 用例图。您可以通过用例图中定义的需求来协助测试项目的相关功能。您不仅可以验证系统性能是否无错误(无崩溃或明显的非逻辑响应),还可以验证系统运行时 是否按照要求,执行了指定命令。这样,您可以测试系统是否完全满足了要求,以确信成品可以投入生产——也就是说,它已完全满足了用户的需求。 

只有确保满足了合理、实用的各项需求,才能确保 IT 项目的更大成功。 

序列图(The Sequence Diagram) 

您可以使用 UML 序列图细化需求并对设计元素进行链接。序列图允许高层和低层对象间的交互文档。该交互在角色(与用例图中的角色相同)和类实例(运行于计算机内存中的技术对象和细节对象)之间显示。 

通 过序列图,您可以按照系统特定方案中事件(消息)的精确顺序来描述随时间变化的系统行为。使用序列图进行用例分析并引导设计:您可以决定将对用例图所定义 的管理任务负责的系统对象类型,并决定哪种对象将管理系统内外的“会话”或通信。由于消息已从序列图中抽出,您可以描述类和接口(我们最后要编译和部署的 代码元素)所需的某些关键操作(方法)。 

活动图(The Activity Diagram) 

UML 活动图设计用于帮助您了解系统中对象的动态变化。用于描述某一特定类或一组类如何协同工作。与序列图有所不同,活动图不是一系列与时间相关的通信,而是从一个任务到另一任务的控制转移,同时指定谁(哪个对象)对发生的任务负责。 

UML 活动图也是业务流程的技术视图。可对业务工作流进行分析或在“业务流程建模”工作后可获得活动图。 

活动图还可帮助构造系统内元素的详细动态视图(EJB 如何互操作等)。 

通过分析推动设计 

通过分析模型可捕获于实施细节之外的系统意向和预期行为,与使用的语言、部署的应用程序服务器或使用的体系结构都没有关系。但是,设计阶段开始后,一切都发生了变化。您必须进入生产环境的细节并将软件构建至特定的体系结构。设计是对系统的实施。 

如 果设计是由分析得到的,您可以更加确信所编写的系统行为的正确性,确认所开发的成果将是一个按需求构建的系统。您将获得高度成功——让用户得到所需要的系 统。您还可以直接利用分析得出的信息而无需在设计过程中重新生成,从而缩减开发时间,由于不必“重新复制”任何工作,因此减少了人为错误。 

通过分析,我们可获得什么呢?通过用例图可以发现对象并促进类和接口的创建。一个或更多类和接口可以实现一个角色,您可以在角色定义中直接创建类和接口。您还可以将角色链接到现有的类和接口,显示如何使用一条代码来满足所分析的多个元素。 

通过序列图可以发现方法并促进类操作的创建。如果您需要向类发送消息,您可以调用该类的方法。序列图中的消息可以用来自动创建操作或链接到现有操作。您可以通过链接跟踪方法的功能,包括将哪些作为输入内容和必须返回哪些内容等等。 

设计所包含的内容 

您 已经知道要构建的内容,现在您需要表述如何构建。您需要确定业务逻辑所在的位置:可以置于应用程序服务器的 EJB 等组件中,也可以置于使用 VB 或 PowerBuilder 等语言、作为客户端应用程序一部分的类或组件中,或者做为触发器和过程内置于关系数据库中。您需要根据需求做出一些选择,包括扩展性、安全、性能和可访问 性等方面。 

UML 类图和组件图将用于定义详细的技术系统静态结构。 

类图 (The Class Diagram) 

UML 类图、业务逻辑和所有支持结构一同被用于定义全部的代码结构。既然类图用来模拟开发中所维护的实际代码,显然它是 Java 或 PowerBuilder 等对象语言的概括性表述。您还可以使用 UML 类图来概括 XML 中的复杂结构,令其更易于开发和理解。 

可 以从 UML 类图上生成代码。还可以在开发过程中编辑该代码以完善、测试和部署最终运行的应用程序。由于 PowerDesigner 在对象语言和 UML 类图之间具有 1:1 的映射功能,您还可以实施反向工程代码,读取源文件并创建新的类图。您可以更深入地理解现有系统并简化集成和维护工作。 

组件图(The Component Diagram) 

UML 组件图将被用于在更大的黑匣视图(Black Box View)中描述高级对象的定义和相关性。它仍然是一个设计模型,并且是代码的直接概括。例如,一个 EJB 的组件标识直接链接到实施所必需的一系列类和接口,并将生成所需代码来推动最终 bean 的开发。 

组件图比组件体系结构的代码层视图更容易理解和管理。还可以通过编写组件接口的文档来实现代码的共享和反复使用,用户无需(或很少)了解组件的实施细节即可在其他项目和系统中使用这些代码。 

右击Customer EntityBean_CMP,选择Create/Update Class Diagram,生成如下class diagram: 

循环叠代工程 

世 界不是一成不变的,您的 IT 项目也如此。在您了解需求,通过分析进行了设计,并构建了系统的某些元素后,必然还会遇到新的变化,如要更新定义,又或者现有用例图中存在某些需要改正的 错误,代码在 IDE 和文本编辑器中被编辑以及数据库被DBA 优化等。必须管理和掌握所有需要更改的细节,以确保所构建的系统能够与业务需求保持一致。 

往返工程的一个方案是当代码在开发过程中被更改时,需要在类图中反映出来。具体细节如下: 

1. 创建类图并将业务逻辑元素添加到模型中 

2. 生成文件系统的应用程序代码 

3. 在 IDE 或文本编辑器中编辑代码 

4. 编辑设计,此时忽略在生成的代码中所发生的更改 

5. 对编辑内容实施反向工程,直到与现有类图一致 

6. 将设计过程中完成的工作与开发时编辑的内容同步(合并) 

7. 生成新代码,该代码是设计代码和开发人员更改代码的总和 

当对类图进行了修改以反映新的设计内容时,应该使用同步/合并技术防止丢失开发人员的工作成果,同时允许设计人员接受或拒绝开发过程中所做的更改。这样,PowerDesigner 令 IT 能够完全控制体系结构,这正是制胜的关键。 

PowerDesigner 的功能并不是仅限于此!现在设计模型已被更新,您可以将这些更改链接到分析中。有可能您在分析中发现了新的需求,可以将这一更改反映到设计中并编写代码。 使用 PowerDesigner 中领先的 Compare/Merge 技术(在 September Blueprint 中讨论过),您可以在开发周期的所有模型和阶段中获得真正的往返同步。 

PowerDesigner UML 建模简介

[收藏此页] [打印]

作者:David Dichmann  2007-08-28 

内容导航:

对象图 

第1页: 引言 第2页: 对象图 

对象图(Object Diagram) 

    与类图一样,对象图也是一个 UML 静态结构图;它定义了系统在给定时刻具有的物理元素,而没有具体考虑系统的动态活动。它与代码一一对应,但与类图不同,我们现在讨论的是具体的分类器,而不是分类器定义。将对象图描述为类实例图可能最为合适。 

对象图的主要用途是进行分析。类图中无法表示的类之间存在不确定的约束。我们将使用对象图来记录这些约束。而且,在我们查看所管理的具体类实例示例以阐明这些元素之间的交互作用关系时,对象图还允许我们定义具体的“What if”场景。 

以 下内容适用于 OO 建模的初学者:分类器是抽象的对象结构定义。分类器可以告诉我们所管理的是什么类型的数据(属性/成员表示数据元素)以及该分类器具有什么能力(操作/方 法表示对象的行为)。实例是具体的分类器示例。假定定义一个名为 Customer 的类,该类具有 Name 属性。类 Customer 的实例“Jane Doe”是姓名恰为“Jane Doe”的客户。实例通常具有比分类器更丰富的含义,这是因为分类器表示某种级别的概述。收集某个分类器的若干个实例或示例可能有助于您理解其用途并更好 地使用它。 

因此,对象图是类图的具体形式,表示类实例样本,并且显示了键值和关系。例如,CustomerBean 类具有以下客户实例:该客户的 ID 为 52271,姓名为“John Doe”。该客户实例与三个订单实例(三份订单)相关,订单编号分别为122047、122103 和 122399。 

协作图(Collaboration Diagram) 

    协作图和序列图非常相似。实际上,序列图和协作图可以有效地交替使用,并可以简便的相互转换。其区别在于用户阅读和理解的方式不同。序列图具有很好的层次 性,并且围绕时间构造。协作图则主要是围绕对象结构构造。通过在图中对消息进行编号可以表示消息的顺序。采用这种方式时,即使图的结构不是基于时间的,也 将保持定时关系。 

协作图借助于系统中元素或对象之间的交互作用,表示系统的动态方面,即在一段时间内的表现方式。它通过表示系统的静态结构来对类图和对象图进行补充,但不是借助于基于结构的关系,而是在系统对象之间传递交互作用“消息”。 

构造协作图时还可以在概念级测试静态模型。在类图中定义了类实例,这些类实例之间的交互作用定义了一个具体的使用方案以及将在这些元素之间发生的内部通讯。我们还可以使用其他角色来表示系统的外部作用者和内部使用者,如用例图。 

例 如,我们可以建立一个订单输入系统,以供客户和销售代表使用。客户通过创建新订单与该系统交互作用。订单对象与销售对象之间进行对话,该对话由链接消息表 示,在此情况下,只有两个消息:一个是来自 Orders 类的订单请求,一个是来自 Sales 类的订单确认。对一个链接上的消息数量没有。我们在此讨论的对话以一个订单请求开始,然后是对该订单的确认。 

适用性 

    协作图对于设计人员尤其重要,因为它阐明了对象的作用。您可以在序列图之前构造协作图(如果您计划构造这两个图),但通常是在完成类图之后构造协作图以说 明从类中导出的对象之间的交互作用。可以使用一个或多个协作图来实现一个用例,或者将复杂行为分割成多个逻辑子行为。 

状态图(Statechart Diagram) 

    状态图(也称为状态机)描述了特定类或组件在其整个生命周期中不断变化时的行为。该图显示是什么触发了从一种状态向另一种状态的转换,以及在该类上调用哪 些操作以提供该状态的行为或触发这种转换。例如,订单在被创建时处于初始状态。在客户确认订单正确后,订单将进入确认状态。在发货以后,订单需要从确认状 态进入发货状态。 

因 此,每当一个类在其生命周期的不同阶段具有不同的可用选项(不同的有效行为)时,您都可以使用状态图来将这些规则和条件建模。生命周期中的每个阶段都是该 对象的一种状态,而每个改变状态的触发器都代表从一种状态到另一种状态的转换。可以根据需要从某个状态转换到任意多个其它状态,也可以从其它多个状态进入 某个状态。 

子状态图 

    若要保持状态图简单和易读,您可能发现所定义的一个或多个状态实际上涉及到更为复杂的行为,以至于它本身就可以定义为一个状态图。此时,与向主图中添加大 量复杂细节的做法相比,更好的做法是将这个单独的状态分解为多个子状态,进而组成一个辅助图,以定义父状态的更为复杂的内部行为。 

部署图(Deployment Diagram)

    部署图可以帮助我们确定所有代码元素在服务器、工作站和数据库中的存放位置。有的节点需要依赖硬件或软件框来运行部分业务逻辑。这些节点交互作用以演示我 们开发的多个计算机和系统是如何交互作用和集成的。节点中包含将部署到数据库、应用程序或 Web 服务器中的组件实例。 

部署图用于将组件实际部署到服务器中。通过定义希望组件运行的位置,我们可以快捷的映射、部署和管理分布在客户端应用程序和应用程序服务器端组件之间的业务逻辑或数据库端服务器逻辑。以下是要管理的物理体系结构的 1:1 模型。 

例 如,假定我们已决定实现两个 Enterprise Java Beans,并且在应用程序服务器上运行它们。下图显示了单个节点以及该节点内的两个组件(每个 EJB 一个组件)。我们可以看出 EmployeeBean 依赖于同一应用程序服务器内的 CustomerBean。 

结论 

    在我们借助用例图、序列图、活动图、类图和组件图完成基本 UML 建模时,我们将需要其它一些工具来定义有关系统中某些特定元素的详细信息。我们可能希望在对象图中使用精确的示例来表示对象的结构,或者借助于状态图来更 多地了解在其内部具有多个复杂状态的类的行为。我们需要使用协作图从结构角度而不是从时间角度来考察系统组件之间的交互作用。最后,还需要使用部署图来显 示所有系统组件在运行环境中的物理硬件或服务器中所处的位置,从而更详尽的了解分布式体系结构的使用方式。 

UML 为我们提供了更加实用的图表,以便完成对业务逻辑的技术分析、设计、开发、或部署。将这 9 种图表与传统的数据建模方法和新的业务流程建模方法相结合,我们可以在从高级需求到技术和数据需求,以及物理实现的各个方面来全面了解推动软件开发的所有因素 

POWERDESIGNER通用特性

[收藏此页] [打印]

作者:佚名  2007-08-29 

内容导航:

第1页 

第1页: 第1页 

【IT168 技术文档】 

    Sybase PowerDesigner是一个“一站式”的企业级建模及设计解决方案,它能帮助企业快速高效地进行企业应用系统构建及再工程(Re- engineer)。 IT专业人员可以利用它来有效开发各种解决方案,从定义业务需求到分析和设计,以至集成所有现代 RDBMS 和Java™、.NET、PowerBuilder®和 Web Services的开发等。PowerDesigner是结合了下列几种标准建模技术的一款独具特色的建模工具集:业务流程建模、通过 UML 进行的应用程序建模以及市场占有率第一的数据建模,这些建模技术都是由功能强大的元数据管理解决方案提供支持的. 

POWERDESIGNER通用特性 

  需求管理:PowerDesigner可以把需求定义转化成任意数量的分析及设计模型,并记录需求及所有分析及设计模型的改动历史,保持对它们的跟踪。Microsoft®Word®导入/导出功能使业务用户能轻易处理流程工作。 

  文档生成:PowerDesigner提供了Wizard向导协助建立多模型的RTF和HTML格式的文档报表。项目团队中非建模成员同样可以了解模型信息,增强整个团队的沟通。 

  影响度分析:PowerDesigner模型之间采用了独特的链接与同步技术进行全面集成,支持企业级或项目级的全面影响度分析。从业务过程模型、UML面向对象模型到数据模型都支持该技术,大大提高了整个组织的应变能力。 

  数据映射:PowerDesigner提供了拖放方式的可视化映射工具,方便、快速及准确地记录数据依赖关系。在任何数据和数据模型、数据与UML面向对象模型以及数据与XML模型之间建立支持影响度分析的完整的映射定义、生成持久化代码以及数据仓库ETL文件。 

  开放性支持:PowerDesigner 支持所有主流开发平台:支持超过 60 种(版本)关系数据库管理系统,包括最新的Oracle®、IBM®、Microsoft、Sybase、NCR Teradata、MySQL等,支持各种主流应用程序开发平台,如 Java J2EE、Microsoft .NET™(C#和 VB.NET)、Web Services 和 PowerBuilder®,支持所有主流应用服务器和流程执行语言,如 ebXML 和 BPEL4WS 等。 

  可自定义:PowerDesigner支持从用户界面到建模行为以及代码生成的 客户化定制。支持用于模型驱动开发的自定义转换,包括:对 UML 配置文件的高级支持、可自定义菜单和工具栏、通过脚本语言实现自动模型转化、通过 COM API 和 DDL 实现访问功能以及通过模板和脚本代码生成器生成代码。 

  企业知识库:PowerDesigner 的企业知识库是存储在关系数据库中的完全集成的设计时知识库,具有高度的可扩展性,便于远程用户使用。该知识库提供以下功能:基于角色的模型和子模型访问 控制,版本控制和配置管理、模型与版本的变更报告以及全面的知识库搜索功能。PowerDesigner 的知识库还可以存储和管理任何文档,包括 Microsoft® Office® 和 Project 文件、图像和其他类型的文档。 

PowerDesigner杂记

[收藏此页] [打印]

作者:佚名  2007-08-31 

内容导航:

第1页 

第1页: 第1页 

【IT168 技术文档】

数据库设计工具对比 

PowerDesign:PowerDesign 是 Sybase推出的主打数据库设计工具。PowerDesign致力于采用基于Entiry-Relation的数据模型,分别从概念数据模型 (Conceptual Data Model)和物理数据模型(Physical Data Model)两个层次对数据库进行设计。概念数据模型描述的是于数据库管理系统(DBMS)的实体定义和实体关系定义。物理数据模型是在概念数据模型 的基础上针对目标数据库管理系统的具体化。 

ERWin:这个是CA公司的拳头产品,它有一个兄弟是BPWin,这个是CASE工具的 一个里程碑似的产品。ERWin界面相当简洁漂亮,也是采用ER模型,如果你是开发中小型数据库,极力推荐ERWin,它的Diagram给人的感觉十分 清晰。在一个实体中,不同的属性类型采用可定制的图标显示,实体与实体的关系也一目了然。ERWin不适合非常大的数据库的设计,因为它对 Diagram欠缺更多层次的组织。 

如何一次性将表结构的脚本导出来? 

Database --->Generate Database ---> Genarate Script 就可实现。 

Name用中文英文以便查询、写程序的时候方便, Code才是最终产生的Table Name 

PowerDesigner中建了模型,如何把它作为文档导出? 

利用REPORT。选择一个模板,然后就生成了RTF或是HTM格式的文档 

如何将已经存在的数据库所有表,导入到PowerDesign中? 

用PD里的反向工程file--->reverse engineering ===> and go on 

概念数据模型(CDM) 

CDM表现数据库的全部逻辑的结构,与任何的软件或数据储藏结构无关。一个概念模型经常包括在物理数据库中仍然不实现的数据对象。它给运行计划或业务活动的数据一个正式表现方式。不考虑物理实现细节,只考虑实体之间的关系。 

物理数据模型 (PDM) 

PDM叙述数据库的物理实现。主要目的是把CDM中建立的现实世界模型生成特定的DBMS脚本,产生数据库中保存信息的储存结构,保证数据在数据库中的完整性和一致性。 

面向对象模型 (OOM) 

一个OOM包含一系列包,类,接口和他们的关系。这些对象一起形成所有的(或部份)一个软件系统的逻辑的设计视图的类结构。一个OOM本质上是软件系统的一个静态的概念模型。 

业务程序模型(BPM) 

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

正向工程 

你能直接地从PDM产生一个数据库, 或产生一个能在你的数据库管理系统环境中运行的数据库脚本。可以生成数据库脚本,如果选择ODBC方式,则可以直接连接到数据库,从而直接产生数据库表以及其他数据库对象。 

逆向工程 

将已存在的数据库产生进新的PDM 之内。数据来源可能是从脚本文件或一个开放数据库连接数据来源。 

并不是每个设计都需要用到Power Designer。 例如:小的系统,或Table数比较少的情况下就没有必要采用Power Designer了。 

PowerDesigner仅仅是实现的工具 

不要以为Power能帮你把关系什么的全部建立好,很多数据库理论只是还是需要的,设计数据库的时候,那些范式什么的,一定要掌握。 

设计一个好的数据库,最好的工具不是必须的,但是基础理论是一定要的。 

PowerDesigner用途不局限于数据建模 

还可以用PowerDweigner设计web service 

并不是每个设计都需要用到PD 

用 Powerdesigner对付比较大型的项目,是很好的,对于短平快类型的项目,如果时间要求你1个星期完成一个程序,那么完全没有必要用 PowerDesigner,直接维护数据库就可以了,当表的数量超过10个(一个小系统的表在10个左右)的时候,建议还是用用 Powerdesigner 。 

我的看法:如果想做成一个比较规范的数据库,小项目也可以用。毕竟生成报表和正反向工程很有用。 

零碎 

PD中的CDM设计时,可以将所有需要的字段都定义好。然后在设计实体是直接取出来。PD提供了这样的统一管理的工具。在PD菜单栏-Model-Data Item下。 

为了使自己设计的CDM看起来象样一点,可以从工具栏中,拖动一个Title。其显示的信息,是当前CDM的属性值。 

为了使实体等Symbol看起来显眼和舒服。可以根据个人喜好进行外观上的调整。当前设计界面中,右键-Display Perferences中进行设置。还可以增加shadow效果。选中Symbol后,Ctrl+W。或者右键菜单。 

为了使布局整齐。选中需要调整的Symbol后,菜单-Symbol-Align进行设置。快捷键:ctrl+UP,ctrl+Down,ctrl+Left,ctrl+Right即为上下左右对齐。 

设计实体属性时注意的细节:M:表示强制非空;P:是否为主键;D:是否在模型中显示。gerenate:表示是否作为表生成。 

默认情况下,CDM的实体会显示Identifier一栏。如果不想其显示出来,在右键-Display Perferences中ObjectView-Entity中设置。 

关系的命名方法是:实体名1 实体名2。 

关系中的角色(Role)表示联系线上一个方向上的含义。用一个动词来描述。Role只是起一个描述作用。 

依 赖(Dependency):表示在联系中一个实体的存在是否依赖于另一个实体。寄生实体(Dependent Entity)是一种部分地被另一实体确定的实体。在依赖联系中,一个实体与另一实体通过标识符相联系,当一个实体的存在没有另一个实体的存在作为参考就 不能唯一确定时,两个实体间就存在依赖联系。 

主从表就是典型的依赖关系。 

中间实体(Associative Entity):是为了解决多对多联系而产生的一个人工实体,能够为中间实体定义属性。用鼠标右键单击多对多联系线,在弹出的菜单中选择“Change to entity”,能够把这个联系转换成连接两个实体的中间实体。 

善于利用自动生成的中间实体,可以简化设计工作,提高数据库设计的正确性。 

中间实体一般不用再加入新的字段。 

牢记:外键是通过关系Relationship自动来建立的,不需要手动建立。不然会产生多余的键。所以设计时,关注实体本身的字段,以及实体间的关系,特别是多对多和依赖关系。 

从CDM到PDM的转换需要注意: 

不能改变Diagram的名称 

在树状图中,如果钩选红色标出的Symbol表示覆盖修改,不钩选表示保护修改。 

数据库为了保证数据完整性和一致性,提出了约束。即表约束,列约束以及参照完整性约束。通常数据库设计和程序开发不是绝对的分离的。所以前两者在实际开发过程中逐渐的完善。需要注意的还是参照完整性约束。 

在PD中前两者的设定是对字段,后者是对关系。 

参照完整性约束 

(Restrict)。不允许进行修改或删除操作。若修改或删除主表的主键时,如果子表中存在子记录,系统将产生一个错误提示。这是缺省的参照完整性设置。 

置空(Set Null)。如果外键列允许为空,若修改或删除主表的主键时,把子表中参照的外键列设置为空值(NULL)。 

置为缺省(Set Default)。如果指定了缺省值,若修改或删除主表的主键时,把子表中参照的外键设置为缺省值(Default)。 

级联(Cascade)。把主表中主键修改为一个新的值时,相应修改子表中外键的值;或者删除主表中主键的记录时,要相应删除子表中外键的记录。 

注意理解以上的约束时,抓住操作的都是主表。子表的操作都是相对主表来说的。操作方式就是Update和Delete。 

引用基础数据表的数据时,可以建立对应的视图。选中需要作为视图的表,菜单栏-Tools-Create View 

PD支持对已有数据的表更新表结构。不过需要谨慎操作,检查生成的SQL脚本。 

PD也可以生成随机的测试数据。 

触发器就是DBMS中提供的事件驱动机制。发生在表的Insert,Update和Delete。执行SQL语句或存储过程。 

在PD中可以完成存储过程的编写,也便于管理。 

逆向工程可以通过数据库脚本或者通过ODBC数据源来实现。 

powerdesigner初学者必看

[收藏此页] [打印]

作者:佚名  2007-08-31 

内容导航:

PowerDesigner的模块组成 

第1页: PowerDesigner的模块组成 第2页: 处理分析模型(PAM)简介 

【IT168 技术文档】

PowerDesigner的模块组成 

PowerDesigner作为图形化的数据库模型设计工具软件,其集成特性灵活,采取模块化设计,共由以下六个模块组成: 

1、ProcessAnalyst:用于系统的需求分析,可用于设计和构造数据流图(DFD)和数据字典。它支持多种处理建模方法,用户可以选择适合自己应用环境的建模方法来描述系统的数据及对数据的处理。 

2、 DataArchitect:用于对概念层和物理层的交互式数据库设计和构造。使用DataArchitect可以很方便地设计数据库的概念模型并对该 DBMS自动生成物理模型。该模块还提供高质量的文档生成能力和逆向工程能力,可从现有的数据库中得到其物理模型和概念模型,并生成相应文档。 

3、AppModeler:应用建模工具,用于物理建模和应用对象及数据组件的生成。 

4、MetaWorks:用于团队开发、信息共享和模型管理。 

5、WarehouseArchitect:用于数据仓库和数据集的建模和实现。 

6、Viewer:用于以只读的、图形化方式访问整个企业的模型信息。 

在本课程的学习中,只需要掌握ProcessAnalyst模块和DataArchitect模块的应用,对其余模块只做简单的了解。 

PowerDesigner的模型和对象特性 

PowerDesigner 6.0的模型共有四种: 

1、PAM:由ProcessAnalyst模块生成的处理分析模型。 

2、CDM:由DataArchitect模块生成的概念模型。 

3、PDM:由DataArchitect模块生成的物理模型。 

4、WAM:由WarehouseArchitect模块生成的数据仓库模型。 

PowerDesigner是将一个大型应用程序分成若干项目,每个项目可以包括模型,每个模型还可以包括若干个子模型。 

PowerDesigner的对象特征 

PowerDesigner 中的对象包括项目、模型、子模型以及它们的各自属性。PowerDesigner通过对这些属性的设置来描述其对象的特征,这些属性称之为对象的特性。一般情况下,对象的所有特性中只有名称和代码需要用户设置。 

ProcessAnalyst概述 

ProcessAnalyst是在数据库系统设计的需求分析阶段中,用于设计信息系统处理分析模型PAM的模块。PAM的主要组成部分是数据流图(描述信息系统中所用到的基本数据及其处理分析过程), 

需求分析的目标: 

1、对要处理的对象进行详细的调查,了解用户对数据库的信息要求、处理要求和安全性完整性要求。 

2、收集支持系统目标的数据并处理。 

3、对新系统各种方案和设想进行研究、分析和比较,选择优化的处理模型。 

在 设计新系统的处理模型主要包括:数据流图、数据字典和处理逻辑表达工具等。本课程要求熟练使用PowerDesigner设计数据流图。数据流图是系统处 理模型的主要组成部分,它只在模型上精确描述系统中数据和处理的关系,并详细描述系统的功能、输入、输出、数据存储等。而数据字典则是对数据的详细描述, 是各类数据属性的清单。 

结构化系统分析和设计技术(SADT): 

结构化系统分析和设计技术是构造数据流图的理论基础,它是一种功能和数据的分析、分解的技术。SADT的中心问题是:将功能逐层分解为多个子功能,并在分解的同时进行相应的数据分析和分解。 

系统功能的分解及其分解细化程度取决于对系统功能的理解,因此对系统功能的理解程度不同可以导致功能分解的结果不同。要注意在功能分解的同时伴随相应数据的分析和分解。 

数据流程图的设计采取自上而下的方法,首先将整个系统作为一个功能绘制顶层图,然后逐级细化,分解为多层次的数据流图。 

顶层图可以采取固定的模式: 

过程/数据类分析法: 

过程和数据类关系:生成(Creat)、使用(Use)和无关系。 

ProcessAnalyst中过程与数据关系:创建(Creat)、插入(Insert)、更新(Update)、删除(Delete)和无关系。 

U/C矩阵:建立一表,第一横栏为过程名,第一竖栏为数据类名,内部是过程与数据类关系。 

CIUD矩阵:如同U/C矩阵。可用于描述过程与数据项的关系,也可用于描述过程与数据存储的关系。见课本P105表3-1。 

要确定过程与过程之间的关系应先确定过程与数据类之间的关系。 

ProcessAnlyst的基本功能 

通过建立处理分析模型PAM帮助系统分析人员收集数据、编写数据字典,并绘制数据流图。具体还包含以下几个方面: 

(1)建立功能模型(OMT)和数据流图; 

(2)建立层次型的处理模型; 

(3)定制和打印模型文档; 

(4)从概念数据模型(CDM)中引入数据项; 

(5)应用OLE技术链接和嵌入其他应用中的对象。 

powerdesigner初学者必看

[收藏此页] [打印]

作者:佚名  2007-08-31 

内容导航:

处理分析模型(PAM)简介 

第1页: PowerDesigner的模块组成 第2页: 处理分析模型(PAM)简介 

处理分析模型(PAM)简介 

PAM是对系统进行功能分析的处理分析模型。它定义了各系统元素(包括数据和处理过程)的静态组成,以简洁的符号表示系统各元素之间的动态联系,并描述系统对数据的转换和处理功能。可以采用PAM建立树状的层次结构模型。 

(1)PAM的对象 

数据项:对信息的最基本的描述元素 

外部实体:从系统中接受数据或者把数据传送到系统的对象 

处理过程:数据的转换处理 

数据流:在处理过程、外部实体和数据存储间传送数据的流 

数据存储:模型中存储的要处理的数据 

DataArchitect概述 

    DataArchitect是一种数据库设计工具,主要用于进行概念数据模型(CDM)和物理数据模型(PDM)的设计及其相互转换与维护。其中,概念数 据模型就是E-R图(实体-关系图),将现实的应用抽象为实体与实体之间的联系。CDM的具体对象包括域(Domain)、数据项(Data Item)、实体(Entity)、实体属性、和继承链(inheritance link)等。而物理数据模型则针对某中DBMS定义物理层次上的各类数据对象(包括表、域、列、参照、码、索引、视图、扩展属性和检查参数等)。 

DataArchitect的功能 

用E-R图为信息系统建模(CDM)。 

在物理层次上建模:基于某一DBMS生成相应的物理数据模型(PDM)。 

对物理数据模型维护:定制PDM以满足物理上和性能上的要求。 

为目标DBMS生成一个数据库创建脚本。 

生成完整性触发器。 

定制和打印模型报告,生成CDM和PDM的设计文档。 

从现有数据库和应用进行逆向工程,对CDM和PDM进行维护。 

为PDM的对象定义扩展属性。 

DataArchitect的概念数据模型CDM 

(1)CDM的基本概念 

CDM:信息系统的概念设计工具,即实体-联系图(E-R图),CDM就是以其自身方式来描述E-R图。此时不考虑物理实现的细节,只表示数据库的整体逻辑结构,于任何软件和数据存储结构。如下列职员和项目两实体的E-R图: 

(2)CDM的定义 

1、通过设置模型特性定义对CDM的某些特定要求,打开Model Options对话框,设置CDM选项: 

1)Enforce:不允许属性值偏离某些域(包括Data type、check、rules) 

2)Default data type:域和属性的缺省数据类型 

3)Data item unique:设置数据项是否有唯一码 

4)Allow reuse:设置是否允许数据项作为多个实体的属性 

5)Default add option:当作为实体属性加入数据项时,指明是重用还是复制该数据项 

6)Relation unique code:设置联系是否有唯一码 

7)Confirm delete:删除整个数据对象还是只删除其符号 

2、通过设置模型特性定义CDM的说明信息 

打开Model properties对话框,设置CDM说明信息: 

包括项目名和项目代码、模型名和模型代码、标签、设计人、版本号、创建时间、修改时间等。对模型的信息说明可增强模型的可读性。 

(3)CDM的建立 

建立CDM的过程就是对信息系统进行概念层次上的抽象和表达的过程,用CDM的各种对象来描述信息系统内部的实体之间的关系。 

建立CDM的步骤: 

1)为CDM定义域(Domain):包括设置所建域的域名、数据类型、长度、精度和扩展选项等。 

2)定义数据项:指定数据项名、代码、选择域(或指定数据类型、长度、精度)等。 

3)定义实体:打开List of Entities对话框建立相关实体 

4)定义实体属性:包括设置实体名称、代码、规则等,并为所建立的实体引入相关的数据项。 

5)定义联系:在相关实体之间建立联系,同时设置所建联系的属性(包括联系名、设置一对多、多对多等可选联系等)。 

6)建立子模型:首先应确定所建CDM应划分成几个子模型,再对各子模型加入相应的各个实体。 

7)定义继承:使用继承连接建立实体间继承关系,并设置继承属性(包括继承名称、代码、设置继承方向等)。 

8)定义检查参数并检查所建立的CDM。 

(4)从PDM生成CDM 

从PDM生成CDM是逆向工程的一种,因此需要根据物理层次上的改动对概念层次上的模型进行相应的修改。PDM和CDM中的对象之间的对应关系如下表: 

PDM中的对象

CDM中的对象 

表(Table)

 实体(Entity) 

表中的列(Table column)

实体属性(Entity attribute) 

主码或外码(Primary or Foreign key)

标识符 

 参照(Reference)

一对多联系 

 连接表(Join table)

多对多联系 

DataArchitect的物理数据模型PDM 

(1)PDM的基本概念 

PDM考虑了数据库的物理实现,包括软件和数据存储结构。 

PDM的对象:表(Table)、表中的列(Table column)、主码和外码(Primary & Foreign key)、参照(Reference)、索引(Index)、视图(View)等。 

PDM的功能: 

用图形的形式表示数据的物理组织 

生成数据库的创建和修改脚本 

定义完整性触发器和约束 

生成扩展属性 

从已存在的数据库进行逆向工程 

(2)PDM的定义 

1、通过设置模型特性定义对CDM的某些特定要求 打开Model Options对话框,设置PDM选项: 

1)Enforce:不允许属性值偏离某些域(包括Data type、check、rules、Mandatory、Extended) 

2)Default data type:域和列的缺省数据类型 

3)Unique code:设置是否参照唯一码 

4)Auto-migrate FK:设置是否自动移除外码 

5)Confirm delete:删除整个数据字典中相关联的数据对象还是只删除其符号 

2、通过设置模型特性定义PDM的说明信息 

打开Model properties对话框,设置PDM说明信息。 

(3)PDM的建立 

1)建立表(Table):包括设置所建域的域名、数据类型、长度、精度和扩展选项等。 

2)定义域:指定数据项名、代码、选择域(或指定数据类型、长度、精度)等。 

3)定义列:打开List of Entities对话框建立相关实体 

4)定义参照:包括设置实体名称、代码、规则等,并为所建立的实体引入相关的数据项。 

5)定义码:在相关实体之间建立联系,同时设置所建联系的属性(包括联系名、设置一对多、多对多等可选联系等)。 

6)定义索引:首先应确定所建CDM应划分成几个子模型,再对各子模型加入相应的各个实体。 

7)定义视图:使用继承连接建立实体间继承关系,并设置继承属性(包括继承名称、代码、设置继承方向等)。 

8)定义扩展属性: 

9)定义触发器: 

10)PDM的检查 

建立PAM模型的基本步骤 

(1)建立一个新的PAM模型框架。 

(2)输入所建模型特性并为模型设置选项。打开“Process Model Properties”对话框,设置PAM模型特性(包括项目名称、代码、作者、日期、版本号和相关辅助说明等)。 

(3)对根处理模型建立相关对象: 

建立并定义处理过程:使用Process工具建立新的处理过程,编辑所建处理过程的名称、代码等特性。 

建立并定义外部实体:使用Extern entity工具建立新的外部实体,并设置相关特性。 

在对象之间建立数据流:使用Flow工具联系相关的对象,设置数据流特性。

(4)分解根处理模型: 

对处理过程进行分解:使用Decomposition工具选择相关处理过程,出现处理的子处理窗口,在子处理窗口中建立新的对象,重新定义数据流。 

按需要建立相关的控制流:使用Flow工具在相关对象间建立数据流,编辑特性,将数据流类型改为控制流。 

按需要继续对处理过程进行分解,重复上述两步。

(5)建立数据项和域 

建立数据项:打开数据项列表,加入项目相关的数据项,并设置数据项的类型、长度、精度等(或直接加入数据项所属域)。 

建立域:打开域列表,加入项目相关的域,并设置域的类型、长度、精度等。 

为数据项设置检查参数:对相关数据项规定数据有效范围、单位等。

(6)为数据流加入数据项 

直模型顶层开始为数据流加入相应的数据项:返回根处理,为相应的数据流选择相关的数据项。 

做下一层分解,在子处理窗口中为数据流加入相关数据项。

(7)排序数据项 

建立数据存储:使用Data store工具建立数据存储,设置数据存储特性(包括名称、代码等)。 

建立对象创建流:使用Data flow工具在处理过程与数据存储间创建数据流,并设置数据流特性,将其数据流类型设置为"Object Creation"。 

将数据项存储到数据存储中:打开"Model Options"对话框,在"Data stores"中选择"Auto fill"(使数据流中的数据项自动存储到数据存储中);为对象创建流加入相关数据项。 

把数据存储与模型其它部分连接起来:使用"Flow"工具在数据存储与其它相关对象间建立数据流,并为所建的数据流加入相关的数据项。 

将最底层的处理过程通过其特性设置为最底层(选中"Lowest level")。 

检查模型:使用功能键F4执行检查。

(8)调整显示 

增加标题框:在根处理模型中选择Edit->Add Title,加入标题框,设置标题属性。 

改变窗口颜色:选择Window->Window Color,改变颜色。 

排列符号。 

调整数据流显示。 

显示相关文本:可以通过选择File->Display Preference打开显示参数设置对话框,选中contents以显示数据项。 

1

Oracle导出数据库结构到PowerDesigner

[收藏此页] [打印]

作者:佚名  2007-08-29 

内容导航:

第1页 

第1页: 第1页 

【IT168 技术文档】

操作步骤: 

    打开PowerDesigner-》菜单栏“Database”-》Database Reverse Engineering-》Using an ODBC data source中选择右边的浏览-》connect to an ODBC Data Source-》在Machine data source中选择你配置好的数据源。 

(注:如果第一次连接,需要先配置数据源,步骤如下:点击“Add”按钮, 

-》ODBC数据源管理器-》点击“添加”按钮-》创建新数据源-》选择“Oracle in OraHome92” -》完成。 

-》进入“Oracle ODBC Driver Configuration”-》配置数据源名称(Data Source Name)以及(TNS Service Name)-》配置完成后点击右边的“Test Connection”。 

-》在弹出框里输入连接数据库的用户名和密码-》点击OK-》提示Connection successful-》OK-》数据源配置成功。 

-》退出数据源配置后,在数据源连接对话框中(Connect to an ODBC Data Source)中选择好刚才配置的数据源,然后再次填写用户名和密码。 

-》点击connect,就可连接到数据库上。) 下载本文

显示全文
专题