数据仓库的建模方法
一: 范式建模
1、每个属性值唯一,不具有多义性;
2、每个非主属性,必须完全依赖于整个主键,而非主键的一部分;
3、每个非主属性不能依赖于其他关系的属性
业务数据模型转向模型,同样也需要数据仓库的域模型,也叫概念模型,同时也要有域领域的逻辑模型
- 数据仓库的域模型比业务系统的主题范围更加广泛
- 数据仓库的逻辑模型需要从数据模型的逻辑中的抽象实体
二:维度建模法
按照事实表,维度表来构建数据仓库的数据集市《星型模型》,星型模型针对各个维度做了大量的预处理,按照维度进行预先的统计,能够极大的提升数据仓库的处理能力。
- 优点:维度建模非常直观,可以直观的反应业务模型的业务问题。
- 缺点:会有大量的数据处理工作;
当业务发生变化时,需要重新定义维度的定义,往往要重新进行维度数据的预处理,会产生大量的数据冗余。
三:实体建模法
两个实体产生的关系和行为,是一种抽象客观世界的方法。
所以该建模方法只是适用于业务建模和领域建模。
- 业务建模阶段:首先要清楚业务的几个主线,主线业务内分析业务主题
- 领域建模阶段:很重要的阶段
1、抽象方法层,整个数据模型的核心方法,领域概念建模的实体的划分通过这种方法来实现。
2、领域概念层,抽象程度高低的不同,实体的理解也不同,
3、具体业务层,具体的业务层只是领域模型中的一些不同组合而已。
4、业务主线层。
一般在业务建模的时候,已经完成这方面的划分,一般通过这种大的业务主线来划分整个业务模型的大框架。 - 逻辑建模阶段
1、实例化每一个抽象的实体
2、找出抽象实体间的联系并将其实例化
3、找出抽象事件的关系,并将其实例化
这个阶段要表达出实体的属性,以及实体与实体之间的关系。
四:物理建模阶段
将前面的逻辑数据建模落地的一个过程。
- 生成创建表的脚本,不同的数据仓库平台可能生成不同的数据库的脚本。
- 针对数据集市的要求,按照维度建模的方法生成一些事实表维度表的工作。
- 针对数据仓库的ETL和元数据的管理的需要,生成一些数据仓库维护的表,日志等。