關系代數 (關系模型)
理解關系數據庫(關系模型),需要了解關系代數(關系模型)。
關系代數有如下演算。
◆4つの集合演算
和集合演算(Union)
差集合演算(Difference)
共通集合演算(Intersection)
直積演算(Cartesian Product)
◆4つの関係演算
射影演算(Projection)
選択演算(Selection)
結合演算(Join)
商演算(Division)
【和集合演算(Union)】
和(union)演算 R ∪ S は、R と S を、R の全ての組(タプル、行)と S の全ての組で構成される一つの関係を返す。 この演算では、R と S が型適合であることが前提となる。 重複する組は除去される。
【差集合演算(Difference)】
差(difference)演算 R − S は、R から、S に屬する組を取り除いた関係を返す。 この演算では、R と S が型適合であることが前提となる。
【共通集合演算(Intersection)】
交わり(交差、共通、積、intersection)演算 R ∩ S は、R と S の両方に屬する組から関係を返す。 この演算では、R と S が型適合であることが前提となる。 交わり演算と等価な演算を、差演算を使って表現することができる。
R ∩ S = R − (R − S)
【直積演算(Cartesian Product)】
【射影演算(Projection)】
射影(projection)演算は、ある関係から屬性を限定した関係を返す。 射影演算は、Rを構成する屬性集合から、いくつかの屬性を抽出する。 βを抽出する屬性の集合とすると、射影は、πβ
【選択演算(Selection)】
制限(restriction)は、選択(selection)ともいい、ある関係から、指定した條件に合う組の集合を関係として返す。( Ø:=、≠、<、≦、≧、>)
【結合演算(Join)】
結合 (join) は、2つの関係から1つの関係を返す演算であり、直積演算と制限演算を組み合わせた演算に相當する。 一般に、結合を直積演算と制限演算の組み合わせと考えると、この制限演算の制限條件は、A θ B の普通の屬性比較が真となるという條件である(θは行おうとする結合演算に応じた比較演算子)。 θ比較の比較演算子は、<、≤、=、>、≥、<> である。 この一般化された結合演算の概念は、θ結合(シータ結合)とも呼ばれる。 一般化された結合演算であるθ結合を具象化した演算として、この節で述べる等結合、自然結合、準結合(半結合)などがある。 この他に外結合(外部結合)も考案されているが、外結合の妥當性については議論の対象となっており、後の節で説明する。 ( Ø:=、≠、<、≦、≧、>)
【商演算(Division)】
商(division)演算 R ÷ S は、直積演算とは対稱となる逆の演算と考えることができる。 関係Rと関係Sがあり、 を R の屬性集合、 を S の屬性集合とする。 が成立する場合、次のようになる。
關系代數 (關系模型)