为什么数据库要范式,是为了规范化数据库。规范化的理论意义是:控制冗余,避免插入异常,删除异常和更新麻烦。
增强了数据库结构的稳定性和灵活性。
下面总结一下今天学习的数据库前3个范式。
首先介绍下几个概念:码,称为键或者键码。如果关系中的一个属性或者属性组能够唯一标识一个元组,他的真子集不能标识,则称这个属性为候选码(最小的超码)。包含在任何一个候选码中的属性称为主属性,反之为非主属性。
主码的两个性质:决定性和最小性。
第一范式:1NF,即每个分量必须是不可分的数据项。
第二范式:2NF,满足1NF的条件下,每一个非主属性完全依赖任何一个候选码。
第三范式:3NF, 满足1NF的条件下,每一个非主属性既不传递依赖于码,也不部分依赖于码。
BCNF范式: