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

📅  最后修改于: 2021-07-05 07:44:14             🧑  作者: Mango

先决条件– DBMS中功能依赖性的阿姆斯特朗公理
阿姆斯特朗(Armstrong)提到规则1至3既完整又健全。阿姆斯特朗公理是完整的,因为对于给定的一组功能依赖性F,可以使用这些规则从F派生F +所隐含的所有功能依赖性。

我们需要证明的是
可以从给定的一组功能依赖关系(F闭包)中通过逻辑得出的功能依赖关系集和可以从阿姆斯特朗公理(F armstrong )推断出的一组功能依赖关系是相同的。在集合方面,如果我们要显示相等性,则将其写为:一个是另一个的适当子集。因此,我们需要证明

Fclosure  is a proper subset of Farmstrong 

正确性意味着可以从F导出的任何内容也可以使用阿姆斯特朗公理来导出。

F闭合+表示F的闭合。在数学上,我们可以表示F闭合+ = {A | F结束+表示A可以使用Armstrong公理从F派生,其中A属于实数。

Claim-1:
{\displaystyle X\to Y} 当且仅当Y是F闭+的适当子集时,才可以使用阿姆斯特朗公理从F导出。

证明“如果”部分:
令Y = {A 0 ,A 1 ,……,A m ,},其中Y是F+的适当子集。 F闭包+表示A j可以使用Armstrong公理从F导出,其中A属于0 如果我们遵循工会规则, {\displaystyle X\to Y} 是从F派生的

为了证明“仅当”部分:
{\displaystyle X\to Y} 是使用阿姆斯特朗公理从F派生的
根据投影法则,我们知道F+表示A j ,其中A属于0 因此,根据F Closure +的性质,A j属于F Closure +
这意味着Y是F Closure +的适当子集。

X使用阿姆斯特朗公理确定F跟随Y。
我们将试图证明上述说法是相反的。
我们将证明无法使用阿姆斯特朗公理从F确定X来确定Y。就元组关系而言,我们可以说,存在一个实例r属于实数,因此F的所有功能依赖项都保持在r上。但是,X表示Y不成立。
提到我们的假设是错误的,并且主张是正确的。
因此证明索赔01是正确的。

让我们考虑r只有2行,并由r {F闭包+属性,其他属性}表示

Claim-2:
F的所有FD都由r满足。让我们再次反对它。令W表示属于F的R不满足r,则W是F Closure +的适当子集,而Z不是F Closure +的适当子集。
令G属于Z- F闭包+

我们得到:
{\displaystyle X\to W}因为W是F+的适当子集,
{\displaystyle X\to Z}根据及物性原则
{\displaystyle Z\to G}根据自反性的规则,因为G属于Z,而
{\displaystyle X\to G}根据传递性规则。

根据闭包的定义,G必须属于F闭包+
我们有一个矛盾。
我们采取了一个被证明是错误的矛盾,这意味着该说法是正确的。
因此证明了权利要求02是正确的。

索赔3:
X表示Y不满足r。
我们再次假设矛盾(X并不意味着Y)。由于r的结构,Y是F+的一个适当子集,这意味着X表示Y可以使用阿姆斯特朗公理来证明。
我们的假设被证明是错误的,因此索赔是正确的。
因此证明了权利要求03是正确的。

这意味着,当使用Armsrong的公理表示X并不表示Y时,则F在逻辑上并不意味着X表示Y。
我们还可以说,当X表示Y时,使用Armsrong的公理(机械地),则F逻辑上也意味着X也表示Y。
因此证明了阿姆斯特朗的公理是完整的。