数据库
首页 > 数据库> > 数据库三大范式

数据库三大范式

作者:互联网

1NF

所有属性不可再分。满足1NF是关系型数据表的前提。不满足1NF就不是关系型数据表。

2NF

非主属性完全依赖于主属性。
若非主属性仅部分依赖于主属性,则不符合第二范式。
举例:学号,课程号,学分,成绩 四个字段组成一张表格,(学号,课程号)构成主键。

应该改成:学号,课程号,成绩为一张表。课程号,学分为另一张表。

不满足第二范式会导致四大问题:

  1. 数据冗余。所有元组都需要学分字段,会重复很多遍。
  2. 更新异常。更新学分时,需要把所有元组的值都更新一遍。
  3. 插入异常。还没学生选过的课没法插入。因为学号作为主键不能为空。
  4. 删除异常。删除所有学生成绩会导致课程和学分也被删除。

3NF

不存在传递依赖关系,即非主属性之间没有依赖关系。
若非主属性传递依赖于主属性,则不符合第三范式
举例:学号,专业,专业描述 三个字段组成一张表格,学号是主键。

应该改成: 学号,专业为一张表。专业,专业描述为另一张表。
不满足第三范式也会导致两大问题:

  1. 数据冗余。
  2. 更新异常。

一般表的设计满足3NF就够了。

标签:专业,范式,数据库,满足,学分,主键,三大,属性
来源: https://www.cnblogs.com/lixingleon/p/15468833.html