如果另一组函数依赖项 E 中的每个 FD 也在 F 的闭包中,则称一组函数依赖项 (FD) F 覆盖另一组函数依赖项 E;也就是说,如果 E 中的每个依赖项都可以从 F 推断出来。或者,我们可以说 E 被 F 覆盖。如果 E+= F+,则两组函数依赖项 E 和 F 等价。也就是说,如果 E 覆盖 F 并且 F 覆盖 E,则 E 等价于 F。为了确定 F 是否覆盖 E,我们计算 E 中每个 FD X->y 关于 F 的 X+,然后检查 X+ 是否包含……阅读更多
如果无法在不丢失信息的情况下从分解后的表中重建原始表,则称分解是有损的。如果可以使用自然连接在不丢失任何信息的情况下重建原始表,则称分解是无损的。算法以下是检查分解是否有损或无损的算法:步骤1——创建一个包含 M 行和 N 列的表M=分解关系的数量。N=原始关系的属性数量。步骤2——如果分解关系 Ri 包含属性 A,则在位置 (Ri, A) 插入一个符号(例如“a”)步骤……阅读更多
一组函数依赖项 (FD) E 的最小覆盖是与 E 等价的依赖项 F 的最小集合。正式定义是:如果一组 FD F 满足以下条件,则它是最小的:F 中的每个依赖项的右侧只有一个属性。我们不能用依赖项 Y->A 替换 F 中的任何依赖项 X->A,其中 Y 是 X 的真子集,并且仍然有一组依赖项与 F 等价。我们不能从 F 中删除任何依赖项,并且仍然有一组依赖项与……阅读更多
属性 x 的闭包是关于 F 对 X 的函数依赖的所有属性的集合。它用 X+ 表示,表示 X 可以确定什么。算法让我们看看计算 X+ 的算法步骤 1——X+ =X步骤 2——重复直到 X+ 不再改变对于 F 中的每个 FD Y->Z如果 Y ⊆ X+ 则 X+ = X+ U Z示例 1考虑一个关系 R(A, B, C, D, E, F)F:E->A,E->D,A->C,A->D,AE->F,AG->K。查找 E 或 E+ 的闭包解E 或 E+ 的闭包如下所示: E+ = E = EA……阅读更多