[pgsql-jp: 37420] Re: ひとつの項目の関連テーブルが二箇所に分かれるような場合の構成について

mituhiro inaba mit @ inaba.ws
2006年 8月 12日 (土) 11:06:31 JST


こんにちは、稲葉と申します。

>共通部分は同一テーブルで管理し、それぞれの固有のフィールドを各詳細テーブルに入れてみようかと思います。

とされたので会員マスタをスーパータイプ、
一般会員詳細テーブルと企業会員詳細テーブルをそのサブタイプとして検討します。
その場合、会員マスタと一般会員詳細テーブルをまとめるよりも
今のままで一般会員と企業会員のエンティティを独立して保持する構造を
維持した方が妥当だと思います。

と言いますのも、まとめてしまった場合、
会員マスタには双方のインスタンスが混在し、
企業会員詳細テーブルには企業会員のみのインスタンスが存在するという
バランスの悪いモデルになるからです。

ただし実際は、
分離したままで将来的に一般会員や企業会員のエンティティに
独立にアクセスが発生することを見越した構造にして拡張性を保持するか、
まとめて当面の結合の手間をはぶくかをトレ−ドオフで決めると思います。

※なお一般会員に固有のフィールドがない場合は
会員マスタと一般会員詳細テーブルを分離するとかえって冗長になるので、
この限りではないと思います。

稲葉光宏 mit @ inaba.ws 








pgsql-jp メーリングリストの案内