MS SQL Server 2012を使用しています。2 つのテーブルがあり、1 つは医師用、もう 1 つは手術センター用です。各テーブルには現在、医師や手術センターがレポート (電子メール、ファックスなど) を受け取る方法を説明する列が含まれています。両方のテーブルでこのデータを保持する列は同一です。各テーブルから配送方法の列を取り出して共通の配送方法テーブルを作成することを考えていますが、各行に医師と手術センターの両方の外部キーが必要です。配送方法と医師は1対1の関係なので面倒です。これと同じ関係が手術センターのテーブルにも存在します。
質問:
- 2 つの外部キーを持つテーブルを用意し、そのうちの 1 つを常に null にすることは良い習慣ですか?
- そのような場合に対処するための最善の戦略は何ですか。
医師と手術センターのテーブルから配信方法の情報を取得したい理由は、テーブル全体のサイズを小さくするためです。また、これにより、データがより適切に正規化されます。すべてのヘルプとガイダンスに感謝します。