第一范式
一范式就是属性不可分割。
1、每一列属性都是不可再分的属性值,确保每一列的原子性
2、两列的属性相近或相似或一样,尽量合并属性一样的列,确保不产生冗余数据
知识兔第二范式
二范式就是要消除冗余。
只要数据列中出现数据重复,就要把表拆分开来。
例:一个人同时订几个房间,就会出来一个订单号多条数据,这样子联系人都是重复的,就会造成数据冗余。我们应该把他拆开来。
知识兔第三范式
三范式就是要消除传递依赖。
数据不能存在传递关系,即每个属性都跟主键有直接关系而不是间接关系。像:a-->b-->c 属性之间含有这样的关系,是不符合第三范式的
知识兔总结
三大范式只是一般设计数据库的基本理念,可以建立冗余较小、结构合理的数据库。
如果有特殊情况,要特殊对待,数据库设计最重要的是看需求跟性能,需求 > 性能 > 表结构
知识兔