Home > Database > Mysql Tutorial > 【DB】范式

【DB】范式

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-07 16:03:22
Original
1267 people have browsed it

在我的上一篇博客《【DB】函数依赖》中,主要讲解了什么是函数依赖以及局部和传递依赖(FD)。在没有FD时,关系中是不可能有数据冗余,但当FD存在时,关系中就有可能存在数据冗余。如何消除呢?答案是模式分解。那么分解成什么样子,如何来衡量关系模式的好与

在我的上一篇博客《【DB】函数依赖》中,主要讲解了什么是函数依赖以及局部和传递依赖(FD)。在没有FD时,关系中是不可能有数据冗余,但当FD存在时,关系中就有可能存在数据冗余。如何消除呢?答案是模式分解。那么分解成什么样子,如何来衡量关系模式的好与坏?答案是范式(NF)!

NF的种类与FD有着直接的联系,基于FD的范式有1NF、2NF、3NF、BCNF、4NF等多种。下面就分别介绍一下!

1NF

关系模式R的每个关系r,其属性为单值属性

2NF

消除局部依赖

3NF

消除传递依赖

BCNF

在3NF中,并没有排除主属性对候选键的传递依赖,如图所示:

n块?A?鷌嘌A裐喎?http://zz.2cto.com/tuiguang/推广。

3NF VS BCNF

非主属性与所有属性

BCNF VS 4NF

4NF针对的是多值依赖,关系r中的属性中有多值属性。

小结

1、2NF、3NF、BCNF都是以1NF为基础的,它们的前提是关系r的属性为单值属性。

2、2NF已成为历史,现在最常用的是3NF和BCNF。

3、我终于把范式弄明白了,很是高兴,看来只要你想弄明白,就没有解决不了的!

Related labels:
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template