0
Relation 1 (r1):
ID | Name
1    John
2    Doe
3    Foo  

Relation 2 (r2):
ID | Name
4    Johnny
5    Doey
6    Fooey

会产生什么r1 theta join(r1.ID = r2.ID) r2结果?

会产生什么r1 cross r2结果?

我只是在问生成的关系是否应该将属性的名称更改为其他名称,因为每个都有 2 个。

4

1 回答 1

1

在关系代数中,乘积(交叉连接)通常被理解为自然连接的一种特殊情况,其中连接的关系碰巧没有共同的属性。因此,如果 A 和 B 具有共同属性,则说 A x B 是没有意义的。如果 A 和 B 有共同的属性,那么 A x B 要么意味着 A ⋈ B,要么意味着发生了错误,您的 DBMS 或解释器可能应该报告错误。

Theta join 是自然连接后跟限制的简写。如果 theta 表达式中的属性将具有相同的名称,则必须在其前面重命名某些属性。

于 2013-10-30T11:10:55.067 回答