数据库中的范式

来源:互联网 发布:麦德斯 米科尔森 知乎 编辑:程序博客网 时间:2024/05/23 10:40
  • 平时对数据库进行操作的时候并没有注意过概念性问题,以致对一些概念并不能很好的表述出来,这里简单的对数据库中的范式进行描述,以便日后温习。

  • 数据库中的范式(NF)有第一范式、第二范式、第三范式、BCNF范式、第四范式以及第五范式。第一范式的范围最广,在第一范式的基础上再满足一些条件就有了第二范式,以此类推。其间关系简单表述为:5NF⊂4NF⊂BCNF⊂3NF⊂2NF⊂1NF。

  • 第一范式:每列保持原子性,不可再分解。即实体中的某个属性不能包含多个值(也就是在同一条数据的某个属性不能存储多个值)或不能有重复的属性,如果出现新的属性,就要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间是一对多关系。
  • 第二范式:确保表中的每列都和主键相关。第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,也就是满足第二范式必须先满足第一范式,第二范式的核心就是属性完全依赖于主键。
  • 第三范式:确保表中的每列都和主键列直接相关而不是间接相关。满足第三范式必须先满足第二范式,第三范式要求一个数据表中不能包含已在其他表中包含的非主键关键字,简言之就是属性不依赖于其它非主键属性。
  • BCNF范式:BCNF通常被认为是修正的第三范式,也叫扩充的第三范式。这里写图片描述
  • 第四范式:要求把同一表内的多对多关系删除。
  • 第五范式:从最终结构重新建立原始结构。