答案 0 :(得分:1)
您建议没有继承和 supertable 的概念。它不是OOP。因此,使用外键约束创建表并手动插入数据。
外键值可以为NULL。虽然通常不是一个好主意。您可能希望使用type
列将表格从3折叠为2或1。
您可能希望没有Accounts表。除了复制信息之外,它的目的甚至是什么。当然,它可以处理更多粒度,但不要用不必要的表过度填充您的设计。
如果您坚持使用单独的Savings和Checking表以及Accounts表,那么使用FK提取Accounts表的唯一方法是使用NULLS。并且,如上所述,不建议这样做。之所以?就像说它必须是其中一个 ......除非我不在乎。我们应该关心我们的数据。
抵制FK NULL
的冲动。实现这一目标的一种方法是拥有一个帐户表,并加入其他表,知道只有一些会成功。一个Conditional Join。通过LEFT JOIN
实现。