关系模式R最高达到第几范式?为什么?

Python012

关系模式R最高达到第几范式?为什么?,第1张

第三范式

由于A,B,C都是关系的主属性,该关系中存在主属性间的部分函数依赖(AB→C),不属于BCNF。所以最高范式为第三范式。

例如:

R1(人员编号,姓名,性别)

R2(职位编号,职位名称)

R3(人员编号,职位编号,考试成绩)

扩展资料:

目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、Boyce-Codd范式(BCNF)、第四范式(4NF)和第五范式(5NF)。

满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以次类推。一般说来,数据库只需满足第三范式(3NF)就行了。

参考资料来源:百度百科-范式

R(A,B,C) F={B->C B->A A->AB}属于第一范式,具体解答如下:

1、存在非主属性对码的部分依赖,如:R(A,B,C),AB为码,B->C,则为1NF

2、存在非主属性对码的传递函数依赖,如:R(A,B,C),A->B,B->C,A为码,则为2NF

3、不存在非主属性对码的部分和传递函数依赖,如R(A,B,C),AB->C,C->B,码为AB和AC,A,B,C均为主属性,为3NFB

4、消除任何属性对码的部分和传递函数依赖,即每个函数依赖的左部都包含码,如R(A,B,C),A->C,A->B,则为BCNF4NF:关系中每个非平凡的多值依赖的左部都包含码,即消除非平凡且非函数依赖的多值依赖,如R(A,B,C),A->C,A->B,则为BCNF也为4NF,但如R(A,B,C),A->C,A->B,B-->C则为BCNF,非4NF,因为B-->C,B非码,且B-->C为非平凡的多值依赖,存在B-->A(多值依赖是对称的)

候选键是A或B。

A->C,

A->B,

A->BC,

BC->D,

A->D

所以A是key

B->A,所以B也是key

--------------------------------------------

是第一范式,因为满足每一个分量不可再分;

是第二范式,因为非主属性C

、D完全依赖于key;

是第三范式,因为非主属性C

、D对主属性A、B不存在传递函数依赖;

是BC范式,因为每一个决定因素必含有A或B;

是第四范式,因为不存在非平凡且非函数依赖的多值依赖。

(两个多值依赖,都含有主属性)

因此,最高是第四范式。