欢迎来到天天文库
浏览记录
ID:21780765
大小:55.50 KB
页数:6页
时间:2018-10-24
《power designer中cdm与pdm模型解析》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、PowerDesigner中CDM与PDM模型解析:Poany和manytomany这三种联系类型,在Hibernate[4]和IBatis[5]这两种居统治地位的ORM框架中也沿用了这三种类型。在CDM中,联系还有另外三个可以设置的属性:Mandatory(强制性联系),Dependent(依赖性联系/标定关联)和Dominant(统制联系)。这些属性对后面PDM的生成都有比较大的影响,需要精确理解。它们都是在联系的属性控制面板中设定的,图3所示。 2.1.1Mandatory强制性联系 联系是否具有强制性,指的是实体间是不是一定会出现这种联系;
2、或者换句话说,当我们在谈及一个联系的应用场景的时候,联系对应的那两个实体型的实体实例的个数可不可能为零。也许这样的解释还是有点抽象,让我们举两个联系的例子,一个是对两边的实体都有强制性的,另一个则不然。 (1)教师——学生联系 这个联系首先是一个多对多联系,因为每个老师可以教多个学生,每个学生也都有多个老师来负责他们的学业。同时,这个联系对教师和学生都是强制性的,也就是说,不存在任何一个老师,他不负责任何一个学生的教学;也不存在任何一个学生,他没有任何一个任课老师。 (2)学生——俱乐部联系 这也是一个多对多关系,但它对学生这个实体型而言就不是
3、强制的(Optional,可选的)。每个俱乐部都有至少一个学生参加,但并不是每个学生都要去参加俱乐部的活动。完全可以有一些学生,他们什么俱乐部都没参加。 上面的例子从概念的角度来区分了Mandatory和Optional的区别。如果把这个模型对应到我们最后生成的表,如果A—B间的联系对A是Mandatory的话,那么如果在A里面如果包含B的外键,这个外键不能为空值,反之可以为空值。 2.1.2Dependent 每一个Entity型都有独立的Identifier,若两个Entity型之间发生关联,其中一个Entity型的Identifier进入另
4、一个Entity型并与该Entity型中的Identifier共同组成其Identifier时,这种关联称为标定关联,也叫依赖性关联(DependentRelationship)。一个Entity型的Identifier进入另一个Entity型后充当其非Identifier时,这种关联称为非标定关联,也叫非依赖关联。 上述叙述表达的就是主—从表关系,从表要依赖于主表。比如在我们系统里要记录教师休假的情况,有一个实体型Holiday,其属性包括休假的开始时间和天数,每次有教师休假的时候,都要在这个表留下记录。从我们的场景描述中可以看到,实体型假期必须依
5、附于实体型教师,即对于每一个假期实例,必须指向:Poany和manytomany这三种联系类型,在Hibernate[4]和IBatis[5]这两种居统治地位的ORM框架中也沿用了这三种类型。在CDM中,联系还有另外三个可以设置的属性:Mandatory(强制性联系),Dependent(依赖性联系/标定关联)和Dominant(统制联系)。这些属性对后面PDM的生成都有比较大的影响,需要精确理解。它们都是在联系的属性控制面板中设定的,图3所示。 2.1.1Mandatory强制性联系 联系是否具有强制性,指的是实体间是不是一定会出现这种联系;或者
6、换句话说,当我们在谈及一个联系的应用场景的时候,联系对应的那两个实体型的实体实例的个数可不可能为零。也许这样的解释还是有点抽象,让我们举两个联系的例子,一个是对两边的实体都有强制性的,另一个则不然。 (1)教师——学生联系 这个联系首先是一个多对多联系,因为每个老师可以教多个学生,每个学生也都有多个老师来负责他们的学业。同时,这个联系对教师和学生都是强制性的,也就是说,不存在任何一个老师,他不负责任何一个学生的教学;也不存在任何一个学生,他没有任何一个任课老师。 (2)学生——俱乐部联系 这也是一个多对多关系,但它对学生这个实体型而言就不是强制
7、的(Optional,可选的)。每个俱乐部都有至少一个学生参加,但并不是每个学生都要去参加俱乐部的活动。完全可以有一些学生,他们什么俱乐部都没参加。 上面的例子从概念的角度来区分了Mandatory和Optional的区别。如果把这个模型对应到我们最后生成的表,如果A—B间的联系对A是Mandatory的话,那么如果在A里面如果包含B的外键,这个外键不能为空值,反之可以为空值。 2.1.2Dependent 每一个Entity型都有独立的Identifier,若两个Entity型之间发生关联,其中一个Entity型的Identifier进入另一个
8、Entity型并与该Entity型中的Identifier共同组成其Identifier时,这
此文档下载收益归作者所有