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

查题易 其它 已帮助

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

 


优质解答

共1条回复

  • 所谓自然连接就是在等值连接的情况下,当连接属性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