我很难找到适合这种情况的最佳设计解决方案。我有两张有共同基础的桌子。目前我的设计是这样的:我有一个订单表(公共基础):
[order_table]
order_id
order_type
company
created
我有另一个参考订单表的表:
[product_order]
order_id fk
product_id
quantity
price
我有第二个参考订单表的表:
[special_order]
order_id fk
description
price_estimate
color
size
两个表共享我喜欢的相同 order_id。我经常需要使用该表中可用的信息对 order_table 进行大型查询,比如“company = 200”。但是对于每个结果,我还需要 product_order 或 special_order 中的数据,具体取决于它的类型。因此,我看到的唯一最佳解决方案是将查询与 order_id 上的两个表连接起来,然后过滤信息。我看到的唯一其他选择是将公共列添加到每个表中,但是之后我将进行大量重组以使它们按正确的顺序排列。
有没有更好的方法来组织数据?