0

ユーザーと映画のデータベースを作成しようとしています。次に、ユーザーが映画をクリックして「視聴済み」としてマークできるようにします。

これを構造化するための最良の方法は何でしょうか。つまり、単純に「Watched」というテーブルを作成し、UserId をそのテーブルの MovieId にリンクして、ユーザーが特定の映画を視聴したことを示すことができるでしょうか。これは、視聴されている映画のすべてのインスタンスがテーブルにレコードを必要とすることを意味しますよね? データベース内の大量のスペースを占有する可能性があるようです。

これを行う簡単な方法はありませんか?あいまいに聞こえる場合は申し訳ありません。フェイスブックの「友達」に似ていると思います。発生した友情の各インスタンスがレコードとして記録されるテーブルがどこかにあるのでしょうか、それとも単に友達のリストを検索する方法があるのでしょうか、または何か、わかりません...どんな助けも大歓迎です、ありがとう!

4

2 に答える 2

2

「Watched」というテーブルを使用して、そのテーブルの UserId を MovieId にリンクするだけで、あなたの提案は正しいです。

このようにして、「Movies」テーブルと「Users」テーブルに対して、両側で 1 対多の関係を持つ正規化されたデータベースが作成されます。

また、データベースが非常に大きくなった場合に備えて、後でデータを取得するときにもパフォーマンス コストを節約できます。

于 2013-09-27T11:11:54.403 に答える