超键

在一个关系 R 中,若一个属性集 K 能够函数决定 R 中的所有属性,则称 K 为一个 超键(superkey) 。

指向原始笔记的链接

利用闭包的概念,这意味着 K 的闭包 K⁺(或 KF⁺)必须包含关系模式 U 中的所有属性(即 K⁺ = U)[1]。

候选键

一个 候选键(key 或 candidate key) 是一个 极小的 超键。也就是说:

  • K 是一个超键(K⁺ = U),
  • 并且 K 的任何真子集都不是超键(即对于 K 的任意子集 K’,如果 K’ ≠ K,则 K’⁺ ≠ U)[1]。
指向原始笔记的链接

计算候选键

要使用闭包来找出关系的键,可以按照以下步骤进行 [1]:

  1. 只在左边的出现的节点一定存在于候选键中。(也就是候选键的一个一部分或者全部)
  2. 只在右边出现的节点一定不是候选键。(啥都不是,它只能被候选键推导出来 。是个铁废物)
  3. 两边都没有出现的节点,一定存在于候选键中。
  4. 两边都出现的节点有待观察。(让这些元素分别与已经确定的候选中的元素结合,利用闭包推导,看能不能推导出所有的元素。)

https://www.cnblogs.com/dyc-1234/p/6781846.html