SQL Serverのデータベース構造には、注文に関するさまざまな情報を必要とする3種類の製品があります。だから、私は1つ作成しCustomers、テーブルと三つの異なる受注テーブルを:OrdersForProductAs、OrdersForProductBs、OrdersForProductCs。すべての注文表には、1対多の関係がありCustomersます。
Payments支払いの詳細を内部に保持する別のテーブルもあります。しかし、ここでそれをどのように構成するかについて疑問があります。
複数の製品タイプがあり、顧客が複数の製品を同時に注文する可能性があるため、これら3つの注文テーブルをPaymentsテーブルに関連付ける必要があります。
もう1つの問題は、顧客が1種類の製品のみを注文する可能性があることです。したがって、PaymentsテーブルのFK列はである必要がありますnullable。
私の質問は、これらのnullableFKカラムが長期的には頭痛の種になるかどうかです。一般的に、テーブルにNULL入力可能FK列を設定することは悪い習慣と見なされますか?