各ユーザーには、選択したカテゴリのセットがあり、選択されたカテゴリのみがサイト間で遭遇したときにユーザーに表示されます。StumbleUponはデータベースにカテゴリをどのように保存しますか?
私の質問はこれが1対多の関係ですか? 1人のユーザーIDのように、データベースの多くのカテゴリに接続されていますか?
すべてのカテゴリは1つのテーブルに格納されますか?
各ユーザーには、選択したカテゴリのセットがあり、選択されたカテゴリのみがサイト間で遭遇したときにユーザーに表示されます。StumbleUponはデータベースにカテゴリをどのように保存しますか?
私の質問はこれが1対多の関係ですか? 1人のユーザーIDのように、データベースの多くのカテゴリに接続されていますか?
すべてのカテゴリは1つのテーブルに格納されますか?
私はStumbleUponのを使用していないが、ここでは私の推測です決してました:
彼らはUser
テーブル、Category
テーブル、およびFavoriteCategory
テーブルを持っています。
Category
テーブルは、id
カラムとname
カラムを持ちます。 User
表はid
列、email
コラム、username
コラムなど
FavoriteCategory
テーブルマジックが起こるところであるがあります!
userId
カラムとcategoryId
カラムを持っています。ユーザーが新しいお気に入りのカテゴリを追加するたびに、新しいレコードがid
としてuserId
、カテゴリのid
がcategoryId
としてテーブルに追加されます。 1つのクエリ内のすべてのデータを取得するには、単純なINNER JOIN
が必要です。
このスキーマでは、ユーザーは好きなカテゴリを無制限に持つことができます。 :]
編集:約third normal formを読んでみてください。