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

📅  最后修改于: 2021-08-29 11:46:29             🧑  作者: Mango

先决条件– DBMS中功能依赖性的阿姆斯特朗公理
阿姆斯特朗(Armstrong)提到规则1至3既完整又健全。阿姆斯特朗公理是合理的,因为它们不会产生任何不正确的功能依赖关系,它使我们能够生成F +闭包。

健全性的证明–
可以使用逻辑从给定的一组功能依赖关系(F闭包)中导出的功能依赖关系集和可以从Armstrong的公理(F armstrong )推断出的一组功能依赖关系是相同的。在集合方面,如果我们想表现出相等性,那么我们提到一个是另一个的适当子集。因此,我们需要证明

Farmstrong  is a proper subset of Fclosure 
    for soundness.

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

考虑安全性–
{\displaystyle G\to E} 经过m个步骤后,使用Armstrong公理从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条规则将始终产生正确的功能依赖性(即使我们多次应用它们)。
由此证明。