私の質問は、0から多くの関係に関連しています。たとえば、customerテーブルとOrderテーブルがあり、顧客が1つまたは複数の注文を持ち、注文が0または1つの顧客を持つことができる場合。ゼロになる可能性がある理由は、注文が、顧客の詳細が保持されていないレガシー注文システムからインポートされたためです。
私は2つのオプションがあると信じています:
- 顧客がいない注文の場合は、CustomerID(Ordersテーブルの外部ケット)をnullに設定します。
- CustomerIDとOrderIDを含む顧客と注文の間にジャンクションテーブルを作成します。しかし、ジャンクションテーブルは特に多対多の関係のためのものだと思いました
どちらが最良の選択肢ですか?
編集:
私は次の投稿を発見し、Molfの回答に同意します。これは、元の質問のオプション2です。必要なnull許容外部キーの例はありますか?。