3NF VS 维度模型

关系模型更面向“技术”层面,要满足3NF对表进行范式化,属于物理模型;而维度模型,其物理底层实际上还是表和关系,但从概念上有了进一步抽象,面向“业务”层面,尤其符合DW的主题特性

3NF

1)第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。简而言之,第一范式就是无重复的列。

2)第二范式(2NF)要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。简而言之,第二范式就是非主属性非部分依赖于主关键字(消灭部分依赖)。

3)第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。简而言之,第三范式就是属性不依赖于其它非主属性(消灭传递依赖)。

维度模型

维度模型是建立在关系型数据库的基础上,是从『业务人员使用方便』的角度考虑,将数据以一种业务人员可以理解的、满足查询性能要求的、灵活多变的方式进行了包装。

维度模型是将关系模型的层次结构展开平铺而成,究其本质而言,是将层次化的数据结构展开为单一层次,有点类似于将一个业务过程的数据汇总到一个excel的sheet页中。

对比

2016-12-13 00:10 16 数据仓库 数据建模
Comments
Write a Comment