理解数据库之设计范式

1. 第一范式(指原子性,不可分割)
数据库第一范式是指数据库中的每一列都是不可分割的原子值。例如设计地址字段时,如有需求需要经常访问地址中的城市,街道等信息时,就要把该字段继续分割。

2. 第二范式(指非主属性必须完全依赖于主属性)
数据库第二范式是指所有非主属性列都应该完全依赖于主属性,而不是只依赖主属性的一部分,这是在联合主键的情况下。在一个订单表中,一个订单可包含多个产品,那么该订单表的主键为(订单号,产品号),这种情况下订单表的非主属性必须完全依赖于该主键,不能存在例如产品名依赖于产品号而不依赖于订单号的列。

3. 第三范式(指非主属性列必须直接依赖于主属性,而不存在函数传递依赖)
数据库第三范式是指不能存在非属性A直接依赖于非属性B,非主属性B直接依赖于主属性的情况。

Tip:
第二范式与第三范式很容易混淆,但需要记住的点是,2NF是指完全依赖,不存在只依赖一部分。而3NF是指直接依赖,不存在传递依赖。

你可能感兴趣的:(数据库,数据库,数据库范式)