2

我读过很多教科书并浏览了互联网上的很多页面,但我无法理解函数/运算符(如 min、max、count 等)如何聚合在关系/表或元组/行组中关系/表是用诸如∪(联合)、∩(交集)、x(连接)、-(减号)、π(投影)等基本操作构建的。

谁能告诉我如何用关系代数表达这些函数/运算符?

4

1 回答 1

1

关系代数中的计算功能尚未完全包括在内。

在关系代数中,模式 (A1, A2, ... An) 上的聚合操作如下所示:

G1, G2, ..., Gm g f1(A1'), f2(A2'), ..., fk(Ak') (r)

其中每个Aj', 1 ≤ j ≤ k,是原始属性之一Ai, 1 ≤ i ≤ n

g 前面的属性是分组属性,其功能类似于 SQL 中的“group by”子句。然后有任意数量的聚合函数应用于各个属性。该操作适用于任意关系 r。分组属性是可选的,如果未提供,聚合函数将应用于应用操作的整个关系。

假设我们有一个名为 Account 的表,其中包含三列,即 Account_Number、Branch_Name 和 Balance。我们希望找到每个分支的最大余额。这是由Branch_NameGMax(Balance)(Account). 无论分行如何,要找到所有账户的最高余额,我们可以简单地写GMax(Balance)(Account).

于 2013-07-05T11:07:09.393 回答