数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。 减少冗余。
1.第一范式(1NF)属性不可再分
每一个属性都是不可再分的属性值,具有原子性。
比如:地址(省、市,区)是可再分属性,不符合第一范式。
2.第二范式(2NF)非主属性完全依赖于主键
必须先满足第一范式(1NF)。 所有的非主属性完全依赖于主键,不能部分依赖。
例如:
一个表中有5个属性:key1、key2、value1、value2、value2;其中key1和key2组成主键。
第二范式就是说 列1、2、3 完全依赖于key1+key2,而不是仅依赖于key1或仅依赖于key2。
3.第三范式(3NF)消除了非主属性对码的传递依赖
必须先满足第二范式(2NF)。 数据不能存在传递关系,即每个属性都跟主键有直接关系而不是间接关系。
例如: 主属性Sno -> 非主属性Status -> 非主属性City