您的位置:首页 > 其它

关系代数 (关系模型)

2017-09-04 15:01 197 查看
理解关系数据库(关系模型),需要了解关系代数(关系模型)。

 

关系代数有如下演算。

◆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)】

直積(積、デカルト積、cartesian product)演算 R × S は、R と S の組の全ての組み合わせの関係(デカルト積)を返す。 言い換えると、R がもつ全ての組が、S のもつ全ての組と、組み合わせられる。 直積演算では、R と S が型適合である必要は無い。 直積演算 R × S の組の数は、R の組の数と S の組の数を、掛け算した数になる。 直積演算 R × S の属性の数は、R の属性の数と S の属性の数を、足し算した数になる。



【射影演算(Projection)】

射影(projection)演算は、ある関係から属性を限定した関係を返す。 射影演算は、Rを構成する属性集合から、いくつかの属性を抽出する。 βを抽出する属性の集合とすると、射影は、πβ(R) もしくは R[β] と記述することができる。



【選択演算(Selection)】

制限(restriction)は、選択(selection)ともいい、ある関係から、指定した条件に合う組の集合を関係として返す。( Ø:=、≠、<、≦、≧、>)



【結合演算(Join)】

結合 (join) は、2つの関係から1つの関係を返す演算であり、直積演算と制限演算を組み合わせた演算に相当する。 一般に、結合を直積演算と制限演算の組み合わせと考えると、この制限演算の制限条件は、A θ B の普通の属性比較が真となるという条件である(θは行おうとする結合演算に応じた比較演算子)。 θ比較の比較演算子は、<、≤、=、>、≥、<> である。 この一般化された結合演算の概念は、θ結合(シータ結合)とも呼ばれる。 一般化された結合演算であるθ結合を具象化した演算として、この節で述べる等結合、自然結合、準結合(半結合)などがある。
この他に外結合(外部結合)も考案されているが、外結合の妥当性については議論の対象となっており、後の節で説明する。  ( Ø:=、≠、<、≦、≧、>)



【商演算(Division)】

商(division)演算 R ÷ S は、直積演算とは対称となる逆の演算と考えることができる。 関係Rと関係Sがあり、 β {\displaystyle \beta }


を R の属性集合、 γ {\displaystyle \gamma }


を S の属性集合とする。
β ∩ γ = ∅ {\displaystyle \beta \cap \gamma =\varnothing }


が成立する場合、次のようになる。

T = R × S {\displaystyle T=R\times S}


T ÷ S = R {\displaystyle T\div S=R}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: