一、定义
1、第一范式(1NF)
定义:有关系模式满足以下条件:“每一个分量必须是不可分的数据项”的即为第一范式(1NF)。
ps:基本上所有的关系模式都属于第一范式(1NF),因为第一范式的级别比较低。
2、第二范式(2NF)
定义:若 R∈1NFR∈1NF,且每一个 非主属性 完全函数依赖 于 任何 一个候选码,则R∈2NFR∈2NF。
PS:如果题目中我们得到某个关系模式不含有非主属性,那么这个关系模式必定属于2NF。
3、第三范式(3NF)
定义:设关系模式 R∈1NFR∈1NF
,若R中不存在这样的码X,属性组Y及非主属性Z(ZYZY)使得 X→YX→Y , Y→ZY→Z 成立,且Y-/->X,则称
R∈3NFR∈3NF
定义看不懂,那就看下面的就明白了:
(1)由定义可以证明:若 R∈3NFR∈3NF ,则每一个非主属性既不传递依赖于码,也不部分依赖于码。
(2)如果R属于3NF,则必有R属于2NF。反之则不一定成立。
(3)PS:如果题目中我们得到某个关系模式不含有非主属性,那么这个关系模式必定属于3NF。
4、BC范式(BCNF)
一般认为BCNF是修正的第三范式,有时也称为扩展的第三范式。
定义:
关系模式 R∈1NFR∈1NF ,若X→YX→Y 且 YXYX时X必含有码,则R∈BCNFR∈BCNF
由定义还可以得到:
结论:
所有非主属性对每一个码都是完全函数依赖。
所有主属性对每一个不包含它的码也是完全函数依赖。
没有任何属性完全函数依赖于非码的任何一组属性。
看不懂可以这样理解:
要属于BCNF,则每一个函数依赖关系的决定性因素(也就是箭头-->左边的集合)必须含有码。
还不理解通过一个例题来明白:
例:关系模式SJP(S,J,P),其中S代表学生,J代表课程,P代表名次,此关系模式是不是属于BC范式?
解:
候选码:(S,J),(
1、第一范式(1NF)
定义:有关系模式满足以下条件:“每一个分量必须是不可分的数据项”的即为第一范式(1NF)。
ps:基本上所有的关系模式都属于第一范式(1NF),因为第一范式的级别比较低。
2、第二范式(2NF)
定义:若 R∈1NFR∈1NF,且每一个 非主属性 完全函数依赖 于 任何 一个候选码,则R∈2NFR∈2NF。
PS:如果题目中我们得到某个关系模式不含有非主属性,那么这个关系模式必定属于2NF。
3、第三范式(3NF)
定义:设关系模式
定义看不懂,那就看下面的就明白了:
(1)由定义可以证明:若 R∈3NFR∈3NF ,则每一个非主属性既不传递依赖于码,也不部分依赖于码。
(2)如果R属于3NF,则必有R属于2NF。反之则不一定成立。
(3)PS:如果题目中我们得到某个关系模式不含有非主属性,那么这个关系模式必定属于3NF。
4、BC范式(BCNF)
一般认为BCNF是修正的第三范式,有时也称为扩展的第三范式。
定义:
关系模式 R∈1NFR∈1NF ,若X→YX→Y 且 YXYX时X必含有码,则R∈BCNFR∈BCNF
由定义还可以得到:
结论:
所有非主属性对每一个码都是完全函数依赖。
所有主属性对每一个不包含它的码也是完全函数依赖。
没有任何属性完全函数依赖于非码的任何一组属性。
看不懂可以这样理解:
要属于BCNF,则每一个函数依赖关系的决定性因素(也就是箭头-->左边的集合)必须含有码。
还不理解通过一个例题来明白:
例:关系模式SJP(S,J,P),其中S代表学生,J代表课程,P代表名次,此关系模式是不是属于BC范式?
解:
候选码:(S,J),(
