计算机所有专业相互之间的联系,计算机专业教材-第8章关系:联系.pdf

下载

第三部分 基 本 建 模

第8章 关系:联系

在采用E R D建模时,表示实体间的联系是很重要的。同样,在对象建模方法中,标识和

构造类之间的关系也是至关重要的。在 U M L 中有一种比E R D更好的方法来描述对象之间的关

系。

联系是最常见的一种关系类型,这对 E R D 的使用者来说是很熟悉的。在某种程度上说,

联系是最基本的关系。两个类之间的联系关系并不说明类之间是如何交互作用的,而仅仅表

示了两个类之间存在某种联系。它并不说明关系的类型,只是表明存在一种联系而已。

对大多数以前用过 E R D建模的人来说,在 U M L 中给关系指定类型存在一定的困难,因为

在E R D 中,关系的类型只有有限的几种。E R建模者要注意,不要用U M L来做另外一种形式的

E R D 。在后续章节中,我们将讨论更多的精确关系(组合、聚集和概化),本章只介绍最基本

的基数关系类型。

8.1 基数

基数是什么意思呢?不同类中都有很多个

对象。基数指建立一个联系集,该联系集将第

一个类中的一个或多个对象与第二个类中一个

或多个对象相互联系。联系集可以定义为第一

个类的任意子集和第二个类的任意子集。联系

集的概念与传统关系型建模中必须考虑的基数

不同,因为还没有一个足够灵活的标记来说明

这个层次上的概念化。采用基数关系,就定义

了限制联系集构造方式的与数据相关的业务规

则。

E R 建 模 中 一 个 简 单 例 子 ,例 如 部 门

(D e p a r t m e n t )和雇员(E m p l o y e e )之间的一对

多联系,就可以很好地说明这个问题。每个部

门有一个或多个雇员,数据结构如图8 - 1所示。

■ A c c o u n t i n g ( A c c t )部门有三个雇员: A l 、

B e l和C i l 。

■ F i n a n c e ( F i n )部门有两个雇员:D e l和E d 。

■ M a n a g e m e n t ( M g m t ) 部门有三个雇员:

F i l 、G i l和H a l 。 图8-1 Department/Employee 的数据结构

98计计第三部分 基 本 建 模

下载

本例中,在D e p t N o和E m p N o值之间定义的三个对象联系如下:

■ { 1 0 },{ 1 , 2 , 3 }。

■ { 2 0 },{ 4 , 5 }。

■ { 3 0 },{ 6 , 7 , 8 }。

基数关系限制了所涉及的两个子集的大小。例如,一个一对一关系要求每个对象联系中

只有一个元素。

在U M L 中,关系两边的数字表示了相应类中对象的基数。可用的数字有:单个整数(例

如“1”)、整数列表(例如“0 ,1,2 ”)、一定范围内的整数(例如“0 . . 2 ”)或它们的组合(例如

“2 , 4 , 6 , 1 0 . . 2 0 ”)。然而,这样复杂的基数规则是非常少见的。星号“ * ”表示联系中可以有任

意数目的对象,即表示任意非负整数。“1 . . *”表示任意正整数。

为方便起见,图8 - 2说明了标准E R建模中每种关系记号到U M L记号的转换。

建模 建模

图8-2 ER建模中基本关系对应的U M L表示

第 8章 关系:联系计计99

下载

使用U M L甚至可以定义更加有用、复杂的业务规则,下面就是一个例子:

“所有委员会都必须有至少3个、至多2 0个成员。然而,并非人人都必须是委员会的成员,

一个人至多可以参加两个委员会。” 复杂的UML基数关系

采用U M L语法表示的模型如右所示:

这样复杂的基数关系是比较少见的。设计者通常遇

到的大多

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值