2013-03-27 88 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)