为了账号安全,请及时绑定邮箱和手机立即绑定

如何创建多个一对一的

如何创建多个一对一的

小怪兽爱吃肉 2019-08-19 16:58:39
如何创建多个一对一的我有一个设置了许多表的数据库,除了一点之外它看起来都很好......Inventory Table <*-----1> Storage Table <1-----1> Van Table                               ^                               1                               |-------1> Warehouse Table由于Van和Warehouse表相似,因此使用了Storage表,但如何在Storage和Warehouse / Van表之间创建关系?因为存储对象只能是1个存储位置和类型,所以它们需要为1比1。我确实有Van / Warehouse表链接到StorageId主键,然后添加一个约束,以确保Van和Warehouse表没有相同的StorageId,但这似乎可以做得更好。我可以看到这样做的几种方法,但它们都显得不对,所以任何帮助都会很好!
查看完整描述

3 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

如你所说,有很多解决方案。我建议从最简单的解决方案开始,然后在性能或存储成为问题时进行优化。最简单的解决方案(但在存储方面不是最佳的)是使存储表具有存储类型的列(指示行是代表货车还是仓库),还有Van属性列和Warehouse属性。在表示Van的行中,Warehouse属性的列都将为null。在表示Warehouse的行中,Van属性的列都将为null。

这样,您减少了表的数量,并使您的查询保持简洁。如果存储变得紧张,请准备好重新审视您的决定。


查看完整回答
反对 回复 2019-08-19
?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

在某种程度上,在我看来,库存物品可能会改变位置,所以我会选择这样的东西。


查看完整回答
反对 回复 2019-08-19
  • 3 回答
  • 0 关注
  • 496 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信