【发布时间】: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