これは非常に一般的な設計上の問題であると思うので、私の質問はばかげているかもしれません。それには、単純で通常の解決策があると思います。
- 私はテーブルプロデューサーとテーブルムービーを持っています
- 1人のプロデューサーが多くの映画を制作しました
- 1人のプロデューサーが彼が制作したものの中で1つのお気に入りの映画を持っています
これをMySQLに実装するにはどうすればよいですか?
- プロデューサーと映画の間の1対多の関係に加えて、映画テーブルの「お気に入り」のブール属性
- 「生成された」関係を表す1対多の関係と「お気に入り」の関係を表す1対1の関係
最初の解決策は私にはもっと自然に思えますが、プロデューサーがお気に入りの映画を変更したい場合は、2番目の解決策の方が効率的だと思います。また、ソリューション#2を使用して、プロデューサーのお気に入りの映画を見つける方が効率的です。
私は何が欠けていますか?最善の解決策はありますか?そうでない場合は、ソリューション#1とソリューション#2を使用する必要がありますか?
(もちろん、私の問題は上記の例よりも少し複雑です...)