ユーザーがタグをフォローできるマイクロブログ Web サイトを作成しています。Twitter のように、ユーザーは他のユーザーをフォローできます。私のプロジェクトでは、タグもフォローできます。タグフォローを実装するには、どのようなデータベース設計が必要ですか? ユーザーのフォローは簡単です。
1 つの方法は、投稿を含むテーブルに 5 つのタグ ID 列を含めることです。
表: 投稿
列: PostID、AuthorID、TimeStamp、Content、Tag1、Tag2...Tag5
カンマで区切られた 2 つのリストを作成します。1 つは特定のユーザーがフォローしているユーザー用で、もう 1 つは特定のユーザーがフォローしているタグ用です: $UserFollowingList と $TagFollowingList
選択クエリは次のようになります。
select ... from `Posts` where ($Condition1) or ($Condition2) order by `PostID` desc ...
$Condition1 = "`AuthorID` in $UserFollowingList"
$Condition2 = " ( `Tag1` in $TagFollowingList ) または ( `Tag2` in $TagFollowingList ) ... または ( `Tag5` in $TagFollowingList )"
より良い方法を提案してください。タグを 5 つに制限したくない場合はどうすればよいでしょうか。私にはアイデアがありますが、あなたのような開発者が何を経験するのか知りたいですか?