(これは重複している可能性が高いことは認識していますが、検索に基づいて回答が見つかりません)
ユーザーまたは会社に参加できる情報を含むテーブルがあります。この問題を解決するには、次の 3 つの方法があります。
- テーブルに join_user_id 列と join_company_id 列を指定し、2 つのうちの 1 つだけを入力します。
- join_id 列と joins_with_table 列を作成します
- メイン テーブルを複製して、2 つのバージョン (1 つは join_user_id のみ、もう 1 つは join_company_id のみ) が存在するようにします。
乾燥していないので、すぐに 3 を除外します。私の質問は、これらのうちどれが真に正規化された設計であるか (またはどれもでない) かということです。
次の欠点をどのように処理しますか? 2. 外部キー制約を適用するにはどうすればよいですか? 簡潔に参加するにはどうすればよいですか?