数据仓库的模型设计
A. 数据建模方法论
数据仓库模型设计遵循“自顶向下、逐步求精”的设计原则。
模型设计分为三个阶段:
1、概念模型
对业务的范围和使用,从高度上进行抽象概括,也就是划分主题域。
为什么要划分主题域?
划分主题域,是根据业务的应用和需要来划分的,是用来达到数据与业务紧耦合的目的。
2、逻辑模型
对概念模型中的主题进行细化,定义实体与实体之间的关系,和实体的属性。
即定义具体表的作用,表与表的约束,表的字段。形成ER图。
这些实体的设计都是基于业务规则,可以说,这一阶段主要面对的是业务。也就是“业务驱动建模”
3、物理模型
依照逻辑模型,在数据库中进行建表、索引等。数据仓库,为了满足高性能的需求,可以增加冗余、隐藏表之间的约束等反第三范式操作。
这一阶段,主要针对的是数据库、硬件、性能。
范式:
第一范式:数据库表的字段都是单一属性,不可再分。
第二范式:数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖。
(部分函数依赖指的是存在组合关键字中的某些字段决定非关键字段的情况)。即要求所有属性都依赖于主键。
第三范式:数据库表中不存在非关键字段对任一候选关键字段的传递函数依赖。
范式是向下兼容的。
星型模型和雪花模型
首先,他们都是由一个事实表和一组维度表组成。
星型模型,也被称为维度建模。
区别在于:
星型模型:维度表直接跟事实表连接,图型像星星。
雪花模型:一些维度表不是直接与事实表连接,而是通过维度表中转,图形像雪花。
xx经分系统的数据架构图:
概念模型阶段要做的事,总结一句话来说,”找到你开发设计的系统,业务层面核心的实体和关系;
逻辑模型阶段要做的事,总结一句话来说,“整理完善系统所有实体、实体间的关系,给实体添加字段属性”;
物理模型阶段要做的事,总结一句话来说,”通过case工具(例如:powerdesigner)由逻辑模型自动生成物理模型(可生成不同数据库类型的DDL语句、数据字典)”,
- 1、who 业务紧密联系的人员和组织
- 2、what 业务相关的事,或者产出
- 3、when 属性
- 4、where 业务地点、实体的、虚拟的
- 5、why 管理什么,动词。
- 6、how 什么样的形式管理
重要实体的定义在概念模型设计阶段确定,逻辑模型阶段逐步完善。