闭包计算

闭包计算

一个属性集 X 的闭包,记作 X⁺ 或 XF⁺(其中 F 是函数依赖的集合),表示所有在给定函数依赖集的基础上,能够被 X 函数决定的属性 [1]。

为了计算关系模式 R(U, F) 中某个属性集 X(X 是 U 的子集)的闭包 XF⁺,可以使用以下算法 [1]:

初始化:将 X(0) 初始化为 X 中的属性。设置计数器 i = 0 [1]。

寻找可推导出的属性集合 B:对于 F 中的每一个函数依赖 V → W,如果 V 中的所有属性都包含在当前的 X(i) 中,则将 W 中的所有属性加入集合 B [1]。

计算下一个集合 X(i+1):取 B 和 X(i) 的并集作为 X(i+1),即 X(i+1) = B ∪ X(i) [1]。

终止判断:检查 X(i+1) 是否与 X(i) 相同,或者是否包含了 U 中的所有属性。如果满足任一条件,则 X(i+1) 就是闭包 XF⁺,算法结束 [1]。

继续迭代:如果 X(i+1) 与 X(i) 不同,并且没有包含 U 中的所有属性,则将 i 增加 1(i = i + 1),返回步骤 2 继续执行 [1]。

这个迭代过程会不断向 X(i) 中添加新的属性,只要某个函数依赖的左部包含在当前集合中,就将其右部的属性也加入闭包,从而确保所有可由 X 推导出的属性都被包含在最终的闭包中 [1]。

使用闭包计算关系的键

超键在一个关系 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]:

只在左边的出现的节点一定存在于候选键中。(也就是候选键的一个一部分或者全部)

只在右边出现的节点一定不是候选键。(啥都不是,它只能被候选键推导出来 。是个铁废物)

两边都没有出现的节点,一定存在于候选键中。

两边都出现的节点有待观察。(让这些元素分别与已经确定的候选中的元素结合,利用闭包推导,看能不能推导出所有的元素。)

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

指向原始笔记的链接

相关推荐

斗鱼直播清晰度设置教程:一步步教您如何调整斗鱼直播画质
oppo手机相册分组方法
天天365彩票软件官方下载3D

oppo手机相册分组方法

📅 10-03 👁️ 8457
FIFA明确世界杯奖金分配机制,激励更透明
365bet在线官网

FIFA明确世界杯奖金分配机制,激励更透明

📅 01-20 👁️ 1975
“錬”的五笔编码是什么、“錬”五笔怎么样拆分、“錬”怎么读、“錬”笔画、“錬”意思
喜马拉雅好声音小雅旗舰版AI-003和小米小爱音箱 Pro哪个好|综合对比
天天365彩票软件官方下载3D

喜马拉雅好声音小雅旗舰版AI-003和小米小爱音箱 Pro哪个好|综合对比

📅 01-22 👁️ 9767
邮储银行悦享分期卡全面解析
365bet在线官网

邮储银行悦享分期卡全面解析

📅 09-20 👁️ 5307