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个。
答案 0 :(得分:1)
在关系代数中,产品(交叉连接)通常被理解为自然连接的特殊情况,其中连接关系恰好没有共同的属性。因此,如果A和B具有共同属性,则说A x B是没有意义的。如果A和B具有共同的属性,则A x B或者意味着A⋈B,或者意味着已经犯了错误,并且您的DBMS或解释器可能应该报告错误。
Theta join是自然连接的简写,后跟限制。如果theta表达式中的属性具有相同的名称,则必须先重命名某些属性。