概念
关系型数据库设计的一种标准化过程,目的是消除冗余数据,提高数据存储的效率和数据的完整性。
关系
三大范式是一级一级依赖的,第二范式建立在第一范式上,第三范式建立在一第二范式上。
特点
第一范式(1NF):列不可再分,其特点是每一个属性必须是原子性的,且每一列都是同一类型,换言之,在一个列中,不可存在多个属性值,如订单表中,订单号只能是一个且唯一;
第二范式(2NF):主键确保行数据的唯一性,是建立在第一范式的基础上,消除部分依赖,使每个非主键的属性与主键存在完全的依赖性。
第三范式(3NF):表的非主属性不能依赖于其他表的非主属性,也就是说每一张表的都是一个类型的全描述,如商品名称属性,只能在商品表中,而不是存储在订单表中,消除传递依赖,确保非主属性只与主键直接关联,而不是通过其他属性进行关联。
总结
- 1NF消除重复,确保数据的原子性;
- 2NF强调了主键的依赖性;
- 3NF强调了数据的完整性,避免了传递依赖;
- 三范式表述了我们设计数据库的过程中的合理性及可操作性,同时要求保证数据完整性;
- 三范式不是固定的,需要结合现场业务来考虑,过度的遵从有时会降低查询性能,所以有的时候数据该冗余还得冗余。