数据库_数据模型(五)

笛卡尔乘积(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:
ρ ( C ( 1 s i d 1 , 5 s i d 2 ) ) , S 1 × S 2 \rho \left( {C\left( {1 \to {\rm{sid}}1,{\kern 1pt} 5 \to sid2} \right)} \right),S1 \times S2
上式中,1表示笛卡尔乘积结果中的第一个属性,5表示第五个属性。将第一个属性重命名为sid1,第5个属性重命名为sid2.
2. 笛卡尔乘积的结果常常拼接出很多没有意义的元组。我们更多时候要的是连接操作。

连接(Joins)

条件连接(Conditon Join):⋈这个云算符在mathtype里面怎么打啊? 打不出来 求路过的大佬指点。

猜你喜欢

转载自blog.csdn.net/weixin_43766843/article/details/84523884