在写这篇博文之前,我想抛开那些晦涩的官方的定义,用通俗的话来说一下范式,因为我觉得那些苦涩难懂,并且,我们也没有必要将它们完全记住。下面先来简单的看一下范式的描述。
Normal Form前言
在数据库设计的关系模式设计中,缺少范式,经常会使我们的表出现插入异常,删除异常,添加异常和代码冗余。范式的出现正是为了解决这一问题。这是范式作用的通俗解释。
然后我们来看一下范式的定义:符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理化程度,总之,范式的出现就是要让我们的关系模式设计更加合理化。
Normal Form的分类
范式的常用的分类有三种:N1(第一范式),N2(第二范式),N3(第三范式),除此之外,还有针对于第三范式进行修正的Boyce-Codd范式(BCNF),以及不怎么常用的N4(第四范式)和N5(第五范式)。
范式的级别都是层层递进的,比如N2就是在N1的基础上而来的,因此,我们知道,满足N2首先你就得满足N1,所以范式的等级并不是层层独立的,每一层都建立在上一层之上。
1.第一范式
第一范式,通俗的讲,就是只要是符合N1的关系,每个属性都不可再分,这是关系设计的基础,比如我们看一张表。