数据建模第5章本章主题•数据建模定义•数据的生命周期•数据建模的好处•数据建模的两大领域•数据建模的过程什么是数据建模•定义——数据建模:–数据库建模是一个过程,在这个过程中发现数据元素之间的关联方式及定义方式,从而在将来可以识别和使用这些数据。•数据建模是一种技巧。•最终的产品——数据模型——就好像一张图表,旁边附加上所有必要的参考资料,可以完全清楚地说明一切。数据模型例数据的生命周期•NeedIt•PlanIt•CollectIt•StoreIt•CombineIt•ActonIt•ArchiveIt•RemoveIt•NeedItAgain•RestoreIt数据的生命周期——NeedIt•这是有人提出他需要一些数据的阶段。•几乎没有人会获取那些没有用的数据元素,数据必须对某人有价值,或者认为在将来它可能有价值,可以以后再拿出来使用它。•在分析新数据元素的影响时,可能又会发现其他一些可用的数据元素。•该阶段是对新事实的认识,它是完成一个任务所必需的基础。数据的生命周期——PlanIt•这是考查和分析数据元素的阶段。•关于频率、规模和业务规则的问题,还有获取和存储信息元素的方法,以及安全性、可靠性和服务质量都需要考虑到。•开始计划的时候,将会研究所有和数据有关的事情,记录与这些数据元素相关的尽可能多的信息。•可以用正规的详细说明书或者是自由讨论的形式来进行。数据的生命周期——CollectIt•这是测试阶段。•在此阶段可以查看是否正确实现了既定计划,看看是否最终能够采纳这种数据建立方法。•必须充分地理解数据,至少要草拟一个数据需求,这样才能够核实既定计划的可行性。数据的生命周期——StoreIt•当收集到一定量的数据之后,就必须考虑怎么存储它。•对数据元素收集过程进行常规监控也很关键。•为了提升反映时间和质量性能,必须好好地观察,以满足客户的数量需求。数据的生命周期——CombineIn•这是数据元素的成熟阶段。•随初始分析而来的问题也展现出来,需要对它们进行改进。•该阶段需要整合其他数据集并编写详尽报告,到了这个阶段就说明数据元素建立得很好并且对数据客户有价值。数据的生命周期——ActonIt•该过程将成为行动的基础,它甚至可以成为一系列新的数据元素的基础,指导做出有效的决策。•这个阶段数据实现了它的最高价值。它已经被证明是一个优良的事实并且可以根据它来做出决策。对此数据可追根溯源,如果采取的行动没有得到预期结果的话,就要对所怀疑的东西进行审核。换句话说,最好了解它的来源以及谁认定它是真实的事实。数据的生命周期——ArchiveIt•将备份和以前为安全性考虑而做的副本进行存档,并对产品数据集中的数据进行清理。•一旦数据的价值降低后,它们就被移植到周围的存储区域,只有数据客户才能决定边界在什么地方。•把数据放到一边也是一种冒险。–到底应该怎样存放数据呢?–应该怎样访问它?–怎样确保存档的安全性?–应该与使用中的数据保持相同的格式、结构和准则吗?数据的生命周期——RemoveIt•把数据从所有的生产环境中删除,这些数据与任何人都不再相关。•随着时间推移数据的存在价值慢慢减弱,当数据值和数据元素不再有用就会被抛弃:–磁带被擦掉–备份会被删掉–一整套的收集工具比如旧应用程序、测量设备和存储设备将被销毁。•这是数据“安静休息”的阶段。数据的生命周期——NeedItAgain•这是一个对数据重新发掘的阶段。•这个过程通常是非常痛苦的,而且代价很高。•这种需求让数据和数据仓库变得如此重要。•尽管数据仓库团队已经根据对以往需求的理解挑选出了数据,但仍然会因为缺少用户的鉴别而丢失一些数据。数据的生命周期——RestoreIt•试图把数据恢复。•这个过程会遇到一些麻烦:–无法理解数据的性质和规律(也就是说,为了重新理解数据必须再分析它)–储存介质损坏–缺少可用的工具数据建模的好处•在“Needit”阶段,当收集需求的时候可以建立一个高层的概念模型,找到那些数据与数据元素建立过程有关的信息。这些信息包括定义、描述有关业务的专有词汇、有关基本规则的一些异常情况的查询记录。•在“Planit”阶段,所有的小细节都被描述并且记录到数据模型中。要收集足够的信息来为项目的设计和测试阶段建立实际的数据结构。在这个阶段的模型是不断改进中的设计计划和对数据元素的各种定义。数据建模的好处•在“Collectit”阶段,为了数据收集使用的需要,模型可以用来定义进行测试和校验的场景。可以实际建立一个小的模型的子集,在实际编写一个应用程序之前发现时间和安全性问题。•在“Storeit”阶段,不同本地数据结构的许多数据模型可作为需求文档的一部分,用来建立分离式的全局存储。如果数据需要重新定位,根据这个模型就可以保证存储系统的一些基本标准。数据建模的好处•在“Combineit”阶段,模型记录所有必要的信息。拥有了所有必要的元素以后,就可以建立一个子模型来展示综合后的结果。•在“ActOnit”阶段,一个模型可以清楚的标识操作应用到的数据以及数据是如何在不同的操作过程中流转的。从数据定义和规则中可以看出结构的质量和完整性设计的好坏。成员和安全性措施也可能是模型文档的一部分,因此模型可以作为一个部分添加到备份文档中以便审核时用。数据建模的好处•在“Archiveit”阶段,数据模型可以展示数据元素的最初存档的记录点和存档后剩下的新内容。它可以展示数据结构的规则,以及在归档时对数据元素的定义,以供恢复数据时作参考之用。•在“Deleteit”阶段,数据模型用来记录所有的数据库结构。可以选择表或者是数据列,也可以是将要执行数据删除的存储路径。在执行删除操作的时候它可以作为一张图或者目录,我们了解这些数据到底是什么,以前是做什么用的。数据建模的好处•在“Needitagain”阶段,我们会把模型和数据一起保存,它可以帮助恢复每个人对于文档的记忆。可以帮助我们专注于一些特定的数据区域,而不是简单的把所有的数据从文档中恢复。•在“Restoreit”阶段,数据模型可以使用新的数据结构设计,也可以把数据恢复。但是可能会因为唯一性冲突而让他们使用和以前不一样的名称。为了重新使用这些数据可能需要设计一个全新的结构。数据建模的两大领域•AS-IS–As-Is任务要求具有规律与秩序。这些任务通常是反复性的,象审计数据库和系统的当前状态,如分析成品系统中的所有数据值。•TO-BE–To-Be任务涉及到创造力和革新的问题解决。这些任务较少是连续的,大部分是反复性的。AS-IS——配置管理支持•配置管理是控制环境的一个过程。•他们构建与维护:–企业级概念数据文档–项目逻辑数据文档–数据(逻辑的/物理的)对象到企业数据库的映射–物理数据对象文档–数据元素关系规则文档–风险评估–数据元素安全需求文档AS-IS——提供影响分析•建模者可以寻找以下方面造成的影响:–数据元素定义与物理细节的变更–用于修改可交付数据的现有函数的变更–取消已有的应用程序、过程、接口和概念–结合进新的应用程序、程序、接口和概念。AS-IS——提议IT标准经常通过下列活动来提供其专业意义:–在质量测试的测试计划的产生过程中提供帮助–为反规范化(denormalization)设计完整性检查–提议合理的关系完整性–提议标准化的项目文档–构建由数据元素拥有者提供的定义AS-IS——提议IT标准(续)经常通过下列活动来提供其专业意义:–提议标准大小与数据类型–提议标准缩写–提议敏感和关键数据对象的安全性–提议标准的可否为Null(nullability)选项–提议文档的创新和维护AS-IS——提供数据完整性评估在以下方面考虑需要改善的领域:–可支持性──这个结构适合于未来的需要吗–质量──现有的结构实现了高质量数据创建与更新吗–完整性──这些业务规则是在数据库级进行检查的吗–企业合适性──这个结构适合于我们公司吗(我们在设法强制使用某个制造业应用来管理合同信息吗)AS-IS——调查现有技术和工具数据建模者需要相当多的权限许可才能工作:–记录业务流程/范围–记录用户需求–将业务流程映射成数据对象–不在企业控制的环境中发现数据结构,换句话说,是在桌面开发中发现数据结构TO-BE——设计新的数据结构•创建已计划好的企业概念/逻辑数据视图•设计数据元素结构修复方法用于变更的请求•设计新的数据库结构用于自定义开发项目TO-BE——提供专家建议提供的任何建议都会需要备有解释和警告,这些解释或者警告主要是指出修改所带来的后果:–调查数据元素范围和提供可选范围–提供关于设计的建议–建议做出自行建造还是进行购买的决定–调查和提供有关数据操作或软件设计工具的建议–提出减轻风险的备选方案,尤其时反规范化决策TO-BE——提供可供选择的办法•计划集成──确定和建议进行集成的候选数据元素•数据组织计划──为1/5/10年企业数据管理计划提供可选方案TO-BE——提供预期报告•风险•可支持性•质量•完整性•企业适合性TO-BE——调查新的技术和工具需要注意新的和正在更新的:–工具──硬件和软件–技术──建模、编程和设计–企业的市场方向–客户目标–企业目标–其他派得上用场的任何东西数据建模过程•首先通过概念抽象的方式对相关数据进行组织。•通过对数据进行规范化(normalization)整理,提炼数据,并将之分成可重用的、基本的各个不同集合,这些集合可以为了不同目的而相互进行关联与组合。•最后设计物理存储结构(表)来对该数据进行保存与管理。课程小结•数据库系统的一般用途•术语“数据库”的含义•术语“数据库管理系统”的含义•DBMS环境的主要组成部分•DBMS的典型功能与服务•DBMS的优缺点•数据建模相关概念