本文整理自网络,侵删。
前言:
关于数据库范式,时常有听说过,一直没有详细去了解。一般数据库书籍或数据库课程会介绍范式相关内容,范式也经常出现在数据库考试题目中。不清楚你是否对范式有比较清晰的了解呢?本篇文章我们一起来学习下数据库范式吧。
1.数据库范式简介
为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。
范式的英文名称是 Normal Form ,简称 NF 。它是英国人 E.F.Codd 在上个世纪70年代提出关系数据库模型后总结出来的。范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法。
目前关系型数据库有六种常见范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多规范要求的称为第二范式(2NF),其余范式以次类推。
2.常用范式详解
在设计数据库时,会参考范式要求来做,但是并不是说遵循的范式等级越高越好,范式过高虽然具有对数据关系有更好的约束性,但是也会导致表之间的关系更加繁琐,从而导致每次操作的表会变多,数据库性能下降。通常,在关系型数据库设计中,最高也就遵循到 BCNF ,普遍还是 3NF 。即一般情况下,我们使用前三个范式已经够用了。下面我们来详细了解下常用的前三个范式。
第一范式(1NF)
第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式。简单的讲第一范式就是每一行的各个数据都是不可分割的,同一列中不能有多个值,如果出现重复的属性就需要定义一个新的实体。
示例:假设一家公司要存储其员工的姓名和联系方式。它创建一个如下表:
两名员工(Jon&Lester)拥有两个手机号码,因此公司将他们存储在同一表格中,如上表所示。那么该表不符合 1NF ,因为规则说“表的每个属性必须具有原子(单个)值”,Jon&Lester员工的 emp_mobile 值违反了该规则。为了使表符合 1NF ,我们应该有如下表数据:
第二范式(2NF)
相关阅读 >>
mysql使用skip-name-resolve解决外网连接客户端过慢如何解决
mysql8.0.28winx64.zip安装配置方法图文教程
更多相关阅读请进入《mysql》频道 >>

数据库系统概念 第6版
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。