谈维度建模和范式建模之前,先了解下模型设计的三个阶段吧。。
- 概念模型 将业务划分成几个主题
- 逻辑模型 定义各种实体、属性、关系
- 物理模型 设计数据对象的物理实现,比如表的命名规范、字段的命名规范、字段类型等
一、范式建模
我先来介绍一下范式。。。
- 范式:即关系模式。一张数据表的表结构,符合的设计标准的级别
- 目的在于降低数据的冗余性和保证数据的一致性。缺点是获取数据时,需要通过Join拼接出最后的数据。
常见的范式有:
- 域都应该是原子性。即数据不可分割 特殊:json
- 在1NF的基础上,实体的属性完全依赖主关键字,不能存在仅依赖主关键字一部分的属性。即不能存在部分函数依赖
- 在2NF的基础上,任何非主属性不依赖于其它非主属性。即消除传递依赖
看了这些概念后,一定看的很懵吧。。。
第一范式
第二范式
我先来说说 函数依赖是什么吧。。。
部分函数依赖:AB一起可以得到C,单独通过A或B都可以得到C,那么说C部分依赖于AB
完全函