多重集合(バッグ)とは?
多重集合(バッグ)とは、同じ要素の重複を許す集合。理論上の関係は重複を許さない集合だが、SQLの表と問合せ結果は重複を許す多重集合として扱われる。この差が、射影が自動で重複を除かない、集合演算に重複を残す版がある、といった挙動の理由になる。
たじゅうしゅうごう
多重集合(バッグ)の意味
同じ要素の重複を許す集合。理論上の関係は重複を許さない集合だが、SQLの表と問合せ結果は重複を許す多重集合として扱われる。この差が、射影が自動で重複を除かない、集合演算に重複を残す版がある、といった挙動の理由になる。
多重集合(バッグ)の具体例
SELECT 部門コード FROM 社員 は関係代数の射影と違い、社員数だけ同じ部門コードが並ぶ。重複を除くには DISTINCT を明示する。UNION は重複を除くが UNION ALL は残すため、後者は並べ替えが不要で高速になる。
多重集合(バッグ)は試験でどう引っ掛けられる?
「関係には重複が無い」という理論をそのままSQLに当てはめると件数を読み違える。逆に、重複除去は暗黙に並べ替えやハッシュを伴うので、DISTINCT を癖で付けると不要なコストを払うことになる。
多重集合(バッグ)と関連する用語
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。