编写一个程序,该程序可以从一组超级键输入,并将所有可能的候选键从输入输出到输出文件(名为“候选键”)。 一个示例的超键如下所示: ABCF CDF ACDF BCDF ABCDF ABCEF CDEF ACDEF BCDEF ABCDEF
包含所有可能的候选键的输出: ABCF CDF
在该示例中,我不理解如何从超级键获取该结果,任何信息都将有所帮助。谢谢
答案 0 :(得分:1)
我认为,如果提供的超级键是关系的所有可能的超级键,则在其中找到候选键的算法如下:
考虑一对超级键S1,S2。如果S2中包含S1,则消除S2。如果S1中包含S2,则消除S1。否则请保留两者。
对所有对重复该操作,直到无法消除超级键为止。其余的应该是关系的候选键。