数据库问题:判断下列模式属于第几范式
问题描述:
数据库问题:判断下列模式属于第几范式
R3(A,B,C,D),F3={AB→CD,C→A,D→B}
R4(A,B,C,D),F4={AB→CD,C→AB}
答
R3(A,B,C,D),F3={AB→CD,C→A,D→B}
码包括AB,CD,BC,AD
所以,全是主属性,这里包含对码的部分函数依赖,所以是BCNF
R4(A,B,C,D),F4={AB→CD,C→AB}
码包括AB,C
其中有非主属性D对码的传递依赖,所以应该是三范式首先把关系里的码找到,然后根据各个范式的规则定义去逐级过滤。¯求候选关键字的经验方法:–若属性A仅出现在所有函数依赖的右部,则它一定不包含在任何候选关键字中;–若属性A仅出现在所有函数依赖的左部,则它一定包含在某个候选关键字中;–若属性A既出现在函数依赖的右部,又出现在左部,则它可能包含在候选关键字中;–在上述基础上求属性集闭包。 例子: 对于R(ABCDE), F={A®B, BC ®E, ED®A}求出R的所有候选关键字如果K是关键字, 则有K U, 所以只要判断KF+ =U 且K’F+¹U (K’ÍK) (CD)F+ ={CD} (CDE)F+ ={CDEAB} (CDA)F+ ={ABCDE} (CDB)F+ ={CDBEA}