PowerDesigner教程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库建模工具PowerDesigner简介工具如下图:
PowerDesigner系列产品提供了一个完整的建模解决方案,业务或系统分析人员,设计人员,数据库管理员DBA和开发人员可以对其裁剪以满足他们的特定的需要;而其模块化的结构为购买和扩展提供了极大的灵活性,从而使开发单位可以根据其项目的规模和范围来使用他们所需要的工具。
PowerDesigner灵活的分析和设计特性允许使用一种结构化的方法有效地创建数据库或数据仓库,而不要求严格遵循一个特定的方法学。
PowerDesigner提供了直观的符号表示,使数据库的创建更加容易,并使项目组内的交流和通讯标准化,同时能更加简单地向非技术人员展示数据库和应用的设计。
PowerDesigner不仅加速了开发的过程,也向最终用户提供了管理和访问项目的信息的一个有效的结构。
它允许设计人员不仅创建和管理数据的结构,而且开发和利用数据的结构针对领先的开发工具环境快速地生成应用对象和数据敏感的组件。
开发人员可以使用同样的物理数据模型查看数据库的结构和整理文
档,以及生成应用对象和在开发过程中使用的组件。
应用对象生成有助于在整个开发生命周期提供更多的控制和更高的生产率。
PowerDesigner是一个功能强大而使用简单工具集,提供了一个复杂的交互环境,支持开发生命周期的所有阶段,从处理流程建模到对象和组件的生成。
PowerDesigner产生的模型和应用可以不断地增长,适应并随着你的组织的变化而变化。
PowerDesigner包含六个紧密集成的模块,允许个人和开发组的成员以合算的方式最好地满足他们的需要。
这六个模块是:
PowerDesigner ProcessAnalyst,用于数据发现。
PowerDesigner DataArchitect,用于双层,交互式的数据库设计和构造。
PowerDesigner AppModeler,用于物理建模和应用对象及数据敏感组件的生成。
PowerDesigner MetaWorks,用于高级的团队开发,信息的共享和模型的管理。
PowerDesigner WarehouseArchitect,用于数据仓库的设计和实现。
PowerDesigner Viewer,用于以只读的、图形化方式访问整个企业的模型信息。
下面详细介绍PowerDesigner的六个模块:
PowerDesigner ProcessAnalyst
用于数据分析或"数据发现"。
ProcessAnalyst模型易于建立和维护,并可用在应用开发周期中确保所有参与人员之间顺畅的通讯。
这个工具使用户能够描述复杂的处理模型以反映他们的数据库模型。
通过表示这些在系统中的处理和描述它们交换的数据,使用ProcessAnalyst可以以一种更加自然的方式描述数据项。
PowerDesigner DataArchitect
用于两层的即概念层和物理层数据库设计和数据库构造。
DataArchitect提供概念数据模型设计,自动的物理数据模型生成,非规范化的物理设计,针对多种数据库管理系统(DBMS)的数据库生成,开发工具的支持和高质量的文档特性。
使用其逆向工程能力,设计人员可以得到一个数据库结构的"蓝图"可用于文档和维护数据库或移植到一个不同的DBMS。
PowerDesigner AppModeler
用于物理数据库的设计和应用对象及数据敏感组件的生成。
通过提供完整的物理建模能力和利用那些模型进行开发的能力,AppModeler允许开发人员针对领先的开发环境,包括PowerBuilder,Visual Basic,Delphi2.0和Power++,快速地生成对象和组件。
此外,AppModeler还可以生成用于创建数据驱动的Web站点的组件,使开发人员和设计人员同样可以从一个DBMS发布"动态"的数据。
另外,
AppModeler提供了针对超过30个DBMS和桌面数据库的物理数据库生成,维护和文档生成。
PowerDesigner MetaWorks
通过模型的共享支持高级的团队工作的能力。
这个模块提供了所有模型对象的一个全局的层次结构的浏览视图,以确保贯穿整个开发周期的一致性和稳定性。
MetaWorks提供了用户和组的说明定义以及访问权限的管理,包括模型锁定安全机制。
它还包含MetaBrowser,一个灵活的字典浏览器,用以浏览,创建和更新跨项目的所有模型信息和Powersoft ObjectCycle,一个版本控制系统。
PowerDesigner WarehouseArchitect
用于数据仓库和数据集市的建模和实现。
WarehouseArchitect提供了对传统的DBMS和数据仓库特定的DBMS平台的支持,同时支持维建模特性和高性能索引模式。
WarehouseArchitect允许用户从众多的运行数据库引入(逆向工程)源信息。
WarehouseArchitect维护源和目标信息之间的链接追踪,用于第三方数据抽取和查询及分析工具。
WarehouseArchitect提供了针对所有主要传统DBMS,诸如Sybase,Oracle,Informix,DB2,以及数据仓库特定的DBMS如Red Brick Warehouse和ASIQ的完全的仓库处理支持。
PowerDesigner Viewer
用于以只读的、图形化的方式访问建模和元数据信息。
Viewer提供了对PowerDesigner所有模型信息的只读访问,包括处理、概念,物理和仓库模型。
此外,它还提供了一个图形化的查看模型信息的视图,Viewer提供了完全的跨所有模型的报表和文档功能。
PowerDesigner是最具集成特性的设计工具集,用于创建高度优化和功能强大的数据库,数据仓库和数据敏感的组件。
Sybase PowerDesigner 的新功能和优点包括:
-- 业务价值:
* 冲突分析:简单有效地评价业务或者技术变化带来的冲击,从而得到更好的敏捷性和可预测性。
* 需求管理:缩短项目完成时间并通过更有效的需求获取和规约保证更准确的项目结果。
并通过建立设计和需求的关联保证更好的可追踪性。
* 业务过程分析:通过理解业务和底层应用、数据的关系来设计更好的业务过程。
-- 技术价值:
* 增强的数据建模:支持最新的RDBMS引擎以及数据库中的Web services和XML等最新功能。
* 增强的UML:加入了对J2EE1.4和Web service模式和模版的支持。
* 增强的业务过程模型:为使用该工具设计的过程提供层次视图,并提供更清晰的沟通能力和更好的灵活性。
* 新的信息流动模型:支持复制、数据移动和元数据管理,提供模型驱动的方法设计移动数据库(mobile database)以及和中央数据库(central database)之间的同步定义。
PowerDesigner教程系列(一)概念数据模型
本文主要介绍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教程系列(二)概念数据模型
本文主要介绍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教程系列(三)概念数据模型
本文主要介绍属性的标准检查约束、如何定义属性的附加检查。
一、定义属性的标准检查约束
标准检查约束是一组确保属性有效的表达式。
在实体属性的特性窗口,打开如图所示的检查选项卡。
在这个选项卡可以定义属性的标准检查约束,窗口中每项的参数的含义,如下
二、定义属性的附加检查
当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教程系列(四)概念数据模型
本文主要介绍如何定义实体的主、次标识符。
一、标识符
标识符是实体中一个或多个属性的集合,可用来唯一标识实体中的一个实例。
要强调的是,CDM 中的标识符等价于PDM中的主键或候选键。
每个实体都必须至少有一个标识符。
如果实体只有一个标识符,则它为实体的主标识符。
如果实体有多个标识符,则其中一个被指定为主标识符,其余的标识符就是次标识符了。
二、如何定义主、次标识符
1)选择某个实体双击弹出实体的属性对话框。
在Identifiers选项卡上可以进行实体标识符的定义。
如下图所示
2)选择第一行“主标识符”,点击属性按钮或双击第一行“主标识符”,弹出属性对话框,如图所示
3)选择"Attributes"选项卡,再点击“Add Attributes”工具,弹出如图所示窗口,选择某个属性作为标识符就行了。
PowerDesigner教程系列(五)概念数据模型 CDM(5)
目标:
本文主要介绍数据项、新增数据项、数据项的唯一性代码选项和重用选项等。
一、数据项
数据项(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教程系列(六)概念数据模型 CDM(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”,如图所示。