先决条件——阿姆斯壮公理在 DBMS 中的函数依赖
阿姆斯特朗提到,规则 1 到 3 具有完整性和稳健性。阿姆斯壮公理是合理的,因为它们不会产生任何不正确的函数依赖,并且它允许我们生成 F +闭包。
健全性的证明——
可以从给定的函数依赖集(F闭包)中用逻辑推导出来的函数依赖集和可以从阿姆斯壮公理(F armstrong )推导出来的函数依赖集是相同的。就集合而言,如果我们想证明相等,那么我们会提到一个是另一个的真子集。因此,我们需要证明,
Farmstrong is a proper subset of Fclosure
for soundness.
这意味着应用阿姆斯壮公理后从 F 派生的所有事物都是正确的函数依赖关系,这个属性称为健全性。
考虑稳健性 –
在 m 步之后,使用阿姆斯特朗公理从 F 推导出来。在每一步中,我们都会应用自反性、扩充性和传递性的规则。
(如果我们从数量只有 3 个的公理中推导出来,重复应用它们也会得到类似的结果。)
反身性规则——
该规则指出,如果 E 是 G 的真子集,则 G 蕴涵 E ( )。这个规则总是导致正确的函数依赖,因为它是一个平凡的函数依赖。
增强规则 –
该规则规定,对于 ,如果我们在两边加上 Z,那么我们会得到 ,这将是一个正确的函数依赖。
如果 t a和 t b在 G 和 Z (GZ) 中具有相同的对应值,
这意味着它们对于 G 具有相同的对应值,
这意味着它们对于 E 具有相同的对应值,因为 G 意味着 E,
这也意味着它们对应于 E 和 Z (EZ)。
传递性规则——
该规则规定,如果 , 然后 G 确定 Z ( )
如果 t a和 t b在 G 中具有相同的对应值
这意味着它们对于 E 具有相同的对应值,因为 G 意味着 E 成立,
这也意味着它们对应于 E,因为 E 意味着 Z 成立。
因此,应用这 3 条规则总是会产生正确的函数依赖关系(即使我们应用它们 m 次)。
因此证明。