数据库范式

数据规范化就是让数据库中重复的数据减到最少,让我们能够快速的找到所要的数据,以提高关系式数据库的性能.

规范化分析是油E.F Codd博士提供的.

第一范式(1st Normal Form 简称1NF)

有如下规则:

  1. 表中必须有主键,而其他的列都"依赖"于主键。
  2. 每个列只存储单一值。
  3. 表中没有相同的多个列,重复列。

第二范式(2nd Normal Form 简称2NF)
有如下规则

  1. 必须符合1NF的格式。
  2. 各列与主键间没有"部分依赖"。

    部分依赖只有主键是多个的时候才会发生,指某些列只与主键中部分列有依赖性,而与主键中其他列没有依赖性。

    部分依赖会造成下列问题:

  3. 新建数据可能无法添加(某些主键可能为空)。
  4. 更改数据时候没有效率。
  5. 删除数据时候可能会同时删除仍有用的数据。

第三范式(3rd Normal Form 简称3NF)

有如下规则:

  1. 符合2NF格式。
  2. 各列与主键间没有"间接依赖"的关系。

    "间接依赖"是指两个列并非直接依赖,而是借助第三列来达成数据依赖的关系。某个列与主键无关,是通过中间一个列建立依赖。

Boyce-Codd Normal Form(简称BCNF 广义的3NF)

广义的 3NF多规范了主键由多个列组成的表。

  1. 符合2NF的格式。
  2. 各列与主键没有"间接依赖"的关系。
  3. 主键中的各列不可以依赖于非主键的列。

     

 

原文地址:https://www.cnblogs.com/zhangshufeng/p/3255919.html