2011-07-03 51 views
0

當通過類表繼承你的模型繼承的數據庫模型關係,你...繼承和數據庫設計

1)包括屬性(布爾兩個subtipes,字符串更subtipes)識別每個記錄的特定subtipe?

2)將此標識作爲外鍵包含到包含所有可能子類型描述的表中?

3)以上都不是,需要幾次纔在子表中依靠「試錯」查找?

回答

4

我傾向於在大多數情況下表每個類層次模型,其中一列是鑑別列(你1.解決方案)。如果你真的需要第二張表,因爲有很多需要的子類型,那麼也許你應該把表分成幾張表,因爲我會懷疑大量的數據會減少,而且是空的。

還有每個子類模型表,在其中有一個主表與共享數據,併爲子類(數據完全地歸一化)的子表,雖然用這種數據的工作更難,也許除了當使用像NHibernate的ORM工具。

你能提供你要解決的情況下具體的例子,因爲在這些情況下,子類別數通常是衆所周知的前期(如BillingDetails - >信用卡式,的BankAccount等)

+0

還有一個每班的桌子 – Mark

+0

是的,每個具體班級的桌子是準確的 –