私が設計しているWebサイトの一部には、事前定義された値とカスタム値を指定するオプションの両方があるセクションがあります。場合によってはあらかじめ定義されていることもあり、時にはカスタムの値のデータベース設計
より簡単な例として、値が「スポーツ」であり、アプリケーションに事前定義されたスポーツがあると仮定しますが、一部のユーザーは自分が出てくるすべてを予測できないため、ユーザーは他のユーザーが入力したスポーツにアクセスすることはできません。
事前定義のスポーツとカスタムスポーツを同じテーブルに保存する必要がありますか?この場合、そのテーブルのuser_idカラムをnullにするか、あらかじめ定義されたスポーツのユーザとユーザIDを作成する必要があります。
名前でスポーツを検索するときは、ほとんどの場合、定義済みのスポーツとユーザー自身のカスタムスポーツの両方を検索したいので、事前定義されたスポーツとカスタムスポーツが分かれていれば、テーブル。
一方、それらが分離されていると、sport_idに基づいて外部キー関係を指定することが難しくなります。
このような状況にアプローチするにはどうすればよいでしょうか?
私はこれを答えとしてマークしましたが、質問に追加されたjugのコメントは答えと同じくらい良いです。 –