- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
下载
第四部分 时间相关建模:
跟踪历史记录
第15章 时间相关建模
由于数据的不断变化,需要特别关注与时间有关的信息的数据模型。为跟踪随时间变化
的信息,可以采取一些策略。当数据发生变化时,有些情况下我们需要跟踪这些变化,而另
外一些情况下,我们却只需要当前值。例如,某个人更改了他的名字,或某个人的薪水增加
了,这些通常都是需要随时间发展跟踪的数据变化。也存在由于数据录入错误而引起的必然
的数据变化。我们需要跟踪那些因纠正早先的错误而改变的数据的历史记录吗?当你利用银
行业务系统处理大量金钱时,也许所有的变化都需要极其仔细地跟踪,而不论引起这些变化
的原因是什么。但在其他情况中,也许只需要跟踪当前信息。
当考虑跟踪一个特定类的历史信息时,你要逐个仔细权衡跟踪哪些信息。除了决定必须
跟踪什么样的信息外,你还必须决定如何存取这些历史信息。例如,你是否需要一个有关对
象类的历史日志,或者你是否认为重建和显示一个与以前一样的对象类很重要等。
历史日志很容易实现,因为它可以像附加在一个对象上的注释那样简单。重建一个对象
以前的映像需要大量存储,通常更难于编码。例如,在某些合同处理系统中,你必须能够在
任何时刻回到以前所做的决策并且报告到数据库。下面这个例子表明在重述旧信息时需要仔
细地跟踪错误而不是实际的变化。假设在 1月1 日,一个客户送来一份购买一宗价值$ 1 0 0 0货物
的合同,但数据录入人员错误地输成了$10 000 。当我们将合同邮寄给客户时发现了这个错误,
这时我们需要能够显示在 1月1 日的成本是$ 1 0 0 0而不是$10 000 ,即使$10 000被显示为“正确”
的数量。从审计人员的角度来看,知道什么是合法的债务以及如何在系统中表示出来是十分
重要的。这就产生了一个十分复杂的情形,即必须要区分错误和变化以及如何在较早的系统
重述中报告这一历史信息。
15.1 时间相关数据建模和跟踪历史记录
即使历史记录的跟踪会涉及到额外的对象类,但这些对象类在数据模型中却并不总是被
表示出来,这样可以避免将数据模型搞得过于复杂。处理这种情况的一种可能方法(在本章
的1 5 . 4节中将详细讨论)是为类图中大多数基本对象类建立独立的
历史对象类。为表明历史记录将在一个指定的对象类上被跟踪,我
们可以使用用户定义的模板。比如前面举的跟踪合同变化的例子,
我们要用到两个模板 —历史错误( history error )和历史变化
(history change ),如右图所示。
历史记录也可以直接表现在类图中。例如,在一个雇员( E m p l o y e e )数据库中,如果你
想要知道某个雇员在哪个部门工作,你可能会在部门( D e p a r t m e n t )和雇员(P e r s o n )之间建
立一个简单的关系。但是,如果某个雇员在经过一段时间后改变了其所在的部门,你必须将
194计计第四部分 时间相关建模:跟踪历史记录
下载
这个信息拆分并且单独归为一个对象类,如图 1 5 - 1中所示。
在这个例子中,日期必须成为雇佣历史记录( Employment History )主码的一部分,因为
某个雇员在他整个职业生涯中极有可能两次在同一个部门中工作。
在一个系统中包括时间相关表可能是一件十分复杂的事情。在任何一个时间是候选码的
一部分的系统中,你实际上就是在跟踪历史记录。下面是关于时间相关表的一些警告:
■ 不要将最终日期设置为强制性的,因为你不可能总是在记录被创建时就知道这一信息。
■ 如果你是在关系型环境中,将开始日期做为正式主码的一部分时要特别小心,因为在
O r a c l e 中改变主码域是很困难的。
■ 当日期域是主码的一部分而且可能发生变化时,你需要使用系统生成的主码。
没有历史记录
有历史记录
图15-1 雇佣历史记录
15.2 跟踪历史记录的方法
在任意
您可能关注的文档
最近下载
- 中考英语三轮冲刺挑战满分练习01 阅读选择一:人与自我(中考真题精选)(含解析).doc VIP
- JB391585《液压机安全技术条件》.pdf
- Starter Unit 1 Hello! (Section A )分层作业同步卷(含答案)2024版.docx VIP
- 第16课 早期殖民掠夺(核心素养精品课件).pptx VIP
- 农村土地承包经营权调查规程.doc VIP
- T-CAGHP 020-2018地质灾害治理工程施工组织设计规范(试行).docx VIP
- 2024年版食品安全监督抽检实施细则理论考试试题及答案 .pdf VIP
- 龙门吊安装与拆除专项施工方案.doc VIP
- T_CHIA 54.1-2025 颈椎病专病电子病历标准数据集 第 1 部分:入院记录.docx VIP
- 05g359-3单轨吊_标准图集.pdf VIP
文档评论(0)