ERモデリングレッスン5(グループとメンバー)

1つ前の号(2005年8月下旬発売)の話になってしまうが、連載第3回の記事で紹介したもう1つの基本パターンの「グループとメンバー」のERモデルを説明する。(ERモデルを解説する理由については、以前のエントリ(id:ahirasawa:20050629)を参照していただきたい。)

UMLのクラス図と、ベン図(=変形オブジェクト図)表現は次の通り。

「グループとメンバー」の場合は、「全体と部分」とは違って、メンバーは独立した存在であり、グループに従属しない。このため、メンバーは独自の識別子を持つ必要がある。
結果的にこのERモデルは、以前紹介した「分類と対象」(id:ahirasawa:20050814)の場合と同様の構造になる。すなわち、グループとメンバーの多重度が1対多なのか、多対多なのかによってERモデルが変わる。

1対多の場合は次の通り。

多対多の場合は、次のように関連エンティティを挟む構造になる。


この「グループとメンバー」の場合は、第3回の記事で紹介した“セット商品”のように、共通のスーパークラスが存在するケースが多い。この変形版「グループとメンバー」についても、ERモデルを紹介しておく。

まずクラス図とベン図は次のようになる。

このERモデルには、以前書いた「全体集合と部分集合」(id:ahirasawa:20050629)と同様のバリエーションがあるが、どれを採用すべきかはその時の状況に応じた設計判断による。パフォーマンス上有利と考えられる「親テーブル統合方式」を採用した場合のERモデルは次のようになる。