设计数据库时,需要遵循的一些规范,要遵循后边的范式要求,必须先遵循前边的所有范式要求
数据库范式
第一范式:(1nf):每一列都是不可分割的原子数据
第二范式:(2nf):在1nf的基础上,非码属性必须完全依赖于候选码(1nf基础上消除非主属性对主码的部分函数依赖)
第三范式:(3nf):在2nf基础上,任何非主属性不依赖于其他非主属性(在2nf基础上消除传递依赖)
函数依赖:a-->b如果通过A属性的值可以确定b的值,则b依赖于a
完全依赖:a-->b如果a是一个属性组,则b属性值得确定需要依赖于a属性组中所有的属性值
部分依赖 a-b如果a是一个属性组,则b属性值确定只需要依赖a属性组中某一些值
传递依赖 a——b,b_c 通过a属性可以确定唯一b属性的值,在通过b属性可以确定唯一c属性的值,c传递依赖于a
码:如果在一张表,一个属性或属性组,被其他所有属性所完全依赖,则称这个属性为该表的码