超键
在一个关系 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]:
- 只在左边的出现的节点一定存在于候选键中。(也就是候选键的一个一部分或者全部)
- 只在右边出现的节点一定不是候选键。(啥都不是,它只能被候选键推导出来 。是个铁废物)
- 两边都没有出现的节点,一定存在于候选键中。
- 两边都出现的节点有待观察。(让这些元素分别与已经确定的候选中的元素结合,利用闭包推导,看能不能推导出所有的元素。)