数据库的三范式:
第一范式(1NF)
概念:数据库表中的字段都是单一属性的,不可再分。即:对属性的原子性约束。
说明:单一属性的类型包括整型、字符型、逻辑型、日期型等。注:集合、数组等类型不属于单一属性的类型。
第二范式(2NF)
前提:满足第二范式的前提是先满足第一范式。
概念:非主属性必须完全依赖于主键。 即:对记录的唯一性约束。
说明:主键可能由多个属性构成,完全依赖指不存在非主属性依赖于主键中的某一部分属性。
第三范式(3NF)
前提:满足第三范式的前提是先满足第二范式。
概念:任何非主属性不依赖于其它非主属性,否则会出现数据的冗余。 即:对字段冗余性的约束。
说明:第二范式和第三范式都是在说 非主属性对其它属性的依赖关系:
第二范式的关键在于:非主属性是否是完全依赖主属性。
第三范式的关键在于:非主属性是直接依赖于主属性还是直接依赖于其它非主属性。