数据库三大范式

2020-03-24  本文已影响0人  ebook_sea

在设计数据库或者更新数据库的过程中,我们往往需要考虑考虑数据库的范式,这样做的目的在于,首先可以消除修改异常,其次可以降低重复的数据,从而节省储存空间。

在了解数据库的三大范式之前,首先我们需要明确两个概念,部分依赖(partial dependency)和传递依赖(transitive dependency)。

部分依赖(partial dependency):某个属性只依赖主键的一部分。

传递依赖(transitive dependency):某个属性依赖于另一个不属于主键的属性。

了解这两个概念后我们就可以定义数据库的三大范式了。

第一范式(原子性):是针对于数据表的列的规范,即数据表的每一列都是不可分割的原子数据项,而不能是数组,集合,记录等非原子数据项。但是却可以存在部分依赖或传递依赖。

第二范式:在第一范式的基础上,要求非主键必须必须依赖全部主键数据。即不能存在部分依赖,可以允许有传递依赖。

第三范式:在第二范式的基础上,要求非主键属性不依赖与其他非主键属性,即部分依赖和传递依赖都不能存在。

下面可以通过一个例子来说明。

我们看到,这是一个满足第一范式的表的结构,它仍旧存在部分依赖和传递依赖。

我们将表进行拆分,这个时候表中只存在传递依赖,不存在部分依赖,满足第二范式。

最后我们将表进一步拆分,这个时候表的结构既没有了部分依赖,也不存在传递依赖,表结构符合第三范式。

上一篇下一篇

猜你喜欢

热点阅读