计算机专业教程-第15章时间相关建模.pdfVIP

计算机专业教程-第15章时间相关建模.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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 跟踪历史记录的方法 在任意

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档