選択(p)(投影(R)) == 投影(選択(p)(R))は常にですか?
2 に答える
選択が射影で使用される列のサブセットにある場合は、YES、
ただし、そうでない場合は、存在しない列を選択している可能性があります。
まず、「可換性」の性質はあなたのケースには当てはまりません。
可換性は、すべての x,y : x op y == y op x のプロパティです。
たとえば、すべての R1、R2 の場合: R1 NATURAL JOIN R2 == R2 NATURAL JOIN R1.
第二に、答えはノーです。
プロジェクションが制限条件に含まれるすべての属性を保持している場合にのみ、プロジェクションを制限内に移動できます。そうしないと、式全体が無効になります。
編集
(あなたの例は、FUNCTION COMPOSITION が可換であるかどうか (f°g ?= g°f) の問題に関するものであるため、少しストレッチして、可換性が関与していると主張することができます。数学を知っていると、問題は修辞的なものになるはずです。ただし、その場合は。)
編集2
そして、それらが連想的であるかどうかに質問を変更することも良くありません。結合性は、単一の演算子と 3 つの引数を使用する場合で、問題は、すべての a、b、c に対して (a op b) op c ?= a op (b op c) かどうかです。2 つの演算子 (射影と選択) と 1 つの引数があります。
これはまた、DISTRIBUTIVITY (厳密な数学的な意味で) の問題も当てはまらないことを意味しますが、シナリオは特定の点で演算子の分配性の数学的なケースに似ており、十分なストレッチが与えられています。厳密な数学的な意味での分布には、2 つの二項演算子 (つまり、2 つの引数を取る) が含まれます。投影と制限は単項です。
csviri はあなたの質問に適切に答えていると思います。あなたはそれを受け入れる必要があります。