制限と直積
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/02/27 00:04 UTC 版)
「関係代数 (関係モデル)」の記事における「制限と直積」の解説
直積は評価に最もコストを要する演算である。入力の関係の濃度 (組の数) が N {\displaystyle N} と M {\displaystyle M} であった場合、直積演算の結果として返される関係の濃度は N M {\displaystyle NM} となる。そのため直積演算を行う前に、演算対象の2つの関係の濃度をできるだけ小さくするよう、最善を尽くすことが重要である。 直積演算の後に制限演算を行う場合、例えば σ A {\displaystyle A} ( R {\displaystyle R} × P {\displaystyle P} ) を評価する場合、この最適化は効果的に行うことができる。結合の定義を考えると、最適化をとりわけ効果的に行うことができる。もし制限演算の後に直積演算が続くのであれば、他の制限の法則を使うことで、制限演算を問い合わせの木構造の高い位置から葉の方向へ押し下げるよう試みることができる。 この場合制限条件式 A {\displaystyle A} を、複合した制限演算を分割する法則群を使うことで、制限条件式 B {\displaystyle B} 、 C {\displaystyle C} 、 D {\displaystyle D} へと分解する。すなわち A {\displaystyle A} = B {\displaystyle B} ∧ C {\displaystyle C} ∧ D {\displaystyle D} となる。そして B {\displaystyle B} は関係 R {\displaystyle R} の属性のみから構成され、 C {\displaystyle C} は関係 P {\displaystyle P} の属性のみから構成され、 D {\displaystyle D} は R {\displaystyle R} と P {\displaystyle P} の両方の属性から構成されるようにする。 B {\displaystyle B} 、 C {\displaystyle C} 、 D {\displaystyle D} のいずれかが欠如している場合もある。以上の変換は次のように示される。 σ A {\displaystyle A} ( R {\displaystyle R} × P {\displaystyle P} ) = σ B {\displaystyle B} ∧ C {\displaystyle C} ∧ D {\displaystyle D} ( R {\displaystyle R} × P {\displaystyle P} ) = σ D {\displaystyle D} (σ B {\displaystyle B} ( R {\displaystyle R} ) × σ C {\displaystyle C} ( P {\displaystyle P} ))
※この「制限と直積」の解説は、「関係代数 (関係モデル)」の解説の一部です。
「制限と直積」を含む「関係代数 (関係モデル)」の記事については、「関係代数 (関係モデル)」の概要を参照ください。
- 制限と直積のページへのリンク