Power Designer中CDM与PDM模型解析.doc

上传人:gs****r 文档编号:1892542 上传时间:2019-03-20 格式:DOC 页数:7 大小:108.50KB
下载 相关 举报
Power Designer中CDM与PDM模型解析.doc_第1页
第1页 / 共7页
Power Designer中CDM与PDM模型解析.doc_第2页
第2页 / 共7页
Power Designer中CDM与PDM模型解析.doc_第3页
第3页 / 共7页
Power Designer中CDM与PDM模型解析.doc_第4页
第4页 / 共7页
Power Designer中CDM与PDM模型解析.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、1Power Designer 中 CDM 与 PDM 模型解析摘要:Power Designer 一款强大的数据库分析设计 CASE 工具集,使用它可以方便地对管理信息系统进行分析设计,几乎包括了数据库模型设计的全过程。CDM 建模是 MIS 系统建模的第一步,也是整个数据库设计最高层的抽象。CDM 建立在传统的 ER 图模型之上,但对 ER 模型有了大的扩展,具有更强的建模能力且更适应 MIS 系统开发实际。PD 建模遵循着第一步严格精确设计,后继自动化演化生成的原则;因此 CDM 模型的完备性与精确性至关重要。CDM 模型最复杂难以把握的是其对联系的扩展。本文从 PD 给出的各元定义出发

2、,试图以实例勾画出正确的理解和清晰的数据库建模技术路线图,以 CDM 到 PDM 的数据库建模全过程完成对 CDM这一复杂模型的解析。关键词:CDM;PDM;数据库模型设计;PowerDesigner;MIS1 引言ER 模型图中有三大主要元素:实体型,属性和联系。其中实体型对应到 CDM 中的 Entity,属性对应到 CDM 中每个 Entity 的 Attribute,在概念上基本上是一一对应的。但在联系的处理上,CDM 除了保留 ER 图原有的 RelationShip 概念之外,还增加了 Association,Inheritance 两种实体关系。图 1 给出了工具栏中三个联系工具

3、图标的位置。本文将从简单的 CDM 模型图入手,对这些 CDM 元素进行阐述,试图包含所有数据库建模必须环节。22 CDM 模型以简单的学校场景的为例,给出图 2 所示的 CDM 模型,该图中所有元素在后面建模均有覆盖,以体现最小集与完备性。2.1 RelationShip(联系)文献1对 CDM 模型中的联系给出了简单定义,但如此简单的定义反而让人难以区分现实世界实际存在的一些复杂情形。文献1还给出了一个例子来说明什么样的情况我们就认为两个实体间是有联系的。这个例子并不简单,至少让人觉得其并不像定义那么简单。当提起实体间联系的时候,首先想到的是 one to one,one to many

4、和 many to many 这三种联系类型,在 Hibernate4和 IBatis5这两种居统治地位的 ORM 框架中也沿用了这三种类型。在 CDM 中,联系还有另外三个可以设置的属性:Mandatory(强制性联系) , Dependent(依赖性联系/标定关联) 和 Dominant(统制联系) 。这些属性对后面 PDM 的生成都有比较大的影响,需要精确理解。它们都是在联系的属性控制面板中设定的,图 3 所示。2.1.1 Mandatory 强制性联系联系是否具有强制性,指的是实体间是不是一定会出现这种联系;或者换句话说,当我们在谈及一个联系的应用场景的时候,联系对应的那两个实体型的实

5、体实例的个数可不可能为零。也许这样的解释还是有点抽象,让我们举两个联系的例子,一个是对两边的实体都有强制性的,另一个则不然。(1)教师学生 联系3这个联系首先是一个多对多联系,因为每个老师可以教多个学生,每个学生也都有多个老师来负责他们的学业。同时,这个联系对教师和学生都是强制性的,也就是说,不存在任何一个老师,他不负责任何一个学生的教学;也不存在任何一个学生,他没有任何一个任课老师。(2)学生俱乐部 联系这也是一个多对多关系,但它对学生这个实体型而言就不是强制的(Optional,可选的) 。每个俱乐部都有至少一个学生参加,但并不是每个学生都要去参加俱乐部的活动。完全可以有一些学生,他们什么

6、俱乐部都没参加。上面的例子从概念的角度来区分了 Mandatory 和 Optional 的区别。如果把这个模型对应到我们最后生成的表,如果 AB 间的联系对 A 是Mandatory 的话,那么如果在 A 里面如果包含 B 的外键,这个外键不能为空值,反之可以为空值。2.1.2 Dependent每一个 Entity 型都有独立的 Identifier,若两个 Entity 型之间发生关联,其中一个 Entity 型的 Identifier 进入另一个 Entity 型并与该 Entity 型中的 Identifier 共同组成其 Identifier 时,这种关联称为标定关联,也叫依赖性关

7、联(Dependent Relationship) 。一个 Entity 型的 Identifier 进入另一个 Entity 型后充当其非 Identifier 时,这种关联称为非标定关联,也叫非依赖关联。上述叙述表达的就是主从表关系,从表要依赖于主表。比如在我们系统里要记录教师休假的情况,有一个实体型 Holiday,其属性包括休4假的开始时间和天数,每次有教师休假的时候,都要在这个表留下记录。从我们的场景描述中可以看到,实体型假期必须依附于实体型教师,即对于每一个假期实例,必须指向某一个教师实例。对于依赖型联系,注意它不能是一个多对多联系;如果是多对多关系,需要简单的将其转换为两个主从表

8、的多对一关系2。在这个联系中,必须有一个作为主体的实体型。一个 Dependent 联系的从实体可以没有自己的 Identifier。2.1.3 Dominant 依赖性联系这个联系属性是最简单的,它仅作用于一对一联系,并指明这种联系中的主从表关系,习惯上称之为标定关联。在 A,B 两个实体型的联系中,如果 AB 被指定为 Dominant,那么 A 为这个一对一联系的主表,B 为从表,并且在以后生成的 PDM 中会产生一个引用(如果不指定Dominant 属性的话会产生两个引用) 。比如老师和班级之间的联系,因为每个班级都有一个老师做班主任,每个老师也最多只能做一个班级的班主任,所以是一个一

9、对一关系。同时,我们可以将老师作为主表,用老师的工号来唯一确定一个班主任联系。2.2 Association(关联)文献1中对 Association 给出的定义出现了许多 RelationShip,也就是 2.1 中给出的联系。 在很多情况下(特别是多对多关系中) ,我们会把联系专门提出来,作为一个实体型放在两个需要被关联的实体型中间(在 PD 中,选中任何一个联系,在右键的弹出菜单中选择“Change to Entity”命令即可完成联系转实体的操作) 。类似的做法,在 UML 的5通用建模工具 Rational Rose 中定义了 Association Class 来建立 ORM映射3

10、。但有时,把若干个实体型之间的联系抽象为一个实体型可能不太合适,这时可选择为这些实体型建立一个 Association,那么在生成PDM 的时候,所有这些相关实体型的 Identifier 都会被加入到Association 对应生成的表模型中。 更贴切的理解,其实Association 是实体型的一种特例,用来在建模的时候更确切的表达实体间的关联信息。文献1举了一个例子描述录音带、顾客、商店三个实体型在租借录音带这个场景上发生关联,然后把租借定义为上述三个实体型之间的 Association 的例子。在本文的学校模型里,定义了家访做为老师和学生实体型中间的一个 Association,在接下

11、来产生的 PDM 中能看到这种定义所产生的效果。2.1.3 Inheritance(继承)非常简但的 ISA 关系模型。3 PDM 模型前面给出了 CDM 中关于实体间关系的主要内容,接下来将探讨CDMPDM。图 4 为对应图 3 的 PDM 模型,图 4 中标红的部分都是由于对实体型间的关系的定义而产生的,下面给出简要说明。1. “师生关系”和“学生俱乐部”这两个表是由于我们的多对多关系而产生的。2. “假期”表的“工号”字段是由于我们将教师假期关系指定为Dependent 而产生的。63. “班级”表的“工号”字段是由于我们将教师班级关系制定为Dominant 而产生的。4. “家访”表中

12、的“工号”和“学号”字段是由于家访是教师和学生实体型的 Association 而产生的。此外,在 2.1.3 节中提到,一个没指定 Dominant 方向的一对一联系将产生两个引用,因此需要把原本的 CDM 中的教师班级关系进行一个修改,去掉这个 Relationship 的 Dominant 定义,那么最终产生的 PDM中教师表和班级表将互相包含对方的主键。截图如下:对照图 5 和图 4 两个 PDM 模型的区别,容易得看出 Dominant 属性对一个一对一关系的作用。4 小结PD 建模遵循着第一步严格精确设计,后继自动化演化生成的原则。因此 CDM 模型的完备性与精确性至关重要。CDM 模型最复杂难以把握的是其对联系的扩展。本文从文献1也就是 PD Online 在线文档出发,对CDM 和 PDM 建模作了清晰的路线图阐述,给出了完整的实例。参考文献1 PD Online 联机文档EB/OL.2 王珊, 萨师暄. 数据库系统概论M, 清华大学出版社, 2005.3 Rational Rose Online 联机文档EB/OL.4 孙卫琴. 精通 Hibernate: Java 对象持久化技术详解 M. 电子工业出版, 2005.75 http:/ 开源中国社区EB/OL.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 学科论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。