数据库设计范式
关系数据库中的关系必须满足一定的要求,即满足不同的范式。
关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴德斯科范式(BCNF)、第四范式(4NF)和第五范式(5NF)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以次类推。一般说来,数据库只需满足第三范式(3NF)就行了。
设计关系型数据库时,遵从不同的规范要求,设计出合理的关系型数据库。这些规范被称作范式。越高的范式数据库的冗余度就越低。
第一范式(1NF)
核心:无重复的列
数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项。如果实体 中的某个属性有多个值时,必须拆分为不同的属性
满足第一范式(1NF)是设计的最低要求。
第二范式(2NF)
先满足第一范式(高级别的范式的都是建立在低级别的范式之上的。谈第二范式,首先是要满足第一范式。)
属性完全依赖于主键
即一个表中不能有两个主键。
第三范式(3NF)
先满足第2范式
属性不能传递依赖于主属性(属性不依赖于其它非主键属性)
第三范式是标准数据库设计时的一般要求