合併両立とは?がっぺいりょうりつ
合併両立とは、2つの関係が同じ次数をもち、対応する位置の属性の定義域が一致している状態で、和・差・共通(積)の集合演算を適用するための前提条件。属性名まで同じである必要はなく、必要なのは列数と各列のデータ型の一致である。直積や結合はこの条件を満たさなくても適用できる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
関係モデルは表を集合として扱うが、集合演算は要素の型が揃っていなければ意味を成さない。列数の違う行どうしを足しても、できあがった集合の1行が何を表すのか定義できない。この条件を演算の前提として明文化したことで、和や差の結果もまた関係であることが保証され、演算を入れ子にできるようになった。
具体例
「今月受注した顧客(顧客コード,顧客名)」と「先月受注した顧客(顧客コード,顧客名)」は合併両立なので和が取れる。SQLではUNIONやEXCEPTがこの条件を要求し、列数や型が合わないとエラーになる。列名が違っても左から順に対応づけられる。
試験での引っ掛け
前提として必要なのは和・差・共通(積)だけで、直積・結合・射影・選択には要らない点が狙われる。条件は次数と定義域の一致であって属性名の一致ではない。SQLのUNIONは既定で重複を除き、残すにはUNION ALLと書く必要がある。
関連用語
出た過去問
出典:令和7年度 春期 応用情報技術者試験 午前 問28(IPA)
和両立である関係RとSがある。R∩Sと等しいものはどれか。ここで,-は差演算,∩は共通演算を表す。
正解:R-(R-S)
要点:R-(R-S)は差演算だけで共通部分R∩Sを表す等式
R-Sは「Rにあり、Sにない部分」なので、これをRからさらに引くと「Rにあり、かつSにもある部分」だけが残る。すなわちR-(R-S)=R∩Sとなる。集合の差を2回使って共通部分を表す、集合演算の基本的な等式である。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。