- 0
- 0
- 约6.52千字
- 约 11页
- 2017-05-16 发布于天津
- 举报
ORACLE8 UML 对象建模设计12.pdf
下载
第12章 循 环 结 构
类形成闭环的情况是很常见的。当经过一系列的关系后回到初始类时就存在一个循环结
构。必须仔细考察循环结构以分清这些结构代表了什么含义,以及如何对它们形式化地建模。
最简单的循环关系是递归结构,即一个类与自己挂接在一起。循环关系这种特殊类型的规范
在第1 0章已有更详细的讨论。在这里将讨论几种常见的循环结构。
有些建模者努力避免采用循环结构。 I D E F建模认为循环结构是非法的。然而,还是不能
轻易忽略循环结构。实际上,在数据模型中不采用循环结构排除了很多为与数据相关的业务
规则建模的可能。
因为本书提倡一般方法,以及第 1 6章中更完整的介绍,因而本书中有很多循环结构的例
子。本章将讨论循环结构带来的问题以及如何有效地处理这些问题。
12.1 循环结构举例
图1 2 - 1展示了大学或学院系里有关课程设置的经典例子。指定日期和时间的特定课程分配
给特定的教授(P r o f e s s o r ),该教授被一个或者多个系(D e p a r t m e n t )聘用。该模型本身没有任
何错误,但需要注意它隐含的业务规则,即该模型结构隐含地认为任何一个教授都可以为任何
系的任何课程授课。这是现实情况吗?该业务规则是否适合源于模型的循环结构?注意
D e p a r t m e n t和O ff e r i n g之间为什么存在两个依赖—一个通过C o u r s e ,另一个通过E m p l o y m e n t 。
这种结构上的冗余将导致我们怀疑D e p a r t m e n t和Course Off e r i n g之间关系的本质。像前面提到的
一样,模型隐含地认为这两个关系是完全独立的,因此,任何一个教授都可以教授任何一门课。
图12-1 简单的循环结构
为了实现更加严格的业务规则,如“教授只能教授目前聘用他的系里的课程”,这就需要
书写一个触发器。
164计计第三部分 基 本 建 模
下载
图12-2 教授/课程模型
这种触发器可以放在 Course Of f e r i n g
表中,以实现该业务规则。在 O r a c l e 中,
有很多实现这种业务规则的方法。如果把
模型改成图 1 2 - 2 中的样子,则D e p a r t m e n t
表中的主码D e p t N o将通过两条路径进入表
Course Of f e r i n g 。这就要增加一个简单的
约束,保证两个系号相等。
该模型也可以通过在两个约束中共享
Course Of f e r i n g表中的系号(列)实现。
然而,这样就不能通过传统的参照完整性
而需用触发器来实现业务规则了。
一旦选择了循环结构来使自己发现问
题,最终结果可能是改变模型。大学可能
会采用这样的业务规则,教授要么只在本
系授课,要么经过某种特殊的许可在外系
授课。如果真的采用这种业务规则,则把
模型改成图 1 2 - 3的样子。
采用这种结构,教授要么通过他在系
里的聘用关系显式地安排某一门课程,要
么通过某个教学许可安排某门课程。这里
还是需要触发器来解决循环结构的问题
(以保证教授某门课程的授权是正确的)。
如果授权由系里进行,必须保证是正确的
系进行的授权。采用这个结构确实使有效
地表达业务规则成为了可能。实际上,
U M L 就有表达这种复杂约束的语法,大部 图12-3 修改后的教授/课程模型
第12章 循 环 结 构计计165
下载
分是通过用点线连接到类上的文本框表示的。当前还没有哪个产品能真正把这些约束生成代
码,而且将来大概也不可能有产品这样做。如果有 U M L产品支持这种语法,那么在数据模型
中包括这种约束是有用的。否则,数据模型只能表示与数据相关的业务规则的一个子集。
12.2 使用对象I D
对象I D提供了比外码更加清晰的实现,如图 1 2 - 4所示。
该模型中有General Agents和In
您可能关注的文档
- NutsandBoltsofTeaching,Observing,andTutoring.ppt
- nux的嵌入式高速SAR数据存储技术.PDF
- NVR8908B-Q(VGA).PDF
- NXT编程指南入门.pdf
- NX设计软件概述.pdf
- NYUSchoolofProfessionalStudies.PDF
- NyxNetworkResiliencyvia.PDF
- N间ociationd'achats-Niveau2.PDF
- Object-OrientedProgramminginJava.ppt
- Object-RelationalDBMSs.ppt
- 腾讯安全沙龙:红队视角下的海外SRC猎场:战略、战术与突破.pdf
- 【icap】ETS的范围扩展:设计和政策挑战.docx
- bcg -美国最高法院关于关税的裁决对你的企业意味着什么 What Does the US Supreme Court Ruling on Tariffs Mean for Your Business.pdf
- 2026届甘肃兰州市高三下学期第一次模拟考试历史试卷(扫描版,含答案).docx
- bcg -零售银行如何让人工智能代理发挥作用 How Retail Banks Can Put AI Agents to Work.pdf
- 住宅项目规范解读(GB 55038-2025) -培训 - 房地产-2025.docx
- 盘扣式脚手架工程量自动计算表 -培训 -房地产-2025.pdf
- 广东省汕头市2024-2025学年高三下学期第一次模拟考试英语学试题(含答案).docx
- 品牌研究+_+2025+CAPSE中国航司品牌榜单.pdf
- 【银河专题】如何看待豆粕内外价差关系.pdf
最近下载
- 智能优化算法解析 第6章 基于群智能的智能优化算法.ppt VIP
- 7500t d制革废水处理工程设计.docx VIP
- Matrix Audio矩声New mini-i说明书用户手册.pdf
- (五个带头)关于2025年度组织生活会个人查摆问题的整改清单.docx VIP
- 高考化学复习高考北京卷三轮复习专题8:金属铁铜(Fe、Cu).pdf VIP
- 江苏省苏北徐州、淮安、连云港、宿迁四市2025-2026学年度第一学期期末高三调研测试(苏北四市一模)数学试卷(含答案).pdf VIP
- 高维非平稳时间序列预测中的跨任务元优化策略与系统集成方案.pdf VIP
- 2025年无人机驾驶员执照安全绩效指标相关法律法规与标准体系专题试卷及解析.pdf VIP
- 全志T3、A40i系列-OKA40i-C&OKT3-C_Qt5.9+linux-3.10用户使用手册_V2.0_20220317.pdf VIP
- 2025年项目管理专业项目档案管理高仿真模拟测试(一)专题试卷及解析.pdf VIP
原创力文档

文档评论(0)