私は教科書をよく読み、インターネット上の多くのページを閲覧しましたが、min、max、count などの関数/演算子がどのようにリレーション/テーブルまたはタプル/行のグループを集約するかを理解できませんリレーション/テーブルは、∪ (結合)、∩ (交差)、x (結合)、- (マイナス)、π (射影) などの基本的な操作で構築されます。
これらの関数/演算子をリレーショナル代数で表現する方法を教えてもらえますか?
私は教科書をよく読み、インターネット上の多くのページを閲覧しましたが、min、max、count などの関数/演算子がどのようにリレーション/テーブルまたはタプル/行のグループを集約するかを理解できませんリレーション/テーブルは、∪ (結合)、∩ (交差)、x (結合)、- (マイナス)、π (射影) などの基本的な操作で構築されます。
これらの関数/演算子をリレーショナル代数で表現する方法を教えてもらえますか?
関係代数の計算関数はまだ完全には含まれていません。
リレーショナル代数では、スキーマ (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)
。