数据库范式规范化

为什么数据库要范式,是为了规范化数据库。规范化的理论意义是:控制冗余,避免插入异常,删除异常和更新麻烦

增强了数据库结构的稳定性灵活性

下面总结一下今天学习的数据库前3个范式。

首先介绍下几个概念:,称为键或者键码。如果关系中的一个属性或者属性组能够唯一标识一个元组,他的真子集不能标识,则称这个属性为候选码(最小的超码)。包含在任何一个候选码中的属性称为主属性,反之为非主属性。

主码的两个性质:决定性最小性

第一范式:1NF,即每个分量必须是不可分的数据项。

第二范式:2NF,满足1NF的条件下,每一个非主属性完全依赖任何一个候选码。

第三范式:3NF,  满足1NF的条件下,每一个非主属性既不传递依赖于码,也不部分依赖于码。

BCNF范式:

  1. BCNF意味着在关系模式中每一个决定因素都包含候选键,也就是说,只要属性或属性组A能够决定任何一个属性B,则A的子集中必须有候选键。

  2. BCNF范式排除了任何属性(不光是非主属性,2NF和3NF所限制的都是非主属性)对候选键的传递依赖与部分依赖。 

  3. BCNF是在函数依赖的条件下对模式分解所能达到的最大程度。

  4. 它已经实现了彻底的分离,已消除了插入和删除的异常。

  5. 也就是说消除了主属性对码的部分和传递函数依赖。

发布了8 篇原创文章 · 获赞 22 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/sunjinbat/article/details/79882878