数仓建模—建模方法论之范式建模
三大范式是关系数据库(OLTP)设计表结构所遵循的规范和指导方法,主要用于提高数据库的逻辑结构质量,避免数据冗余和更新异常,目的是为了减少冗余,通过结构合理的数据库,从而提高数据存储和使用的性能,三大范式之间是具有依赖关系的,比如第二范式是在第一范式的基础上建设的、第三范式是在第二范式的基础上建设的。
这里我们只介绍范式中常用的三大范式,当然 Mysql 数据库的范式不止三大范式,除了三大范式,还有巴斯-科德范式(BCNF)、第四范式(4NF)、第五范式(5NF,又称“完美范式")。
虽然,遵循范式能使我们的数据库结构更合理,但是也不是一成不变的,偶尔我们也要学会在范式的基础,根据实际应用场景,作出相应的变通。
三大范式
第一范式 - 1NF
遵循原子性。即,表中字段的数据,不可以再拆分。
先看一个不符合第一范式的表结构,如下:
员工编码 | 姓名 | 年龄 |
---|---|---|
001 | 销售部小张 | 28 |
002 | 运营部小黄 | 25 |
003 | 技术部小高 | 22 |
在这一个表中的,姓名 字段下的数据是可以再进行拆分的,因此它不符合第一范式,那怎么样才符合第一范式呢&