2011-07-03 11 views
0

クラステーブル継承を通じて、あなたのモデル継承データベースモデルで関係は、あなたを行う... 継承&データベース設計

1)

は、属性(2 subtipes、よりsubtipesための文字列のブール値を含める)を識別各レコードの特定のサブペイプ?

2)可能なすべてのサブタイプの説明を含む表の外部キーとしてこのIDを組み込みますか?

3)上記のいずれも、サブタイトルの「試行錯誤」ルックアップに何回か頼る必要はありませんか?

答えて

4

ほとんどの場合、クラスのテーブルモデルでは、1つの列がディスクリミネータ列(あなたの1.解決策)であることをお勧めします。あなたが本当に必要な多くのサブタイプのために2番目のテーブルを必要としているのなら、おそらく、テーブルをいくつかのテーブルに分割する必要があります。

この種のデータでの作業は多分使用している場合を除き、難しいですが、あなたが共有データとマスタテーブルを持っているテーブルサブクラスごとモデルと、子テーブルが(データはcompletly正規化)サブクラスのためにもありますNHibernateのようなORMツール。

これらの場合にサブクラスの数は通常、アップフロント知られているので、あなたは、あなたが解決されている状況の具体的な例を提供することができます - 1もあり(BillingDetailsのような>のCreditCard、銀行口座の等...)

+0

クラスあたりのテーブル – Mark

+0

ええ、コンクリートクラスあたりのテーブルは正確です –

関連する問題