【发布时间】:2010-09-16 11:01:57
【问题描述】:
在数据库中建模继承的最佳实践是什么?
有哪些权衡(例如可查询性)?
(我对 SQL Server 和 .NET 最感兴趣,但我也想了解其他平台如何解决这个问题。)
【问题讨论】:
-
如果您对“最佳实践”感兴趣,那么大多数答案都是不正确的。最佳实践要求 RDb 和应用程序是独立的;他们有完全不同的设计标准。因此,在数据库中“建模继承”(或建模 RDb 以适应单个应用程序或应用程序语言)是一种非常糟糕的做法,不了解情况,并且违反了基本的 RDb 设计规则,并削弱了它。
-
@PerformanceDBA 那么您有什么建议避免在 DB 模型中继承?假设我们有 50 位不同类型的老师,并且我们希望将那个特定的老师与班级联系起来。如果没有继承,您将如何实现这一目标?
-
@svlada。这很容易在 RDb 中实现,因此需要“继承”。问一个问题,包括表defns和一个例子,我会详细回答。如果你用 OO 术语来做,那将是一团糟。
标签: .net sql-server oop inheritance database-design