0

データベースモデルでクラステーブル継承関係を介して継承をモデル化する場合、...

1)各レコードの特定のサブパイプを識別する属性(2つのサブチップのブール値、さらにサブチップの文字列)を含めますか?

2)すべての可能なサブタイプの説明を含むテーブルへの外部キーとしてこのIDを含めますか?

3)上記のどれも、必要な数回のサブテーブルでの「試行錯誤」ルックアップに依存していますか?

4

1 に答える 1

4

ほとんどの場合、1つの列が弁別子列であるクラス階層モデルごとのテーブルを使用することをお勧めします(1.ソリューション)。多くのサブタイプが必要なために2番目のテーブルが本当に必要な場合は、多くのデータが冗長でnullになると思われるため、テーブルをいくつかのテーブルに分割する必要があります。

サブクラスモデルごとのテーブルもあり、共有データを含むマスターテーブルと、サブクラスの子テーブル(完全に正規化されたデータ)がありますが、NHibernateなどのORMツールを使用する場合を除いて、この種のデータの操作は困難です。

これらの場合、サブクラスの数は通常事前にわかっているため(BillingDetails-> CreditCard、BankAccountなど)、解決している状況の具体例を教えてください。

于 2011-07-03T09:27:01.923 に答える