聊聊传统数据建模(四) 聊聊概念数据模型

486 阅读3分钟

今天聊聊概念数据模型,概念模型的定义是围绕企业核心业务价值建立的基础又关键的模型信息,其内容大多是描述应用程序频繁定义的范围和重要术语以及高层次的业务流程的解决方案。

概念模型是一种单页模型,是为特定的用户在限定的业务范围内按照业务需求设计的,在建立概念模型的过程中需要排除低层次的细节体现,较低层次的概念需要在更关注细节的逻辑模型中体现。

1. 概念模型的组成和解释

  • 关键:基础且关键。 基础代表被频繁提及,关键代表在业务流程中不可缺失。
  • 定义:概念模型需要包含对概念的清晰完整的定义
  • 作用关系:概念模型间的关系即为业务规则。
  • 概念模型举例:

image.png

2. 概念模型的作用

  • 辅助业务和it决策
  • 辅助记录和解决在同一概念上的不同观点。
  • 提高数据模型精确度
  • 提供广泛的理解
  • 范围的定义以及指导
  • 提供积极的分析
  • 建立IT部门以及其它业务部门之间的融合关系

3.关系型CDM的建立步骤

关系型CDM主要关注关键概念和相关的业务规则,关注业务规则,如每位顾客都可以订购一个或者多个订单。

1. 提出五个策略性问题(先决条件)
	- 应用程序将要做什么?
	- 正如还是将要?as: 是否对当前业务环境进行建模?to be: 还是对新的业务环境进行建模?
	- 统计分析是必须的吗? 维度模型化的必要性
	- 谁使用户?谁是检查者?谁是接受者?
	- 灵活性还是简洁性
2. 在范围内识别出所有的概念
	- 谁? who?
	- 什么? what?
	- 何时? when?
	- 何地? where?
	- 为何?why?
	- 如何? how?
3. 确定都被准确完备的定义并且确定了关联关系
	- 实体A是否可以关联多个实体B?
	- 实体B是否可以关联多个实体A?
	- 实体A是否可以在没有实体B的情况下存在?
	- 实体B是否可以在没有实体A的情况下存在?
	- 实体A的实例是否有助于交流沟通?(是否形成子类型?)
	- 实体B的实力是否有助于交流沟通?(是否形成子类型?)
	- 实体A对于某概念生命周期的解释是否重要?(是否形成子类型?)
	- 实体B对于某概念生命周期的解释是否重要?(是否形成子类型?)
4. 确定有效形式保证工作成果能够被使用(面向用户和沟通对象建模)
5. 检查并确认,获得向逻辑模型阶段的推进的认可

4.维度型CDM的建立步骤

延用关系型的五个步骤,但是侧重点有所不同,维度型CDM关注一个或多个量度的关键概念,如我想要浏览客户的销售总额,描述业务如何被监控的过程和不同层级分析问题时的导航路径,关注业务问题。下图是一个维度型CDM示例:

image.png

账户余额作为一个事实表,在概念和逻辑模型中被称为量度计(测量业务健康程度,包含一组度量值)。

  • 维度模型在第二步识别概念的过程中,不在是关注实体,而是关注业务问题
1. 展示近五年来,每学期得到的财政资助的学生数目?
2. 近三年来,每学期得到许可的学生数目?
3. 10年来,有多少学生申请该大学?
4. 近5年来,获得全额奖学金的数目?

  • 粒度矩阵

image.png 对每一个进行业务问题的分析,每个问题的量度变成行(学生数目),细节水平变成列(指标)。