笛卡尔乘积(cross-product)×
例:
R1
sid | bid | day |
---|---|---|
22 | 101 | 10/10/96 |
58 | 103 | 11/12/96 |
S1
sid | sname | rating | age |
---|---|---|---|
22 | dustin | 7 | 45.0 |
31 | lubber | 8 | 55.5 |
58 | rusty | 10 | 35.0 |
R1和S1作笛卡尔乘积的结果是,R1和S1中的各个元组做两两拼接,即笛卡尔乘积的结果有2 * 3 = 6 条元组:
(sid) | sname | rating | age | (sid) | bid | day |
---|---|---|---|---|---|---|
22 | dustin | 7 | 45.0 | 22 | 101 | 10/10/96 |
22 | dustin | 7 | 45.0 | 22 | 103 | 11/12/96 |
31 | lubber | 8 | 55.5 | 22 | 101 | 10/10/96 |
31 | lubber | 8 | 55.5 | 22 | 103 | 11/12/96 |
58 | rusty | 10 | 35.0 | 22 | 101 | 10/10/96 |
58 | rusty | 10 | 35.0 | 22 | 103 | 11/12/96 |
注:1. 这两张表里都有sid这个属性。在同一张表里,不能有两个属性同名,这里存在一个冲突。在关系代数中,提供了Renaming operator:
上式中,1表示笛卡尔乘积结果中的第一个属性,5表示第五个属性。将第一个属性重命名为sid1,第5个属性重命名为sid2.
2. 笛卡尔乘积的结果常常拼接出很多没有意义的元组。我们更多时候要的是连接操作。
连接(Joins)
条件连接(Conditon Join):⋈这个云算符在mathtype里面怎么打啊? 打不出来 求路过的大佬指点。