2013-03-27 51 views
3

我在教科书中阅读了很多,在互联网上浏览了很多页面,但我无法理解min,max,count ...是如何用基本操作构建的,如∪∩x -^ Can任何人都会用关系代数向我展示计数和最小函数?关系代数的解释查询

+0

这是一个[很好的解释](http://stackoverflow.com/questions/4952451/aggregate-relational-algebra-maximum)。在第一个答案中,有一个关于如何使用关系代数来编写MAX函数的例子。希望这会有所帮助。 – joan 2013-03-27 13:59:29

回答

0

关系代数中的计算函数尚未完全包含在内。

在关系代数在模式中的聚合操作(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)