データの集まり (集合) について何か行動を起こす (演算する) ので、 データを整理することを集合演算と呼ぶ。和演算、積演算、差演算の 3 つと、直積演算がある。
少なくともどちらか一方に存在しているものを取り出すので、表は大きくなる。
数学でいう C = {A ∪ B} の集合のことである。
属性 | |||
名前 | 順位 | ||
組 | レコード 1 | カウ | 1 |
レコード 2 | チキン | 3 | |
レコード 3 | アル | 4 | |
レコード 4 | フレム | 2 | |
レコード 5 | レッドガイ | 5 |
属性 | |||
名前 | 順位 | ||
組 | レコード 1 | ウィゼル | 1 |
レコード 2 | カウ | 3 | |
レコード 3 | チキン | 2 | |
レコード 4 | レッドガイ | 6 | |
レコード 5 | フレム | 4 | |
レコード 6 | アル | 4 |
実際 100 m 走とマラソンの順位を一緒にしても無意味であるが、 演算の練習のため行っている。
積演算(共通演算): 2 つの関係表から、両方に含まれるデータを取り出す
どちらかに存在しているものを取り出すので、表は小さくなる。
数学でいう C = A ∩ B の集合のことである。
差演算: 2 つの関係表から、どちらか一方にしか含まれないデータを取り出す
重なり合いが大きい場合、表は小さくなるが、 重なり合いが小さければ、表は大きくなる。 また、差演算はどちらの表を引くかで結果が異なる。
数学でいうC = A ⊗ B である。
具体的には 2 つの表を全て組み合わせたものを作る。以下の 2 つの表
属性 | ||||
問屋コード | 店名 | 所在地 | ||
組 | レコード 1 | 220 | ウニクロ | 千葉県浦安市 |
レコード 2 | 221 | ハッサン | 北海道札幌市 |
と
属性 | |||||
問屋コード | 品物 | 色 | 在庫数 | ||
組 | レコード 1 | 220 | シャツ | グリーン | 4 |
レコード 2 | 220 | タオル | ブラウン | 2 | |
レコード 3 | 221 | ジャケット | ブラック | 15 |
の直積は
属性 | |||||||
問屋コード | 店名 | 所在地 | 品物 | 色 | 在庫数 | ||
組 | レコード 1 | 220 | ウニクロ | 千葉県浦安市 | シャツ | グリーン | 4 |
レコード 2 | 220 | ウニクロ | 千葉県浦安市 | タオル | ブラウン | 2 | |
レコード 3 | 221 | ハッサン | 北海道札幌市 | ジャケット | ブラック | 15 |
となる。