本书采用了类设计模式的方式对数据模型进行高度抽象总结,同时作者对数据模型的抽象程度做了等级划分,对卷一提到的各种数据模型在不同的抽象程度下设计出来的数据模型做详细的分析。作者分享了一个非常宝贵的工具,任何人参与数据建模,从新手到专家。作者向你展示如何:*常见的数据模型构建模型等模型的作用、层次、分类、地位、沟通方式,和业务规则。使用一个强大的数据模型模式的数据建模。评估特定与广义模型的优缺点。有助于你改进逻辑和物理模型的质量和完整性。应用模式在许多类型的数据建模工作,如原型,应用程序,企业数据模型,数据仓库,和主数据管理工作。本书的重点是基本的模式,影响超过百分之50的数据建模工作。这些模式可以用来大大减少建模时间和成本,启动数据建模工作。本书作为经典的指导思想,大幅度提高了数据模型的一致性和质量,并作为一个客观的标准,指导企业评估数据模型。对于每一个模式,提供了许多的替代品,从非常具体到非常广义的建模方法。数据模型通用模式对于正在进行数据建模的人都是必不可少的指导手册。我强烈推荐该书给业务分析人员、应用程序开发人员、程序员和数据仓库设计师。
畅销书《数据模型资源手册(卷3)数据模型通用模式》通过解答如下问题,颠覆了数据模型领域:你是如何节省大量时间又提高各种数据建模工作的质量的?对比前两卷,这一卷专注于在50%以上工作中都会涉及到的基础模式。这些模式的应用能够减少建模中相当一部分时间和成本,来快速启动建模工作的进行。这些模式可以作为标准或准则来提高数据模型的一致性和质量,也可以作为一种企业赖以评价数据模型的客观来源
原著序言
小时候,我和弟弟喜欢拆开一些小工具,看看它们是由什么构成的。我的祖母会买二手钟表、收音机等电子设备,我们拿锤子打开那些钟表,看看里面是什么,它们是如何工作的。我们注意到的事情是,尽管它们外表不同,但其内在却和其他钟表相似。事实上,一旦我们把它们的外盖拆掉,并把一切都拆分开,我们便再也无法分辨出哪个部件是来自哪一个钟表,但我们可以将所有这些零件整理成类似的部分。齿轮、轮毂和弹簧被分成类似形状的堆儿。如果我们有足够的时间和意志,我们也许能拿这些零件制造出一个新的钟表。
我问我的祖父,为什么这些部件看起来如此相似,为什么它们上面有些数字都是同样的。事实上,一些钟表跟收音机也有相同的部分。我的祖父跟我解释,如果使用类似的部分,企业便可以更便宜、更容易地生产自己的产品。用这些相同的部分也使得它的制造者和修理者的工作能够更加简单。他给我看他是如何替换了收音机的组件并用新的零件来修复它。他之所以能够做到这一点,是因为他运用了部分遵循类似的
模式。我认为这是卓越之处。
我很高兴来写这篇序言,因为我相信它是通用数据模型系列图书中最重要的部分。本书呈现的数据建模的通用模式,可以被应用到成千上万的行业、数以千计的项目,以及使用案例无限多的、可高度重复使用的模式中。而卷1、卷2 集中于模板的解决方案和共同的数据结构,这是集中在更一般情况下基本的、相关的数据模式。而这些都不是行业或功能模式,它们是齿轮和螺丝钉,可以融入任何解决方案。你可以为你的当前项目创建自己的那部分时钟,并在其他项目中使用相同的部件来创建其他解决方案。
这些模式在发展和制定的过程中,莱恩·希尔瓦斯顿和保罗·阿格诺已为你的整个职业生涯提供了一套工具。无论你在哪里工作或者你想要什么样的业务支持,这些模式都适用。
所有成熟的职业均已经确定他们做的这个组件是可高度重复使用的,现在已经成了工程师们的建筑标准和模式,以及医疗专业人士的执业标准。作为一个新兴的行业数据模型资源手册(卷3)数据模型通用模式业,信息技术仍正在形成并在许多情况下都使用测试模式。数据建模的通用模式使数据更加专业,从而将其提高到专业水平。然后,我们可以将努力集中到那些需要量身定制的解决方案上面。
使用通用的模式进行数据建模能够让团队成员在实施的解决方案上集中精力,可以为存在竞争优势的业务问题提供更快的服务并降低成本。最重要的是,它能够使模型的使用者的工作效率更高。那些见过多次类似结构的开发人员可以快速调整自己的模式并运用它。测试计划和测试数据也可以以其支持的新类型的状态快速定制。所有团队成员在通过许多项目之后也都将看到这些经济效益。
作者已经为每个模式提供了几个层次上的概括,作为一个经验丰富的专家,如何选择一个有意义的模式,其成本、效益和设计风险都由你自己决定。我想给你一种接近这些模式的想法以让他们最适合你的当前项目的内容。每一个设计其实都可以归结为成本、收益和风险,这些规定了你设计的级别。你选择运用哪个级别,就将会有什么样的收益。每一个项目的业务和结构都没有正确的答案或正确的模式,但你会知道为什么你选择的解决方案适合你的具体设计。
当我回想起我的童年和许多拆除了齿轮和螺丝钉的钟表,我知道了模式是我的职业生涯中最重要的经验之一。莱恩和保罗已经为你做了这些模式的修补和排序。你接下来要做的就是把它们应用在你的项目中,通过节省时间来降低成本,并提高模型的质量,从而带来更大的商业价值。
凯伦·洛佩兹(Karen Lopez)
行业的思想领袖
何增耀,男,具有8年软件工作经验,熟悉产品生命周期管理软件产品的模块有产品数据管理、变更管理、项目管理等。精读OFBiz源码,熟练基于OFBiz架构开发的项目。精读Liferay源码。带领技术团队架构,研发,设计完成项目技术平台以及产品开发,以及日常维护,升级管理。负责研发过程中疑难问题地攻关何协调。目前做独立顾问,可为各个公司提供架构技术培训,OFBiz业务培训,以及疑难问题技术攻关服务。经历过民营、国企、中美合资、英资,对日外包,经历领域有银行,教育,HR,电子商务,招投标,仓储。
第1章介绍
1.1 为何我们需要这本书?
1.2 拓展数据建模学科
1.3 何谓模式?何谓通用模式?
1.4 模式的意义是什么?
1.5 本书的方法
1.6 不同级别的模式
1.7 谁是本书的潜在读者?
1.8 本书包括哪些内容
1.9 其他数据建模模式
1.10 本书中所采用的约定和标准
1.11 小结
1.12 参考文献
第2章设置角色:当事人做什么
2.1 这类模式的意义是什么?
2.2 本章包含哪些内容?
2.3 什么是声明角色?
2.4 一级声明角色模式
2.5 二级声明角色模式
2.6 三级声明角色模式
2.7 模式总结
2.8 参考文献
第3章使用角色:如何参与
3.1 这类模式的意义是什么?
3.2 本章包括哪些内容?
3.3 什么是上下文角色?
3.4 一级上下文角色模式、属性
数据模型资源手册(卷3)数据模型通用模式
3.5 一级上下文角色模式及关系
3.6 二级上下文角色模式
3.7 只作为备选模式的二级上下文角色模式当事人
3.8 三级上下文角色模式
3.9 混合型上下文角色模式
3.10 模式总结
3.11 参考文献
第4章层次、聚合和对等关系:类似数据的组织
4.1 这类模型的意义是什么?
4.2 本章包含哪些内容?
4.3 什么是递归关系和如何通过递归关系来组织数据?
4.4 一级递归模式
4.5 二级递归模式
4.6 二级拓展递归模式
4.7 三级递归模式
4.8 维护规则的三级递归模式
4.9 模式总结
4.10 参考文献
第5章类型和类别:数据的分类
5.1 这种模式的重要意义是什么?
5.2 本章有哪些内容?
5.3 什么是类型、信息产品分类和分类标准?
5.4 一级分类模式
5.5 二级分类模式
5.6 三级分类模式
5.7 使用隶属关系和分类方案的三级分类模式
5.8 模式总结
5.9 参考文献
第6章状态:数据的状态
6.1 此类模式的意义是什么?
6.2 本章有哪些内容?
6.3 什么是状态?
6.4 一级状态模式
6.5 二级状态模式当前状态
- II -
目录
6.6 三级状态模式
6.7 四级状态模式
6.8 状态类别模式
6.9 维护多重隶属关系和规则的状态类型模式
6.10 模式总结
6.11 参考文献
第7章联系机制:怎样获得联系
7.1 这种模式存在的意义?
7.2 本章包含哪些内容?
7.3 什么是联系机制?
7.4 一级联系机制模式
7.5 二级联系机制模式
7.6 三级联系机制
7.7 四级联系机制模式
7.8 维护地理范围的联系机制模式
7.9 维护灵活的地址构成成分的联系机制模式
7.10 其他常见的联系机制数据
7.11 模式总结
7.12 参考文献
第8章业务规则:如何工作
8.1 这类模式的重要意义?
8.2 本章有哪些内容?
8.3 什么是业务规则?
8.4 二级规则模式
8.5 三级业务规则模式
8.6 维护当事人角色的业务规则
8.7 模式总结
8.8 参考文献
第9章使用模式
9.1 本章有哪些内容?
9.2 场景
9.3 原型数据模型及作用域声明
9.4 应用数据模型
9.5 企业数据模型
- III -
数据模型资源手册(卷3)数据模型通用模式
9.6 数据仓库模型
9.7 主数据管理数据模型
9.8 关于使用模型的其他想法
9.9 参考文献
第10 章社会化模式
10.1 社会化模式的意义
10.2 本章有哪些内容?
10.3 使用和社会化这些模式的经验
10.4 什么使得社会化模式与众不同?
10.5 理解动机为什么有些人使用而有些人却不使用这些模式?
10.6 为模式的使用制定一个明确的、共同的令人信服的愿景
10.7 建立信任,让人们可以信赖模式
10.8 管理模式的抵抗和/或冲突
10.9 关于社会化模式的其他意见
10.10 参考文献
索引