下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

理解数据库的规范化之1NF,2NF和3NF的区别

作者:课课家教育     来源: http://www.kokojia.com点击数:5101发布时间: 2018-02-04 13:00:27

标签: 数据库设计数据库结构

  关系数据库设计的方法之一就是满足适当范式的模式,通常可以通过判断分解后的模式达到几范式来评价规范化的程度。这样,不仅有助于对数据库进行相应的存取操作,还可以极大简化应用程序中的其他内容(查询、窗体、报表、代码等)。
  范式:英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的,范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法。目前有迹可寻的共有8种范式,依次是:1NF,2NF,3NF,BCNF,4NF,5NF,DKNF,6NF。通常所用到的只是前三个范式,即:第一范式(1NF),第二范式(2NF),第三范式(3NF)。下面就简单介绍下这三个范式。

理解数据库的规范化之1NF,2NF和3NF的区别_数据库_设计_数据库结构_课课家教育
  1NF(第一范式)
  第一范式是指数据库表中的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。
  如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。第一范式的模式要求属于值不可分裂成更小部分,即属性项不能是属于组合或是由一组属性构成。
  1NF的限定条件如下:
  1.每个列必须有一个唯一的名称
  2.行和列的次序无关紧要
  3.每一行都必须有单个数据类型
  4.不允许包含相同值的两行
  5.每一列都必须包含一个单值(一个列不能保存多个数据值)
  6.列不能包含重复的组
  第一范式会存在更新、删除和插入异常
  2NF(第二范式)
  第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被唯一地区分。为实现区分通常需要为表加厚桑一列,以存储各个实例的唯一标识。
  如果关系模型R为第一范式,并且R中的每一个非属性完全函数依赖于R的某个候选键,则称R为第二范式模式(如果A是是关系模式R的候选键的一个属性,则称A是R的主属性,否则称A是R的非主属性)。
  2NF的限定条件如下:
  1.它符合第一范式
  2.所有的非键值字段均依赖于所有的键值字段
  第二范式也会存在更新、删除和插入异常。
  3NF(第三范式)
  如果关系模型R是第二范式,且每个非主属性都不传递依赖于R的候选键,则称R是第三范式的模式。
  3NF的限定条件如下:
  1. 符合2NF
  2. 不包含传递相关性(即,一个非键值字段的值依赖于另一个非键值字段的值)。
  第二范式(2NF)和第三范式(3NF)的概念容易混淆,区分它们的关键点在于,2NF:非主键列是否完全依赖于主键,还是依赖于主键的一部分;3NF:非主键列是直接依赖于主键,还是直接依赖于非主键列。

赞(17)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程