若关系R的候选码都是由单属性构成的,则R的最高范式必定是( B )。
A. 1NF
B. 2NF
C. 3NF
D.无法确定
为什么是2NF的

若关系R的候选码都是由单属性构成的,则R的最高范式必定是
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
关注
先温习基础知识:
若关系中的一个属性或属性组的值能够唯一地标识一个元组,且他的真子集不能唯一的标识一个元组,则称这个属性或属性组做候选码。
若一个关系有多个候选码,则选定其中一个为主码。
1NF:确保每个属性都是原子性的,即不可再分。一个属性中不能包含另一个属性的集合,例如一个地址属性中不能包含街道、城市、国家等属性。
2NF:在满足1NF的基础上,每个非主属性完全依赖于主键,而不是只依赖于主键的一部分。如果主键是由多个属性组成的复合键,那么非主属性就要依赖于所有的主键属性,而不是只依赖于其中一部分。
3NF:在满足2NF的基础上,每个非主属性不依赖于其他非主属性。换句话说,每个非主属性都必须直接依赖于主键。如果存在非主属性之间的依赖关系,就要把它们拆分成单独的表,每个表都应该有自己的主键。
下面分析选项:
R是一个关系,关系型数据库的关系必然满足1NF,即每个属性都是原子的,而不是复合的。
在R满足1NF的基础上,由于关系R的候选码都是由单属性构成的,因此即便存在非主码属性依赖于主码属性,那也只能完全依赖于主码,而不能部分依赖于主码,因此R满足2NF。
“关系R的候选码都是由单属性构成的”不能保证关系R的每个非主属性不依赖于其他非主属性。如果R的非主属性之间存在传递依赖关系,即存在一个非主属性A,它依赖于R的主属性,而另一个非主属性B又依赖于A,则R就不满足3NF。这时候就需要对R进行分解,使得新关系集合能够保持函数依赖关系,同时保持数据的一致性和完整性。因此,关系R不满足3NF。
因此,关系R最高必然满足2NF,不一定满足3NF,所以选B。
如果我的回答对你有帮助,还望采纳。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 11无用 1