PowerDesigner学习笔记

备注:文章主要对概念数据模型进行深入分析

1.对各种模型图初步认识

1.1.概念数据模型 (CDM) (Conceptual Data Model)

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

与具体的数据管理系统(Database Management System,简称DBMS)无关。概念数据模型必须换成逻辑数据模型,才能在DBMS中实现。

1.2.逻辑数据模型 (LDM) (Logical Data Model)

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

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

1.3.物理数据模型 (PDM) (Physical Data Model)

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

每一种逻辑数据模型在实现时都有其对应的物理数据模型。DBMS为了保证其独立性与可移植性,大部分物理数据模型的实现工作由系统自动完成,而设计者只设计索引、聚集等特殊结构。

最常用的一种数据库模型,模型是针对某种数据库系统而设计。

1.4.面向对象模型 (OOM) (Objcet Oriented Model)

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

1.5.业务程序模型 (BPM) (Business Process Model)

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

1.6.企业架构模型 (EAM) (Enterprise Architecture Model)

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

2.深入学习概念数据模型图

在PowerDesigner中,定义表关系有三种,分别是:
在这里插入图片描述

补充说明:除此之外,还有一种单个表之间的关系——自反( Reflexive ),Reflexive 使用Relationship图标,

实际上可以理解成∶数据库表的关系有4种。

为了说明各种表定义关系,则创建以下一个概念数据模型图(CDM):
在这里插入图片描述

2.1.关系(Relationship)-重点理解

2.1.1.一对多

2.1.1.1.“—”端的Mandatory (强制)

"—"端是没有Dependent依赖的。

1)选中Mandatory,表示“一”端的每一条记录(班级),都至少有一个“多”端的记录(学生)对应,即,一个班级至少要有一名学生;

2)不选中 Mandatory,表示,一个班级,可以是空班级,可以没有学生(比如招生前夕),也可以有多个学生。

2.1.1.2.“多”端的Mandatory (强制)

Mandatory选项,对一对多关系中“多”的这端,选中和不选中的区别是︰

  1. 创建的SQL语句:选中了,表示“多"端的表中的外键不能为空;没选中,表示“多”端的表中的外键可以为空;

  2. 举例∶选中了,学生必须属于某个班级﹔没选中,表示学生可以暂时不属于任何一个班级(比如降级还没有分班的学生)

2.1.1.3.“多”端的Dependent(依赖)

Dependent(依赖)选项,对一对多关系中“多”的这端,选中和不选中,区别如下︰

SQL语句∶选中,"多”端的外键跟自己的主键一起成为主键﹔否则,外键只是外键,生成的物理模型图是︰

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cgnSo5xW-1693154998102)(PowerDesigner学习笔记.assets/image-20230828002337344.png)]

举例∶选中Dependent,表示:班级的ID传递给学生之后,既是学生表的外键,又跟学生表的学号一起构成学生表的主键﹔

如果没有选中,那班级的ID传递给学生表,仅仅作为学生表的外键。

备注说明:"—"端是没有Dependent依赖的。

2.1.2.多对多

多对多的Dependent和Mandatory的意思跟一对多的意思是一样的。所不同的是,多对多的关系,会在生成物理模型的时候,自动生成一张表,原表和新表之间是两个一对多的关系。

比如︰学生和老师的关系,概念模型是︰
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yjFXdj26-1693154998102)(PowerDesigner学习笔记.assets/image-20230828002942618.png)]
生成物理模型之后,就是︰
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ULmiaAg4-1693154998103)(PowerDesigner学习笔记.assets/image-20230828003006891.png)]

2.1.3.一对一

选择“Dominant role”:一对一的Relationship,最重要的选项是“Dominant(支配义,A“支配”B,表示:A的主键传递给B,但是B的主键不传递给A;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vLeuHdBx-1693154998103)(PowerDesigner学习笔记.assets/image-20230828003555530.png)]

如果不选择“Dominant”,表示,A的主键要传递给B,并且,B的主键也要传递给A。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ceqa59hW-1693154998104)(PowerDesigner学习笔记.assets/image-20230828003613051.png)]
对于一对一中的Mandatory和Dependent,跟一对多的情况一样。

备注:一对一的表间关系,很容易跟继承、关联混淆。

2、继承(Inheritance )

所谓继承,看本文开头部分举的例子,教师和学生都有共同的字段——姓名、性别、年龄——教l师和学生都是“人”,他们的属性是从“人”继承来的。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HvKIQTWB-1693154998104)(PowerDesigner学习笔记.assets/image-20230828004017378.png)]

在概念模型中,子表没有主表的字段,生成物理模型之后,主表的全部字段全部复制到子表中。

3、关联(Association)

Association关系,就是两个实体之间的多对多关系,一般这种情况下会增加一个中间实体,这就是前面“Relationship”中的“一对多”。

此外,在Power Designer中,提供了一个专门的符号来对应,叫做“Association"关联,需要注意的是,“Association”只是为了方便直观地表示这种类型的实体而设置的一个图标,他其实还是实体。

使用一个普通的实体,定义多对多关系,和使用"Association”图标定义多对多关系,两者相比,使用“Association”更方便、直观,使模型更容易理解,并可以减少因不谨慎而可能导致的错误。

下面的是概念模型:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vJr9CILN-1693154998105)(PowerDesigner学习笔记.assets/image-20230828004201834.png)]
生成物理模型之后︰
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CgoXIaS1-1693154998105)(PowerDesigner学习笔记.assets/image-20230828004214186.png)]
需要足以的是,针对Association,PowerDesigner专门提供了一个图标用于设置这种关系︰
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W3bk6vTS-1693154998105)(PowerDesigner学习笔记.assets/image-20230828004257331.png)]

4、自反(Reflexive)

如上图中的领导。领导本身是老师,每个老师都有一个领导。这种关系就是自反关系。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cTfI4FCp-1693154998106)(PowerDesigner学习笔记.assets/image-20230828004453117.png)]

这种关系下,Mandatory、Dependent的设置,跟一对多的Relationship关系是一样的。

5、总结

① —张表跟自己的关系,是Reflexive (自反);

② 一张表的主键和字段全部传递给另一张表,是Inheritance(继承);

③ 一张表只把自己的主键传递给另一张表,是Relationship(关系)和Association(关联),其中,Relationship可以是一对一、一对多、多对多;Association只能是多对多;

④ Mandatory(强制)选项,选中了,表示:一张表的主键传递给另一张表,作为后者的外键,并且不能为空﹔

⑤ Dependent(依赖)选项,选中了,表示:一张表的主键传递给另一张表,作为后者的外键,并且不能为空;并且与它原来的主键,一起构成它的主键;

⑥ Dominant (支配)选项,只针对一对一的情况,选择A“支配”B,表示:A的主键传递给B,但是B的主键不传递给A;如果不选择“Dominant”,表示,A的主键要传递给B,并且,B的主键也要传递给A。

本文开始给出的概念模型,生成物理模型后,是下面的样子∶

项,选中了,表示:一张表的主键传递给另一张表,作为后者的外键,并且不能为空;并且与它原来的主键,一起构成它的主键;

⑥ Dominant (支配)选项,只针对一对一的情况,选择A“支配”B,表示:A的主键传递给B,但是B的主键不传递给A;如果不选择“Dominant”,表示,A的主键要传递给B,并且,B的主键也要传递给A。

本文开始给出的概念模型,生成物理模型后,是下面的样子∶
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rNBGhqjb-1693154998106)(PowerDesigner学习笔记.assets/image-20230828004707855.png)]

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: PowerDesigner是一种数据建模和企业建模工具,它可以帮助用户设计和管理复杂的数据架构和业务流程。它提供了一个可视化的界面,让用户能够创建实体-关系图、流程图、UML类图、用例图和其他类型的图表。PowerDesigner还可以帮助用户分析现有数据库和应用程序,并生成新的数据模型,以及支持多种数据库平台和编程语言。它被广泛应用于企业级应用程序、数据仓库、数据集成、业务流程管理等领域。 ### 回答2: PowerDesigner是一款功能强大的数据建模和企业架构设计工具。它能够帮助企业进行数据管理和架构设计,支持从业务流程到技术实现的全面设计。 首先,PowerDesigner能够提供全面的数据建模功能。用户可以使用它来创建和管理关系型数据库的实体、属性和关系,帮助企业梳理和规划数据结构,确保数据的整合和一致性。此外,PowerDesigner还支持扩展性建模,可以用于设计面向对象的数据模型,帮助企业跟上新兴技术的发展。 其次,PowerDesigner还能帮助企业进行企业架构设计。用户可以通过该工具创建和管理企业的各个层面,包括组织结构、业务流程、应用系统等。企业可以使用PowerDesigner来定义组织的层级结构、流程图和应用系统架构,从而更好地进行战略规划和业务优化。 此外,PowerDesigner还具备可视化设计和协作功能。它提供了直观的图形界面,用户可以通过拖拽和连接等操作,轻松创建和编辑数据模型和架构设计。同时,PowerDesigner还支持团队协作,多个用户可以同时使用工具进行设计和修改,并进行版本控制和合并。 最后,PowerDesigner还具备丰富的文档生成和分析功能。用户可以一键生成数据模型和架构设计的文档,方便与团队成员和相关人员进行沟通和交流。此外,PowerDesigner还提供了数据分析和查询功能,可以帮助用户深入理解数据模型和架构设计,并进行数据挖掘和报表生成。 综上所述,PowerDesigner作为一款强大的数据建模和企业架构设计工具,可以帮助企业进行全面的数据管理和架构规划,提高工作效率和数据质量。 ### 回答3: PowerDesigner是由法国Sybase公司(现被德国软件公司SAP收购)开发的一款专业的数据建模和建模工具。它提供了强大的功能,能够帮助企业进行数据架构设计、数据流程建模、数据仓库设计、企业架构设计等多个方面的工作。 首先,PowerDesigner可以用于数据建模。它支持多种数据建模技术,如实体关系模型(ERM)、UML(统一建模语言)、BPMN(业务流程建模标记法)等。通过使用PowerDesigner,用户可以轻松地绘制出数据模型图,显示实体之间的关系,对数据模型进行管理和维护。 其次,PowerDesigner还可以用于数据流程建模。用户可以使用PowerDesigner绘制数据流程图,详细描述业务过程中的数据流动和转换关系,对业务流程进行建模和优化,从而提高工作效率和业务应用的质量。 另外,PowerDesigner还支持数据仓库设计。用户可以使用PowerDesigner绘制数据仓库的结构图,描述数据仓库中各个维度和事实的关系,进行数据仓库模型的设计和规划。 最后,PowerDesigner还可以用于企业架构设计。用户可以使用PowerDesigner绘制企业架构图,显示企业中各个部门、职能和业务之间的关系,进行企业架构的设计和调整,帮助企业进行战略规划和管理。 总之,PowerDesigner是一款功能强大、多用途的数据建模和建模工具。它可以帮助企业进行数据架构设计、数据流程建模、数据仓库设计、企业架构设计等任务,提高工作效率和业务质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值