|
1
2
不是其他集合子集的集合。
任何超过1个元素的集合将包含上述元素之一,因此将不合格。 如果我使用4个属性集,我只有4个选项
任何超过4个元素的集合将包含上述元素之一,因此将不合格。 任何少于4个元素的集合将包含在上述其中一个元素中,因此将不合格。 等 |
|
|
2
2
对于5个键,最好使用蛮力。理解这些想法比计算更重要(DuDu/David给出了一个10个候选键的好例子,表明一组10个键是可能的,因此最大值至少是这么大)。 这个想法是什么?候选键是唯一属性的组合。因此,如果A是唯一的,那么A与任何其他列也是唯一的。一组候选密钥简单地是:
如果这些都是唯一的,那么 任何 键的组合将包含这些属性中的至少一个,并且组合也是唯一的。因此,这五个的唯一性意味着任何其他组合的唯一性。 5不是具有此属性的最大候选键数。
我们可能假设的一件事是,最大的候选密钥集具有相同长度的密钥。这是事实。为什么?如果我们有一组不同长度的键,我们可以通过添加任意属性来延长较短的键,并且仍然有一个最大值集。 因此,您只需要考虑1、2、3、4和5键的子集。当你计算出来时,你会发现最大的数字是:
您可以在开头添加一个“1”,您可以识别模式。这是从 Pascal's Triangle 顺便提及,长度3的集合是:
|