问题 单项选择题

设关系模式R<U,F>,其中U=H,I,J,K,L,若F=H→IJ,J→KIJK→L,L→H,L→K,则关系模式R的候选关键字是()。

A.H、L和IJ

B.H)、K)和L

C.K、L和IJ

D.H、K、L和IJ

答案

参考答案:A

解析:

函数依赖集F成为最小函数依赖集(或最小覆盖)需要满足的条件有:①F中的任何一个函数依赖的右部仅含有一个属性;②F中不存在这样一个函数依赖X→A,使得F与F—{X→A}等价;③F中不存在这样一个函数依赖X→A,X有真子集Z使F—{X→A}∪{Z→A}与F等价。

首先将函数依赖集F中左边相同的函数依赖合并,得到{H→IJ,J→K,IJK→L,L→HK};因为在F中有J→K、IJK→L,K是冗余属性,所以可以合并成IJ→L,即得到新的函数依赖集{H→IJ,J→K,IJ→L,L→HK}。接着对所得新的函数依赖集进行化简,进一步得到{H→I,H→J,J→K,IJ→L,L→H,L→K};由于存在L→H、H→J、J→K,因此可推导出L→K。可见在简化后的函数依赖集中L→K是冗余,可以删除,最后得到最小函数依赖集是{H→I,H→J,J→K,IJ→L,L→H}。在该最小函数依赖集中,所有函数依赖的左边属性的并集为{HIJL}。由于有L→H、H→I、H→J,因此可选候选关键字为{L};同理,由H→I、H→J,IJ→L推导出可选候选关键字为{H};由IJ→L、J→K、L→H推导出可选候选关键字为{IJ}。可见,关系模式R的候选关键字有3个,分别为{L}、{H}和{IJ},非主属性为{K}。

单项选择题
填空题