第一范式(1NF)
确保每列保持原子性
要求数据库表的每一列都是不可分割的原子数据项
原子性:保证每一列不可再分
在上表中,“家庭信息”和“学校信息”列均不满足原子性的要求,故不满足第一范式,应该调整如下,调整后的每一列都是不可再分的,因此满足第一范式。
第二范式(2NF)
在1NF的基础上,属性完全依赖于主键
第二范式需要确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)。
话不多说,直接上例子。
在上表中,同一个订单中可能包含不同的产品,因此主键必须是“订单号”和“产品号联合组成,但可以发现,产品数量、产品折扣、产品价格与“订单号”和“产品号”都相关,但是订单金额和订单时间仅与“订单号”相关,与“产品号”无关