ニュース サイトを作成していますが、ユーザーが Facebook からステータスを挿入できるようにしたいと考えています。ユーザーは、ニュースを書きながら、ニュースのどこにでもステータスを配置できます。ニュースを挿入したまま表示したい。
ニュースの内容の一例です
"一部のユーザーがテキストを挿入ステータス他のテキスト他のステータス別のテキスト別のステータス"
その場合、良いデータベース設計とは何かを考えています。ステータスには、それを書いたユーザー、日付、および内容があります。ニュースにはタイトル、説明、日付があります。
私は5つのテーブルを考え出しました。
表NewsHeader
id
NewsTitle
NewsDesc
NewsDate
User
Table NewsContent - ニュースのステータスまたはテキストからの ID とメッセージのみが含まれます
id
content
テーブルNewsContentDetails - ステータスの詳細が含まれています
id
ContentUser
ContentDate
Table NewsContentDetailsLink - NewsContentとNewsContentDetailsのジャンクション テーブル
NewsContentId
NewsContentDetailsId
Table NewsHeaderContent - NewsHeaderとNewsContentのジャンクション テーブル
NewsHeaderId
NewsContentId
それは良いデータベース設計ですか、それとももっと良い方法がありますか? ニュースを表示するときに、SQL クエリに多くの JOIN を記述する必要があり、遅くなることが懸念されます。
編集: @hrr によって提案された DB 設計
**News:**
ID | タイトル | コンテンツ | ユーザー | 日にち
**Elements:**
ID | コンテンツ | ユーザー | 日付 | ニュース_ID
しかし、要素の一部のフィールドは空になり、これは良い選択肢ではないと思います。
前もって感謝します :)