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モデルは次のようになる。