在数据库中,有一个非常重要的概念,那就是 范式,它对存在于数据库中的表的数据结构直接起了决定性的作用,遵循不同的范式,就会得到不同的数据结构,在合适的场景选择合适的范式,可以起到事半功倍的效果,既然它那么重要,我们就开始好好聊聊它吧!

ppx.jpg

正文

在数据库中,大致分为五个范式

下面依次介绍它们

qidai.jpeg

第一范式

若关系模式r的每一个分量都是 不可再分 的数据项,则关系模式r属于第一范式

它存在的问题如下:

第二范式

若关系模式r属于第一范式,且每一个 非主属性 完全依赖于 ,则关系r属于第二范式

换句话说,就是当属于第一范式的r中,消除了 非主属性部分函数依赖,那么就属于第二范式

第三范式

当属于第二范式的关系r消除了 非主属性传递函数依赖 时,则关系r就属于第三范式

巴克斯范式

当属于第三范式的关系r消除了 主属性部分函数依赖传递函数依赖 时,则关系r就属于巴克斯范式

第四范式

第四范式限制关系模式的属性间 不允许非平凡非函数依赖多值依赖

结语

我们可以知道不同的范式之间存在着递进的关系,也就是说高级的范式包含低级的范式,从而形成一个阶梯型,我们可以通过分解,将一个低级的范式转为更高级的范式,这种过程就是规范化

当然不是范式越高越好,我们应该根据自己的项目规模选择合适的范式,这样才能在规范性与性能之间找到一个平衡点,从而构建出一个高性能的应用