单选题 A.H→I,H→J,J→K,IJK→L,L→H B.H→I,H→J,J→K,IJ→L,L→H
C.H→I,H→J,J→K,IJ→L,L→K D.H→I,J→K IJ→L,L→H,L→K

【正确答案】 B
【答案解析】(35)~(37)[分析]
如果函数依赖集F 满足下列条件,则称F 为最小函数依赖集或最小覆盖:
·F中的任何一个函数依赖的右部仅含有一个属性:
·F中不存在这样一个函数依赖X→A,使得F与F→{X→A}等价;
·F中不存在这样一个函数依赖X→A,X有真子集Z使F-{X→A}∪(Z→A}与F等价。
试题(35)选项A中,由于J→K,故IJK→L中K是冗余属性,因此选项A.是错误的:选项C中的L→H被去掉了,导致无法从选项C中根据Armstrong 公理系统导出L→ H,因此选项D是错误的;选项D中的H→J被去掉了,导致无法从选项D中根据Armstrong公理系统导出H→J,因此选项D是错误的。
试题(36)候选键共有3个,分析如下:
算法:对于给定的关系模式R<U,P>,其中U为属性集合,F为函数依赖集。
1)依照函数依赖集F将R中的所有属性分为L类、R类、LR 类和N 类属性,令X 为L、 N 类属性的集合,Y 为LR 类属性集合;
2)若X=U,则X 为R 的唯一候选码,结束;否则,转3);
3)逐一取Y 中的单一属性A,若(XA)=U,则XA 为候选码,令Y=Y-{A},转(4):
4)依次取Y中的任意两个、三个……属性与XZ 组成属性组,若XZ 不包含已求得的候选码,关于F 的闭包(XZ),若(XZ)=U,则XZ 为候选码。直到取完Y 中的所有属性为止,算法结束。
本题在函数依赖集F 中无L 类和N 类属性,所有属性都是LR 类属性,因此,X=Φ,Y={H,l J,K,L}。
1)我们分别取Y 中的单一属性求闭包。
(H)=U,H 是候选码。
(I)=I≠U,I 不是候选码。
(J)=JK≠U,J 不是候选码。
(K)=K≠U,K 不是候选码。
(L)=U,L 是候选码。
此时Y 去掉H和L,Y{I,J,K}。
2)取Y 中的两个属性求闭包。
(IJ)=U,IJ 是候选码。
(IK)≠U,IK 不是候选码。
(jK)