ORACLE8 UML 对象建模设计11.pdf

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
下载 第11章 Or和N-ary关系 有几种复杂的关系在建模和实现时需要仔细地考虑。这些关系包括 O r关系和N - a r y 关系。 本章将讨论这几种关系。 11.1 Or关系 采用U M L 数据建模方法时经常会遇到这样的情况,两个关系中要么这个正确,要么另外 一个正确,而不可能两个都适合。例如,某个合同(C o n t r a c t )可以被某个组织(O rg a n i z a t i o n ) 或个人(P e r s o n )接受,但是不可能同时被二者接受。这种关系的建模如图 11 - 1所示。 图11-1 Or关系的表示A 在本例中,图式表明一个合同只可能在个人与个人、组织与组织之间以及个人与组织之 间。如果我们要指定合同只能是单方面的约定,则如图 11 - 2所示。如果图中没有点线,则意 味着合同必须同时与个人和组织相关。在 P e r s o n和O rg a n i z a t i o n边上的“ 1”所指定的基数和虚 线一起表明了合同要么与个人相关,要么与组织相关。 图11-2 Or关系的表示B 这是E R D 比U M L 效果好的为数不多的地方之一。在一个很大的、复杂的图式中,类相隔 的很远,虚线将靠近合同。但是判断 O r关系是否需要一个值的唯一方法是 P e r s o n 和 O rg a n i z a t i o n边上的基数线。在E R D 中,边放在可选-强制关系出现的地方,并且易于看明白。 在采用 O r 结构的时候, O r 上所有关系的基数必须与虚线另外一端的基数和相同。在 C o n t r a c t这边,基数可以不同。虽没看到出现这种情况的实例,但是在逻辑上是可能的。例如, 第11章 Or和N-ary关系计计155 下载 可以只为P e r s o n创建一个规则,允许最多有 1 0个合同,但是对组织却不做这样的约束。本例 中,P e r s o n / O rg a n i z a t i o n关系中C o n t r a c t这边的基数将是0 . . 1 0 ,而O rg a n i z a t i o n / C o n t r a c t关系的 基数保持不变,还是 * 。更精确一点,只有P e r s o n / O rg a n i z a t i o n边的基数才必须相同。如果在 一个关系上允许 0 ,则两个关系都必须允许 0 ,否则,关系对就没有任何意义了。建模中经常 会用到O r关系,在一个具有 1 0 0 ~ 2 0 0个类的企业级数据模型中,可能存在 2 ~ 1 0个O r关系。 通过使用概化( U M L )或者子类型(E R D ),O r关系通常都可以不使用。概化将在第 1 4 章讨论。 11.2 N-ary关系 少数时候可能会在三个或者更多类之间使用单个联系。在这种情况下,单独的表示这种 关系有时是有用的。例如,自动保险政策( Insurance Policy )用U M L至少可以有两种表示方 式,这两种语法都是可行的。问题是你是否想反映保险政策是图 11 - 3 中P e r s o n 、C a r 和 C o v e r a g e之间关系的结果,或者用别的更好的方法来表示。 图11-3 三个类之间联系的U M L表示 这个关系也可以采用N - a r y 关系重新表示,如图 11 - 4所示。 本例中,没有理由要使用N - a r y 关系。编写本书的时候,我们还没有找到一个 N - a r y 关系显 然比其他关系更为清楚的例子。 图11-4 N-ary关系的U M L表示 11.3 其他联系关系 连接两个关系的虚线表明只使用其中一个关系。即使是限制关系,也需要采用大括号

文档评论(0)

tangtianxu1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档