一道c语言题,请问大神第10题咋做,怎么看出是自然连接?能解释一下这个词吗?

如题所述

所谓自然连接就是在等值连接的情况下,当连接属性X与Y具有相同属性组时,把在连接结果中重复的属性列去掉。即如果R与S具有相同的属性组Y,则自然连接可记作:
R*S={t r⌒ts |tr∈R∧ts∈S∧tr[Y]=ts[Y]}
自然连接是在广义笛卡尔积R×S中选出同名属性上符合相等条件元组,再进行投影,去掉重复的同名属性,组成新的关系。

R表
A B C
1 a 3
2 b 6
3 c 7
S表
D B E
2 c 7
3 d 5
1 a 3
一、自然连接是第一步R×S结果是:
A B C D B E
1 a 3 2 c 7
1 a 3 3 d 5
1 a 3 1 a 3
2 b 6 2 c 7
2 b 6 3 d 5
2 b 6 1 a 3
3 c 7 2 c 7
3 c 7 3 d 5
3 c 7 1 a 3
就是用R表中的每一项乘以S表中的每一项。
二、选择R.B=S.B的记录:
R.A R.B R.C S.D S.B S.E
1 a 3 1 a 3
3 c 7 2 c 7
三、然后去掉相同且值也相同的B属性,最后R∞S的值为:
A B C D E
1 a 3 1 3
3 c 7 2 7追问

那本题为什么选A呢?能解释一下吗?谢谢......

太给力了,你的回答完美解决了我的问题!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-17
你居然选井,,我就没见过井这么一个操作。。
A,自然连接,就是保证相同字段的值相同,再把各自多余的属性加起来,具体的术语记不清了。反正就是这么个意思。
B,交,不管在任何领域,交的意思都是一样的,就是取相同的属性,剔除所有不同的属性,如果是交的话,结果应该为A c;
C,投影,投影就是把R关系投影到S上,则T应该有3行,且有5个属性,每一行的内容就是简单的R和S一行的组合。就是笛卡尔积。
第2个回答  2013-09-17
abc-d
c31-4
排除法,B\C\D都不是