応用情報技術者平成30年春期 午前問27
関係Rと関係Sに対して,関係Xを求める関係演算はどれか。
1、結合(join)は、
2つの表が共通して持つ属性(列)を基準に結合を行い、新しい表をつくりだす演算です。両方の関係に存在する結合属性は一方のみが表示されます。
RとSをID列で(自然)結合した結果は次のようになります。
2、差(difference)は、
2つの関係があるとき、一方の関係に属する行から他方の関係に属する行を取り除いた表を返す演算です。
RとSの差演算(R-S)及び(S-R)は次の結果を返します。
3、直積(cartesian product)は、
関係Rと関係Sの行の全ての組合せを返す演算です。演算後の行数は「Rの行数×Sの行数」になります。
RとSの直積演算(R×S)は次の結果を返します。
※直積集合とは、
数学において、集合のデカルト積(デカルトせき、英: Cartesian product)または直積(ちょくせき、英: direct product)、直積集合、または単に積(せき、英: product)、積集合は、集合の集まり(集合族)に対して各集合から一つずつ元をとりだして組にしたもの(元の族)を元として持つ新たな集合である。
私の理解では、
直積、デカルト積、直積集合、積、積集合、集合の集まり が同じものと思います。
4、和(union)は、
関係Rまたは関係Sに含まれるすべての行で構成される表を返す演算です。重複する行は除外されます。
RとSの和演算(R∪S)は次の結果を返します。
※UNION ALLも和集合
UNION が重複行を除きます
UNION ALLが重複行を除きません
5、商
関係演算R÷Sは、関係Rのうち関係Sの全ての項目を含む行の集合を返す演算です。
参照:
https://www.ap-siken.com/kakomon/25_aki/q30.html
直積集合
https://ja.wikipedia.org/wiki/%E7%9B%B4%E7%A9%8D%E9%9B%86%E5%90%88