0

当您通过数据库模型中的类表继承关系对继承进行建模时,您是否...

1)包括一个属性(两个子提示的布尔值,更多子提示的字符串),它标识每条记录的特定子提示?

2) 将此标识作为外键包含到包含所有可能子类型描述的表中?

3)以上都不是,并且依赖于子表中的“反复试验”查找需要几次?

4

1 回答 1

4

在大多数情况下,我更喜欢每个类层次结构模型的表,其中一列是鉴别器列(您 1. 解决方案)。如果由于需要许多子类型而确实需要第二个表,那么也许您应该将表分成几个表,因为我怀疑很多数据将是多余的,并且是空的。

每个子类模型还有一个表,其中您有一个包含共享数据的主表和子类的子表(数据完全规范化),尽管使用这种数据更难,除非可能使用像 NHibernate 这样的 ORM 工具。

您能否提供您正在解决的情况的具体示例,因为在这些情况下,子类的数量通常是预先知道的(例如 BillingDetails -> CreditCard、BankAccount 等...)

于 2011-07-03T09:27:01.923 回答