【发布时间】:2017-06-09 13:21:02
【问题描述】:
我有三个表:offices、suboffices 和 sales。每个办事处拥有多个分办事处,办事处和分办事处都销售产品。我应该如何设计我的销售表来存储进行此次销售的办公室或分办公室?
我正在考虑使用由 office_id 和 suboffice_id 组成的复合外键(其中 suboffice_id 可能为空,在这种情况下,在办公室进行了销售) 这是设计数据库的正确方法吗? 我也在考虑有两个销售表:办公室和分办公室。但在我看来,这让事情变得更难了..
更新
销售可以有不同的类型,因此他们需要不同的表格。并且将有一个表“销售”,它将存储销售类型和销售地点
【问题讨论】:
-
最好有两个销售表。因为对于每个条目,您必须检查它是属于办公室还是子办公室。我也可能是用于分析的...
-
@Vishwa,请查看更新。在这种情况下,似乎需要这样或那样的复合外键
-
在我看来,您所有的 sub_offices 也是办公室。也许分办公室没有什么特别之处,它不需要自己的桌子。如果您可以将所有办公室放在一张桌子上,那么您将有另一种解决方案。
标签: sql database database-schema rdbms