我也是最近才了解数据库范式。
所谓数据库范式就是在数据库设计的时候遵从不同的规范和要求,设计出合理的关系型数据库。
范式化设计的优点
- 可以尽可能的减少数据冗余
- 维护更新快速
- 范式化的表通常比非范式话的表要小,可以在内存中运行
目前关系数据库有六种范式:
第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)
它们的关系是循序渐进的
第一范式(1NF)
指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。
说得再多不如举一个实例更让人理解(每一列都是独立的、不可分割的数据,具有原子性)
ID | name | phone |
---|---|---|
0001 | 张三 | 110 |
0002 | 李四 | 119 |