Database 依赖保持

Database 依赖保持,database,database-normalization,functional-dependencies,Database,Database Normalization,Functional Dependencies,因此,我正在查阅我的数据库笔记和资料,试图为即将到来的采访更新自己的一般概念和术语。然而,我一直被依赖性和无损连接分解所困扰。我已经搜索了所有地方,看到了很多数学方程,但我正在寻找一个简单明了的英语回答或例子 我发现一个powerpoint演示了一个我不能完全理解的例子。它贴在下面 R = (A, B, C)F = {A → B, B → C) Can be decomposed in two different ways R1 = (A, B), R2 = (B, C) Lossless-

因此,我正在查阅我的数据库笔记和资料,试图为即将到来的采访更新自己的一般概念和术语。然而,我一直被依赖性和无损连接分解所困扰。我已经搜索了所有地方,看到了很多数学方程,但我正在寻找一个简单明了的英语回答或例子

我发现一个powerpoint演示了一个我不能完全理解的例子。它贴在下面

R = (A, B, C)F = {A → B, B → C)
Can be decomposed in two different ways
R1 = (A, B),   R2 = (B, C)
Lossless-join decomposition:
         R1 ∩ R2 = {B} and B → BC
Dependency preserving
R1 = (A, B),   R2 = (A, C)
Lossless-join decomposition:
         R1 ∩ R2 = {A} and A → AB
Not dependency preserving (cannot check B -> C without computing R1 ⋈ R2)
所以我理解有一个→ B和B→ C表示你们之间有一个“参照物”,而a→ B和A→ C表示B和C之间没有引用或链接

所以

  • 无损连接分解是否意味着整个数据仍然完好无损?在这两种情况下,您最终仍然可以获得这两种数据,对吗?如果这是错误的,请纠正我!:)

  • 在第二次分解中,B到C之间的连接有什么意义?这是如何使它不保持依赖性的

    • 如果A被删除,那么B和C就没有关系了

    • 如果B被删除,您仍将有A→ C

    • 如果删除了C,您仍将有一个→ B

  • 因为即使在第一个示例中,删除值后仍然会得到类似的结果

    • 如果A被删除,您仍将拥有B的关系→ C

      • 如果B被删除,那么A和C就没有关系了

      • 如果删除了C,您将拥有a的关系→ B

    因此,无论哪种方式,如果删除每个项目,您仍然会有两个关系实例和一个没有关系的两个项目实例

    我的猜测是,在删除“中间人关系”(是否有一个术语)时,示例1中的B和示例2中的a仍然可以关联示例1中的a→ B然后B→ C、 而在例2中,您被一个→ B与A没有连接→ C

    但正如你们所看到的,我现在回到了原点,解释了为什么这会导致数据依赖性,而在谷歌上搜索“什么是数据依赖性”或“数据依赖性示例”对我来说毫无意义


    如果有人能帮我澄清这一点,我将不胜感激。

    无损连接并不意味着任何元组丢失或在连接后无法恢复。无损连接意味着产生虚假元组,导致“额外”行(元组)和“信息”丢失


    简单地说,我认为当我们在一个子模式的属性中找到FD的两面时,依赖关系就被保留了。(如果我错了,请有人纠正我)。

    将关系R分解为R1和R2是无损连接分解,如果您可以通过连接关系R1和R2(形式R1)来构造R⋈ R2你可以得到R)

    为了将关系R分解为R1和R2是无损的,它必须满足以下两个条件之一:

     1. R1 ∩ R2 -> R1
     2. R1 ∩ R2 -> R2
    
    如果上面的关系没有任何意义,那么就这样想,当你与2个关系R1和R2相交并获得公共属性时,如果公共属性能够确定关系中的任何一个,那么这个(这些)公共属性就是获得的关系的候选键(想想为什么?)因此,您可以使用这个候选键连接另一个关系来获得R


    关于依赖关系保持,如果R的函数依赖关系可以通过所有分解关系的函数依赖关系的并集得到,则关系R的分解就是依赖关系保持。

    FDs与“链接”或“引用”无关。A.→ 当a的每个给定值的所有出现都与B的值相同时,B保持一种关系。阅读定义。第一段是正确的定义。第二个不是。(你从维基百科上获取了它们,但这是错误的。)这是一个暗示无损分解的条件,但不是必需的。无论如何,FD保存并不依赖于无损性。(正如你最后一段所说。)