【问题标题】:Decomposition Lossless Join Algorithm分解无损连接算法
【发布时间】:2018-06-20 04:04:28
【问题描述】:

我已获得以下关于无损连接的解释。有人可以解释一下变量“r”是什么以及它如何出现在算法/方程/公式的两侧吗?

"如果将关系 R 分解为关系 R1、R2 使得对于 R 的每个合法实例 r...

r = πR1(r) ⋈ πR2(r)

...那么分解本身就是一个无损连接 分解。”

注意:R1 和 R2 是下标。

【问题讨论】:

  • 这句话的出处是什么?给予肯定,并更好地理解他们想说的话。
  • @philipxy 这是我的关系数据库管理系统讲师关于无损分解的解释。我不知道他的来源,但老实说,如果它是从诸如 Wikipedia 之类的不可靠来源引用的,我不会感到惊讶。这个公式实际上是合乎逻辑的还是写错了?无论如何,这个概念是否只是试图说明:如果关系 R 被分解为 R1 和 R2(无论它们可能代表什么),那么在任何时间点 (实例) R1 ⋈ R2 应该总是重现原始关系 R?
  • 是的,分解是无损的当且仅当分量投影总是连接到原始状态,即当且仅当在每个状态 R = R1 ⋈ R2。清楚地记住每个名称的使用表示什么。在引用和您的评论中的第一次提及中,Rs 是关系变量。在对 π 的调用中,Rs 表示相应变量的属性集。在您的等式中,Rs 表示相应变量的值。引用清楚地表明 r 是 R 的“合法实例”并谈到它——r 不是变量,它是变量 R “在某个时间点”的值。

标签: database-normalization relational-algebra decomposition


【解决方案1】:

r 应该代表模式R 的任何关系值/实例(即无损可分解)。但即使关系值是可无损分解的,我们也必须注意我们分解成哪些(组)属性。

更重要的问题:R1R2 是什么?

您的报价可能基于the wikipedia article 或其中的链接之一——这似乎几乎完全是垃圾;比维基百科关于关系模型主题的通常标准差得多。 (例如,它显示了一个笛卡尔积来重构投影——而无损 join 通常需要一个 join:如您所展示的蝴蝶结运算符。)

运算符 π 是关系代数投影。 π 通常显示为带有属性名称(或更准确地说是一组属性名称)的下标。这些通常用X, Y 或类似符号表示。那么R1R2 应该是属性名集合,不是关系。他们当然不可能两者兼而有之。 (我只能想象R1, R2 旨在代表两个关系的模式/属性集。)

此外,对于无损连接分解,我们要求两个投影一起包含R 的所有属性。 (并且通常有一些共同的属性,以便连接匹配在一起。)

所以我们应该有

r1 = πX(r)             -- r1 is the value of R1 corresponding to r
r2 = πY(r)             -- ditto for R2
attributes of R = X ∪ Y   -- intersection of X, Y not necessarily empty
r = r1 ⋈ r2

一个明显的例子是R 具有属性{A, B, C} 并且{A} 是一个键。然后我们可以分解为X = {A, B}, Y = {A, C}

【讨论】:

  • 不仅维基百科页面不清楚,而且错误地指出“为了无损分解”某些事情必须如此;但正确的是,对于给定的无损分解,这些条件必须如此才能保留给定的 FD。
  • R、R1 和 R2 “当然可以”并且用于命名变量和/或模式以及命名其属性集。 (在维基页面中,它的值。)即它们是"abused"。这在写得很好的演示文稿中明确提到。更清楚地说,我们“要求两个投影一起”不仅“包含”而且be“所有属性”。除非所有或部分 R = R1 U R2 “应该”被明确要求,因为它是由关系的平等所暗示的。
  • “滥用”符号并不能帮助解释发生了什么。这不是一个错字:我想指出intersection of X, Y not necessarily empty(与人们可能试图从维基百科使用笛卡尔积的猜测相反)。 union of X, Y must be R 的“所有属性”是该行所要求的。 (说联合可能是空的会是正确的,但没有帮助,因为 R 的度数必须为零。)
  • 你显然不知道是怎么回事,就是那个符号被滥用了,所以我给你解释了。我还说应该在引用中解释滥用行为,但引用写得不好。
猜你喜欢
  • 2011-05-17
  • 2015-06-27
  • 1970-01-01
  • 2017-07-08
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多