【问题标题】:Compute theta join in relational algebra计算关系代数中的 theta 连接
【发布时间】:2013-01-26 11:34:16
【问题描述】:

我遇到了这个问题:

假设关系 R(A,B) 有以下元组:

A   B
1   2
3   4
5   6

并且关系 S(B,C,D) 具有以下元组:

B   C   D
2   4   6
4   6   8
4   7   9

使用条件 R.A

从以下答案中选择:

(3,4,2,4,6)
(1,2,4,4,6)
(1,2,2,6,8)
(3,4,4,7,8)

所以当我尝试时,我看到了

(1, 2) matches (2, 4, 6)
(3, 4) matches (4, 6, 8)
(3, 4) matches (4, 7, 9)

所以我找到了以下元组(它们都尊重条件):

(1, 2, 2, 4, 6)
(3, 4, 4, 6, 8)
(3, 4, 4, 7, 9)

问题是这些在多选中都找不到...

我做错了吗?

感谢您的帮助!

【问题讨论】:

    标签: relational-algebra


    【解决方案1】:

    要计算 theta-join,基本上是对两个关系(这里是 R 和 S)进行笛卡尔积,并得出所有可能的组合。在这些元组中的每一个上,您应用条件 theta 并获得为真的条件。

    在这里,笛卡尔给出 3x3 = 9 个元组。其中,8 个元组满足条件(R.A

    您所做的是 (R.B = S.B AND R.A

    【讨论】:

      猜你喜欢
      • 2011-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-05
      • 1970-01-01
      相关资源
      最近更新 更多