ssp4all Asked: 2020-02-24 17:25:30 +0800 CST2020-02-24 17:25:30 +0800 CST 2020-02-24 17:25:30 +0800 CST 关系代数中的包联合操作 772 我很难理解袋子联合在关系代数中是如何运作的? 这里, 1) 有一个模式 (X, Y, A) 2) (Y, A) 3) (X, A) 4) (Y, A) 所以在对 1, 2, 3 进行联合运算后输出会是什么样子, 和 4? 在我对联合操作模式的理解中,应该是相同的,但是这里 4 的 2 输出具有不同的模式。 答案:C union relational-algebra 1 个回答 Voted Best Answer ssp4all 2020-02-25T13:58:56+08:002020-02-25T13:58:56+08:00 在考虑了这个问题之后,我发现,我错过了投影部分,这意味着唯一的属性 A 被考虑用于联合。所以,基本上我们所要做的就是使用 GAMMA 进行分组,然后选择属性 A 并执行联合。 推导: \gamma(x,y,avg(z)) => {(2,6,5),(5,6,3),(9,0,4)} 将 avg(z) 重命名为 A 并投影该列会导致: {5,3,4} 剩下的 2,3 和 4 用同样的方法然后变成: {11,8} {5,1,1} {5,9} 所以我们最终得到了这个包: {5,3,4, 11,8, 5,1,1 ,5,9} 显然,陈述 a、b 和 d 为假,陈述 c 为真
在考虑了这个问题之后,我发现,我错过了投影部分,这意味着唯一的属性 A 被考虑用于联合。所以,基本上我们所要做的就是使用 GAMMA 进行分组,然后选择属性 A 并执行联合。
推导:
将 avg(z) 重命名为 A 并投影该列会导致:
剩下的 2,3 和 4 用同样的方法然后变成:
所以我们最终得到了这个包:
显然,陈述 a、b 和 d 为假,陈述 c 为真