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は元の属性の 1 つですAi, 1 ≤ i ≤ n

g の前にある属性は、SQL の「group by」句のように機能するグループ化属性です。次に、個々の属性に適用される任意の数の集計関数があります。操作は任意の関係 r に適用されます。グループ化属性はオプションであり、指定されていない場合、操作が適用されるリレーション全体に集計関数が適用されます。

Account_Number、Branch_Name、および Balance という 3 つの列を持つ Account という名前のテーブルがあるとします。各支店の最大残高を見つけたいと思います。これは、によって達成されBranch_NameGMax(Balance)(Account)ます。支店に関係なく、すべての口座の最高残高を見つけるには、単純に と書くことができますGMax(Balance)(Account)

于 2013-07-05T11:07:09.393 に答える