関係代数 (関係モデル)
SQLでは、直接、商を求める機能は、提供されていない。 商演算を行うには複雑な問い合わせを記述する必要がある。
関係 R ( A 1 , . . . , A n , B 1 , . . . , B n ) {\displaystyle R(A_{1},...,A_{n},B_{1},...,B_{n})} と関係 S ( B 1 , . . . , B n , C 1 , . . . , C n ) {\displaystyle S(B_{1},...,B_{n},C_{1},...,C_{n})} のθ結合は、次のように定義される。 なお、θ比較式を expression とする。
この定義を演繹すると次のように表現できる。
関係 R と S が型適合であること。
射影(projection)演算は、ある関係から属性を限定した関係を返す。 射影演算は、Rを構成する属性集合から、いくつかの属性を抽出する。 βを抽出する属性の集合とすると、射影は、πβ(R) もしくは R[β] と記述することができる。
関係Rについて、Rの属性Bがインチ単位で示されているとして、センチメートル単位の値を求める場合。
結合 (join) は、2つの関係から1つの関係を返す演算であり、直積演算と制限演算を組み合わせた演算に相当する。 一般に、結合を直積演算と制限演算の組み合わせと考えると、この制限演算の制限条件は、A θ B の普通の属性比較が真となるという条件である(θは行おうとする結合演算に応じた比較演算子)。 θ比較の比較演算子は、<、≤、=、>、≥、<> である。 この一般化された結合演算の概念は、θ結合(シータ結合)とも呼ばれる。 一般化された結合演算であるθ結合を具象化した演算として、この節で述べる等結合、自然結合、準結合(半結合)などがある。 この他に外結合(外部結合)も考案されているが、外結合の妥当性については議論の対象となっており、後の節で説明する。
R INTERSECT S