0

この状況に最適な設計ソリューションを見つけるのは非常に困難です。共通のベースを持つ 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 で両方のテーブルに結合したままにして、後で情報をフィルタリングすることです。私が見る他の唯一のオプションは、共通の列を各テーブルに追加することですが、その後、それらを正しい順序で取得するために多くの再編成が必要になります。

データを整理するためのより良い方法はありますか?

4

1 に答える 1