この状況に最適な設計ソリューションを見つけるのは非常に困難です。共通のベースを持つ 2 つのテーブルがあります。現在、私は次のように設計しています: 注文テーブル (共通ベース) があります:
[order_table]
order_id
order_type
company
created
注文テーブルを参照する別のテーブルがあります。
[product_order]
order_id fk
product_id
quantity
price
order テーブルを参照する 2 番目のテーブルがあります。
[special_order]
order_id fk
description
price_estimate
color
size
両方のテーブルは、私が好きな同じ order_id を共有しています。多くの場合、order_table で利用可能な情報を使用して大規模なクエリを実行する必要があります。たとえば、'company = 200' とします。しかし、結果ごとに、そのタイプに応じて product_order または special_order からのデータも必要です。したがって、私が見る唯一の最適な解決策は、クエリを order_id で両方のテーブルに結合したままにして、後で情報をフィルタリングすることです。私が見る他の唯一のオプションは、共通の列を各テーブルに追加することですが、その後、それらを正しい順序で取得するために多くの再編成が必要になります。
データを整理するためのより良い方法はありますか?