设有关系模式R(A,B,C,D),其上的函数依赖集: F={A→C,C→A,B→AC,D→AC} (1).计算(AD)+。 (2).求F的最小等价依赖集Fm。 (3).求R的关键字。 (4).将R分解使其满足BCNF且无损连接性。 (5).将R分解成满足3NF并具有无损连接性与保持依赖性。
| (1).令X={AD},X(0)=AD,X(1)=ACD,X(2)=ACD,故(AD)+=ACD。
(2).将F中的函数依赖右部属性单一化: A→C C→A F1= B→A B→C D→A D→C
在F1中去掉多余的函数依赖:
∵B→A,A→C ∴B→C是多余的。
又∵D→A,A→C ∴D→C是多余的。
A→C C→A
F2= B→A D→A
函数依赖集的最小集不是唯一的,本题中还可以有其他答案。
∵F2中所有依赖的左部却是单属性,∴不存在依赖左部有多余的属性
∴ A→C C→A
F= B→A D→A
(3). ∵BD在F中所有函数依赖的右部均未出现
∴候选关键字中一定包含BD,而(BD)+=ABCD,因此,BD是R唯一的候选关键字。
(4). 考虑A→C
∵AC不是BCNF(AC不包含候选关键字BD),将ABCD分解为AC和ABD。
AC已是BCNF,进一步分解ABD,选择B→A,把ABD分解为AB和BD。
此时AB和AD均为BCNF
∴ρ={AC,AB,BD}。
(5).由(2)可求出满足3NF的具有依赖保持性的分解为ρ={AC,BD,DA}。
判断其无损连接性如下表所示,由此可知ρ不具有无损连接性。 | Ri A B C D AC a1 a3 BA a1 a2 a3 DA a1 a3 a4
令ρ=ρ∪{BD},BD是R的候选关键字
∴p={AC,BA,DA,BD}。