0
A
回答
1
没有继承的概念和supertable正如你所建议的。这不是一个面向对象。因此,使用外键约束创建表并手动插入数据。
外键值可以为NULL。虽然通常不是一个好主意。您可能需要使用type
列将表格从3折叠到2或1。
您可能希望没有帐户表。除复制信息外,甚至还有其目的。当然,它可以处理更多的粒度,但不要用不必要的表格填充设计。
如果您坚持要单独存储和检查表以及一个Accounts表,那么用FK's取消Accounts表的唯一方法就是使用NULLS。而且,如前所述,这不被推荐。之所以?这就像是说它必须是这些 ...之一,除非我不在乎。我们应该关心我们的数据。
抵制FK的冲动NULL
。实现这一目标的一种方法是创建一个帐户表,并在其他表上加入,只知道其中一些会成功。 A Conditional Join。通过LEFT JOIN
实现。
相关问题
- 1. JDBC:在PK外键在同一交易
- 2. 外键作为Commposite密钥-PK
- 3. AWK如果第三行开头“与第二行进行合并
- 4. 在第三表中休眠多对多设置的主键/外键
- 5. 三级数据库 - 外键
- 6. Django的匹配查询不存在使用PK形式外键
- 7. 加入3和表2具有主键和第三个具有两个外键
- 8. 进程进行调试第三方宝石
- 9. iOS 8第三方键盘识别
- 10. iOS8 UIKeyboardWillShowNotification第三方键盘高度
- 11. UITextView删除所有第三方键盘
- 12. 第三方库捕获我的例外
- 13. 执行第三方代码
- 14. TinyMCE配置第三行
- 15. 如何在SQL Server中选择第三行或第四行
- 16. GUID PK + INT IDENTITY聚簇索引+合并复制+外键
- 17. NHibernate的 - 通过映射集非PK外键
- 18. 引用PK的外键是否需要NOT NULL约束?
- 19. MySQL在重复键更新PK AI
- 20. 在运行时依赖第三方?
- 21. 用外心和三角形的两点找出第三个点
- 22. Angular2 CLI Socket.io(第三方库进口)
- 23. 使用模型绑定对第三方库进行验证
- 24. Omniture是否使用第三方Cookie进行跟踪?
- 25. 按Drupal视图中的第三个参数进行过滤
- 26. 传递第三个参数进行排序的C函数++(STL)
- 27. 使用Winapi进行第三方控制的拖放
- 28. 如何进行布局,第三个孩子是全宽?
- 29. 使用Android AccountManager进行第三方OAuth2授权
- 30. 使用第三方服务进行测试
>使用FK的帐户表的唯一方法是使用NULLS您是否应该允许Accounts字段为NULL,以使两个FK可以工作? – Ajoo
是的,这就是我的意思。无论如何,什么样的FK?黑客和可耻的人!抵制冲动!我的意思是,总是一个坏设计的标志。 – Drew
只是想尝试一次,看看它是否工作。那么请建议我怎样才能达到我想要的。即从储蓄表和经常账户表创建账户表(即使存在复制数据的风险)。谢谢 – Ajoo