📜  证明阿姆斯特朗公理的正确性

📅  最后修改于: 2021-09-08 15:32:49             🧑  作者: Mango

先决条件——阿姆斯壮公理在 DBMS 中的函数依赖
阿姆斯特朗提到,规则 1 到 3 具有完整性和稳健性。阿姆斯壮公理是合理的,因为它们不会产生任何不正确的函数依赖,并且它允许我们生成 F +闭包。

健全性的证明——
可以从给定的函数依赖集(F闭包)中用逻辑推导出来的函数依赖集和可以从阿姆斯壮公理(F armstrong )推导出来的函数依赖集是相同的。就集合而言,如果我们想证明相等,那么我们会提到一个是另一个的真子集。因此,我们需要证明,

Farmstrong  is a proper subset of Fclosure 
    for soundness.

这意味着应用阿姆斯壮公理后从 F 派生的所有事物都是正确的函数依赖关系,这个属性称为健全性。

考虑稳健性 –
{\displaystyle G\to E} 在 m 步之后,使用阿姆斯特朗公理从 F 推导出来。在每一步中,我们都会应用自反性、扩充性和传递性的规则。
(如果我们从数量只有 3 个的公理中推导出来,重复应用它们也会得到类似的结果。)

反身性规则——
该规则指出,如果 E 是 G 的真子集,则 G 蕴涵 E ( {\displaystyle G\to E} )。这个规则总是导致正确的函数依赖,因为它是一个平凡的函数依赖。

增强规则 –
该规则规定,对于{\displaystyle G\to E} ,如果我们在两边加上 Z,那么我们会得到{\displaystyle GZ\to EZ} ,这将是一个正确的函数依赖。
如果 t a和 t b在 G 和 Z (GZ) 中具有相同的对应值,
这意味着它们对于 G 具有相同的对应值,
这意味着它们对于 E 具有相同的对应值,因为 G 意味着 E,
这也意味着它们对应于 E 和 Z (EZ)。

传递性规则——
该规则规定,如果{\displaystyle G\to E} , {\displaystyle E\to Z} 然后 G 确定 Z ( {\displaystyle G\to Z} )
如果 t a和 t b在 G 中具有相同的对应值
这意味着它们对于 E 具有相同的对应值,因为 G 意味着 E 成立,
这也意味着它们对应于 E,因为 E 意味着 Z 成立。

因此,应用这 3 条规则总是会产生正确的函数依赖关系(即使我们应用它们 m 次)。
因此证明。