これをオブジェクトモデルでどのようにモデル化しますか?単一のスーパークラスを設定し、それを「利害関係者」と呼んで、ビジネスオーナーと顧客の両方のプロパティを取得しますか?ステークホルダーの定義を拡張する特殊なサブクラス「ビジネスオーナー」と「顧客」を設定しますか?そうなら、読んでください。
あなたのケースは、Gen-Specデザインパターンのインスタンスのようです。 Gen-specは、スーパークラス - サブクラス階層を介してオブジェクト指向のプログラマーにはよく知られています。残念ながら、リレーショナル・データベース設計の導入は、Gen-Spec状況のための表の設計方法をスキップする傾向があります。幸いにも、それはよく理解されています。 "Relational database generalisation specialization"に関するWeb検索では、その件に関するいくつかの記事が得られます。あなたのヒットのいくつかはここで以前の質問になります。 Gen-Specについて、Object Relational Mappingで論じている記事があります。
トリックは、サブクラス(専用)テーブルのPKが割り当てられる方法です。それは何らかのオートナンバー機能によって生成されるものではありません。代わりに、それはスーパークラス(一般化された)テーブルのPKのコピーであるため、FKへの参照です。
したがって、ケースが車両、トラック、セダンであった場合、すべてのトラックまたはセダンは車両テーブルにエントリを持ちますが、トラックには対応するPKのコピーであるPKがトラックテーブルにも入ります車両テーブルに表示されます。セダンとセダンのテーブルも同様です。車をトラックやセダンにするかどうかは、単にジョインするだけで簡単に分かります。通常は、そのようなクエリでデータに参加したいと思うのです。
ありがとうございます。 – dzm